7 Keys

Fonte: Wikiversidade
Saltar para a navegação Saltar para a pesquisa

Plano de Gerência de Configuração de Software[editar | editar código-fonte]

Introdução[editar | editar código-fonte]

Logo do jogo 7 Keys

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]

Objetivos[editar | editar código-fonte]

Os principais objetivos da gerência de configuração do projeto são:

  1. Integração Contínua: Configurar a integração contínua no repositório oficial do projeto.
  2. Política de branches: Definir a política de commits e branches da aplicação.
  3. Manual de Configuração: Criar um manual de configuração de ambiente para contribuidores.
  4. 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:

  1. Baixar o arquivo .deb no seguinte link:

https://drive.google.com/file/d/0B8dhRFIss-qiblVlRU9lS2dDeE0/view?usp=sharing

  1. Instalar o arquivo .deb, com o seguinte comando:
sudo dpkg -i package.deb
  1. 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:

  1. Baixar o arquivo .rpm, no seguinte link:

https://drive.google.com/file/d/0B8dhRFIss-qiYlk3MU5oMVQtVDA/view?usp=sharing

  1. Instalar o arquivo .rpm, com o seguinte comando:
sudo rpm -i 7keys-1.0-1.x86_64.rpm
  1. 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:

  1. Clonar o repositório do jogo, no seguinte link:

https://github.com/jpbusche/ManaTeam

  1. Após clonado, fazer a build do código, com o seguinte comando:
cmake .
  1. Compilar o código, com o seguinte comando:
make
  1. 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]