7 Keys
Plano de Gerência de Configuração de Software
[editar | editar código-fonte]Introdução
[editar | editar código-fonte]Visão Geral
[editar | editar código-fonte]Este documento tem como demonstrar como será feito o plano de gerência de configuração de software do jogo 7 Keys. Neste documento serão abordados o contexto do jogo, os objetivos de gerência, os papéis e responsabilidades da equipe, as ferramentas a serem utilizadas e o cronograma.
Contexto
[editar | editar código-fonte]7 Keys foi um jogo desenvolvido na matéria de Introdução aos Jogos Eletrônicos em conjunto com as matérias de Musica para Jogos e Design para Jogos, da Universidade de Brasília. E um jogo no estilo stealth e roguelike, cujo principal objetivo é fugir do sanatório. Desenvolvido na linguagem C++, utilizando a biblioteca SDL.
Sobre o Jogo
[editar | editar código-fonte]- Repositório: https://github.com/jpbusche/ManaTeam
Objetivos
[editar | editar código-fonte]Os principais objetivos da gerência de configuração do projeto são:
- Integração Contínua: Configurar a integração contínua no repositório oficial do projeto.
- Política de branches: Definir a política de commits e branches da aplicação.
- Manual de Configuração: Criar um manual de configuração de ambiente para contribuidores.
- Empacotamento Linux: Empacotar o jogo para instalação em sistemas operacionais baseados no Linux.
Papéis e Responsabilidades
[editar | editar código-fonte]Papel | Responsabilidade | Responsáveis |
---|---|---|
Desenvolvedor | Desenvolver funcionalidades do jogo | Bruno Bragança, Lucas Rufino e Paulo Markes |
Gerente de configuração de software | Planejar e gerenciar atividades de configuração de software do jogo | André Bedran e João Paulo Busche |
Auditor de configuração de software | Realizar auditorias e validar atividades | Matheus Faria |
Ferramentas
[editar | editar código-fonte]Ferramenta | Descrição |
---|---|
Git | Sistema de controle de versão dos arquivos do jogo. |
GitHub | Repositório remoto escolhido para hospedagem dos arquivos e que auxiliará no processo da política de branches. |
Travis CI | Serviço web de integração contínua para projetos do GitHub. |
GNU Make | Utilitário que contém instruções para a construção automática do código-fonte e de dependências. |
CMake | Software responsável pela construção e compilação de códigos. |
Vagrant | Programa para gerenciamento de ambientes virtuais. |
Cronograma
[editar | editar código-fonte]- Escolha do jogo para projeto
- Plano de Gerência de Configuração de Software
- Ponto de Controle 1
- Politica de Commits
- Integração Contínua
- Mudança para compilar com CMake
- Ponto de Controle 2
- Empacotamento .rpm
- Configuração do ambiente virtual Debian
- Empacotamento .deb
- Apresentação Final
Política de Commits
[editar | editar código-fonte]Comentário do Commit
[editar | editar código-fonte]Os nomes dos commits devem ser relevantes ao conteúdo inserido ou retirado do repositório. Devem ser inscritos em língua Inglesa e conteúdo significativo, suficiente para identificação do que e onde houve alteração de código. Devem tamber ter o código da issue o qual aquele commit engloba. Exemplo:
git commit -m "issue #X Added first list of mailing lists in manage subscriptions"
Pareamento no Commit
[editar | editar código-fonte]O commit deverá estar associado diretamente a um membro da equipe. No caso de pareamento, o commit deve possuir a assinatura de ambos. O commit deverá ter uma descrição para indicar o que foi solucionado.Quando houver pareamento podemos editar o commit de duas formas diferentes:
- git commit --author user_name: Em que o user_name é o nome do usuário com o qual está pareando.
- git commit -s: Este comando abrirá o editor de texto e deverá seguir o seguinte padrão: O título para o commit, o nome da tarefa em desenvolvimento, uma breve descrição para o que foi feito naquele commit e o Signed-off-by: "Nome do Usuario" example@email.com mesmo se o commit foi dado apenas por uma pessoa. Ao fazer pareamento ou dojo deve haver o Signed-off-by com todos os contribuidores.
Execução do Jogo
[editar | editar código-fonte]Dependências
[editar | editar código-fonte]Para a execução deste jogo, em qualquer sistema operacional, o sistema precisa ter as seguintes bibliotecas instaladas:
- CMake: para a compilação do jogo.
- SDL2: biblioteca responsável pela criação e execução do jogo.
Sistemas Operacionais Debian
[editar | editar código-fonte]Para executar o jogo em sistemas operacionais derivados do debian, deve-se seguir os seguintes passos:
- Baixar o arquivo .deb no seguinte link:
https://drive.google.com/file/d/0B8dhRFIss-qiblVlRU9lS2dDeE0/view?usp=sharing
- Instalar o arquivo .deb, com o seguinte comando:
sudo dpkg -i package.deb
- Executar o jogo, com o seguinte comando:
7keys
Sistemas Operacionais Red Hat
[editar | editar código-fonte]Para executar o jogo em sistemas operacionais derivados do red hat, deve-se seguir os seguintes passos:
- Baixar o arquivo .rpm, no seguinte link:
https://drive.google.com/file/d/0B8dhRFIss-qiYlk3MU5oMVQtVDA/view?usp=sharing
- Instalar o arquivo .rpm, com o seguinte comando:
sudo rpm -i 7keys-1.0-1.x86_64.rpm
- Executar o jogo, com o seguinte comando:
7keys
Outros Sistemas Operacionais
[editar | editar código-fonte]Para executar o jogo em outros sistemas operacionais que não seja os citados acima, deve-se seguir os seguintes passos:
- Clonar o repositório do jogo, no seguinte link:
https://github.com/jpbusche/ManaTeam
- Após clonado, fazer a build do código, com o seguinte comando:
cmake .
- Compilar o código, com o seguinte comando:
make
- Executar o jogo, com o seguinte comando:
./7keys
Conclusão
[editar | editar código-fonte]Pontos Positivos
[editar | editar código-fonte]- Aprendizado sobre como realizar uma boa gerência de configuração de software;
- Aprendizado sobre ferramentas de gerência de configuração de software;
- A prática realizada em um projeto;
Pontos Negativos
[editar | editar código-fonte]- Dificuldade no empacotamento .rpm
- Pasta de assets não e lida pelo empacotamento .rpm
Referências
[editar | editar código-fonte]- About SDL. (n.d.). Acessado em 23/04/2017, de https://www.libsdl.org/index.php
- Git Documentation. (n.d.). Acessado em 23/04/2017, de https://git-scm.com/doc
- Build software better, together. (n.d.). Acessado em 23/04/2017, de https://github.com/about
- Travis. (n.d.). Acessado em 23/04/2017, de https://docs.travis-ci.com/
- Gnu.org. (n.d.). Acessado em 23/04/2017, de https://www.gnu.org/software/make/