# Plano de Gerenciamento de Configuração de Software

O seguinte plano de gerenciamento de configuração de software descreve os principais objetivos e requisitos do projeto, além das ferramentas utilizadas para a implantação da gerência de configuração dentro do jogo Dauphine.

#### O que é?

Dauphine é um jogo de plataforma com temática medieval e fantasia. Alguns elementos stealth também estão presentes dentro do jogo. Pode ser jogado por apenas um jogador, usando o teclado para controlar a personagem durantes os estágios do jogo.

#### Repositório

O repositório do jogo pode ser encontrado no seguinte link:
https://github.com/fgagamedev/Dauphine

#### Objetivo

O objetivo deste trabalho e disponibilizar o jogo para plataformas linux e windows, fazendo também a automatização dos ambientes de desenvolvimento para futuras contribuições no código.

#### Atividades

* Utilização de Cmake para geração de builds do projeto;
* Automatização da instalação de dependências do projeto via receitas chef;
* Configuração de ambiente e empacotamento Debian (.deb);
* Configuração de ambiente e empacotamento RPM (.rpm);
* Atualização do README;
* Manual para jogadores;

# Gerência de Configuração
#### Responsabilidades

| Gerente de Configuração de Software | Planejar e gerenciar atividades relacionada à gerência de configuração de software | Daniel Henrique |
Ferramentas
| Ferramenta | Descrição |
| Vagrant | Vagrant é um software que faz o interfaceamento com um software de gerência de máquinas virtuais. |
| VirtualBox | VirtualBox é um software que faz o gerenciamento de máquinas virtuais e é utilizado em conjunto com o Vagrant. |
| Github | Plataforma de sistema de controle de versão |
| Debian | Sistema operacional que será utilizado na máquina virtual de empacotamento. |
| Cmake | Software livre e multi-plataforma para gerenciamento e criação de builds. |
| Chef | Software para configuração de ambientes automatizados. |
| Centos | Sistema operacional para empacotamento rpm. |

### Cronograma

| Atividade | Data |
| Elaboração do Plano de Gerência de Configuração de Software | 24/04/2017 |
| Trocar geração de build para o CMake | 02/05/2017 |
| Automatizar configuração de dependências do jogo (ambiente dev) | 09/05/2017 |
| Configurar ambiente para realizar empacotamento .deb | 17/05/2017 |
| Empacotamento Debian | 25/05/2017 |
| Configurar ambiente para empacotamento rpm | 25/05/2017 |
| Empacotamento .rpm | 27/05/2017 |
| Atualização do README e manual para jogadores | 06/06/2017 |
| Revisão Cmake e build para Windows | 15/06/2017 |

## Execução das atividades
### Repositório

Todas as alterações realizadas durante este trabalho podem ser vistas no repositório: https://github.com/danielhmarinho/Dauphine

### Ambiente de desenvolvimento

O ambiente de desenvolvimento foi configurado a partir de uma máquina virtual. O provedor desta máquina virtual é o virtualbox. Com o apoio de um arquivo vagrant para controlar a máquina e uma receita chef para a pré-configuração da mesma, foi desenvolvido um ambiente para implementação de código fonte.
Segue abaixo os arquivos de configuração e alguma observações em relação aos mesmos:
Vagrantfile
Este arquivo define que a criação da máquina virtual será feita a partir de uma distribuição Debian. Também adiciona a receita criada e define que o ambiente gráfico deve ser ativado, já que para desenvolvimento de um jogo precisamos que a interface gráfica esteja habilitada.

### Receita Chef

Esta receita define os pacotes necessário para a instalação, configura o Lua e ainda compila os arquivos necessários para gerar o binário do jogo.
OBS: Após a execução do script o ambiente gráfico precisa ser habilitado. Basta rodar o seguinte comando na máquina virtual:
OBS2: HABILITE O ÁUDIO DENTRO DA MÁQUINA VIRTUAL!

### Pacote Debian

O pacote debian foi criado para a instalação das dependências do projeto e criação do binário do jogo de forma automatizada para fácil disponibilização aos usuários.
Abaixo alguns arquivo importantes sobre o empacotamento. A instalação do pacote é feita em /usr/games/dauphine. Para executar o jogo basta executar o binário gerado dentro do diretório. O pacote debian está disponível no seguinte link: https://www.dropbox.com/s/p7wxi07cvzsreaj/dauphine_1.0.0-1_amd64.deb?dl=0
Arquivo control:
Arquivo de rules: