Subscribe:

About

segunda-feira, 16 de julho de 2012

Atualização

Bem, não é exatamente um relatório semanal, mas achamos útil registrar aqui como anda o desenvolvimento do projeto Shadow Struggles. Entretanto, como dito no post anterior, o fato é que não havia sido feito um avanço significativo para ser registrado.

Documento de game design


Foi iniciado um documento de game design (GDD) para documentar aspectos mais específicos do jogo, como roteiro e descrição dos mapas e cartas. O roteiro em inglês está finalizado, bem como a descrição dos mapas, restando agora terminar de detalhar as cartas, partidas do modo campanha, IA dos oponentes e quaisquer outros pontos adicionais que venham a surgir.

O documento pode ser acessado aqui:




Design de alto nível


Seguindo as orientações do livro Engenharia de Sistemas para Leigos, leitura para a disciplina de Teoria e Desenvolvimento de Sistemas, iniciamos um design de alto nível contemplando o conjunto inicial de requisitos e planos de teste. Para os requisitos funcionais:

  • Vermelho indica que o requisito é obrigatório para a avaliação do sistema como funcional;
  • Amarelo indica que o requisito é desejável, mas não afeta a funcionalidade plena do sistema;
  • Já os requisitos em verde podem ser removidos sem comprometerem a qualidade ou funcionalidade do sistema.
  • Retas tracejadas mostram uma relação entre um requisito e seu plano de verificação ou refinamento.

Requisitos funcionais de design e jogabilidade. Clique para expandir.

Requisitos funcionais de modalidade e configurabilidade. Clique para expandir.

Requisitos não funcionais. Clique para expandir.

Arquitetura do projeto


Foi elaborada uma estrutura geral de organização que deve guiar a implementação do jogo. Por enquanto é apenas uma visão geral em alto nível das camadas, mas a intenção é refiná-la cada vez mais e complementar com diagramas adicionais.

Clique para expandir.

A camada de visualização é dividida em interface de navegação, basicamente a estrutura de navegação através de menus, e interface de batalha, que exibirá os gráficos e receberá os inputs do usuário durante uma partida.

Logo abaixo vem a camada lógica, responsável por interpretar as jogadas, aplicar as regras e retornar as respectivas consequências. A plataforma genérica é responsável pelas tarefas básicas de todas as partidas: carregar mapas, inicializar valores etc. Isso busca separar a lógica da partida em si da manipulação dos dados, que podem vir de um banco de dados, arquivo XML, script ou qualquer outro meio de armazenamento, além de proporcionar um grau de customização individual para cada partida.

Nos níveis mais baixos estão os dados, recursos e a camada interpretadora, responsável pela comunicação com esse meio externo. No lado esquerdo estão listados os testes previstos.

Linguagem de script


Pensamos em utilizar scripts para auxiliar na construção das entidades do jogo. Isso facilitaria bastante a customização de diversos aspectos sem ser necessário fazer alterações profundas no código da aplicação, permitindo também que mesmo os que não estiverem envolvidos diretamente com a implementação possam ajudar na programação dos scripts. A principal utilização seria programar a IA dos oponentes.

No momento, o principal entrave é a compatibilidade com Android. Em primeiro momento cogitamos a possibilidade de usar Groovy, mas este ainda não encontra suporte pleno na plataforma. Uma boa alternativa parece ser BeanShell. Enfim, o tópico ainda está sendo pesquisado e esperamos trazer uma conclusão no próximo relatório.

Reunião


Pretendemos realizar uma reunião com todos os membros da equipe para coordenar os esforços, trocar experiências e tomar algumas decisões importantes à respeito do projeto. A pauta será decidida em breve e publicada aqui no blog.

0 comentários:

Postar um comentário