linha de produção de jogo móveis danilo cavalcanti torres - dct
TRANSCRIPT
Linha de Produção de Jogo Móveis
Danilo Cavalcanti Torres - dct
Contextualização
• Constante crescimento do número de dispositivos móveis
• Cada vez mais aplicações móveis de todos os tipos (ex.: jogos)
• Incompatibilidade dos aparelhos– Tamanho de tela– API específica do fabricante– Exigências das operadoras– Quantidade de memória do aparelho
Porting
• Última fase do ciclo de desenvolvimento de jogos móveis
• Tem a função de portar o jogo para o maior número de aparelhos possíveis
Na Meantime já foram geradas mais de 2.000 builds diferentes para um mesmo jogo
Estudo de Caso
TETRIS
Features
1. Tamanho da Telao Mecanismo: Compilação Condicional
- Arquivo de Propriedades (?)- Herança (?)- Aspectos (?)
o Novas Variações: Novos tamanhos de tela
Features
2. Escolha do Levelo Mecanismo: Compilação Condicional
» VS (Vocabulary Size)
o Novas Variações: Escolher um level já concluído
Features
3. Mostrar Próxima Peçao Mecanismo: Compilação Condicional
» VS (Vocabulary Size)
Reestruturação
• Feature: Tamanho da Tela– Pontos de Variação:
• Atributo WIDTH da classe example.tetris.TetrisConstants• Atributo HEIGHT da classe example.tetris.TetrisConstants
// #ifdef nokia5310public static final int WIDTH = 10; // number of grid blockspublic static final int HEIGHT = 20; // number of grid blocks// #else// @ public static final int WIDTH = 15; // number of grid blocks// @ public static final int HEIGHT = 30; // number of grid blocks// #endif
Reestruturação
• Feature: Escolher Level– Pontos de Variação:
• Atributo level da classe example.tetris.TetrisMidlet
Reestruturação
• Feature: Mostrar Próxima Peça– Pontos de Variação:
• Atributo nextPieceBox da classe example.tetris.ui.TetrisCanvas
Novas Variações introduzidas
• Feature: Tamanho da Tela– Um novo tamanho de tela:
Novas Variações introduzidas
• Feature: Escolher Level do Jogo– Escolher apenas um level já jogado:
Gráfico de Clones pré Reestruturação
Gráfico de Clones pós Reestruturação
Dificuldades
• Problemas com a execução do CCFinder
Atividades – Tempo
Atividade Técnica Tempo
Identificação de features 2 hora
Desenho do modelo de features
4 horas
Outras atividades iniciais 6 horas
Extração da feature 1 Manualmente 3 horas
Inclusão do ponto de variação
Manualmente 1 hora
Adição da variação 2 Flip 0.5 horas
Reestruturação do ponto de variação V
3 horas
Montagem do configuration knowledge
3 horas
Quando técnica não for aplicável, deixar em branco.Procurar detalhar cada atividade realizada e tempo associado.
Conclusões
• Na parte 2 do projeto conseguimos extrair mais variações de forma mais adequada
• Ferramentas ainda precárias, porém úteis