Linha de Produção de Jogo Móveis Danilo Cavalcanti Torres - dct.

18
Linha de Produção de Jogo Móveis Danilo Cavalcanti Torres - dct

Transcript of Linha de Produção de Jogo Móveis Danilo Cavalcanti Torres - dct.

Page 1: Linha de Produção de Jogo Móveis Danilo Cavalcanti Torres - dct.

Linha de Produção de Jogo Móveis

Danilo Cavalcanti Torres - dct

Page 2: 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

Page 3: Linha de Produção de Jogo Móveis Danilo Cavalcanti Torres - dct.

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

Page 4: Linha de Produção de Jogo Móveis Danilo Cavalcanti Torres - dct.

Estudo de Caso

TETRIS

Page 5: Linha de Produção de Jogo Móveis Danilo Cavalcanti Torres - dct.
Page 6: Linha de Produção de Jogo Móveis Danilo Cavalcanti Torres - dct.

Features

1. Tamanho da Telao Mecanismo: Compilação Condicional

- Arquivo de Propriedades (?)- Herança (?)- Aspectos (?)

o Novas Variações: Novos tamanhos de tela

Page 7: Linha de Produção de Jogo Móveis Danilo Cavalcanti Torres - dct.

Features

2. Escolha do Levelo Mecanismo: Compilação Condicional

» VS (Vocabulary Size)

o Novas Variações: Escolher um level já concluído

Page 8: Linha de Produção de Jogo Móveis Danilo Cavalcanti Torres - dct.

Features

3. Mostrar Próxima Peçao Mecanismo: Compilação Condicional

» VS (Vocabulary Size)

Page 9: Linha de Produção de Jogo Móveis Danilo Cavalcanti Torres - dct.

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

Page 10: Linha de Produção de Jogo Móveis Danilo Cavalcanti Torres - dct.

Reestruturação

• Feature: Escolher Level– Pontos de Variação:

• Atributo level da classe example.tetris.TetrisMidlet

Page 11: Linha de Produção de Jogo Móveis Danilo Cavalcanti Torres - dct.

Reestruturação

• Feature: Mostrar Próxima Peça– Pontos de Variação:

• Atributo nextPieceBox da classe example.tetris.ui.TetrisCanvas

Page 12: Linha de Produção de Jogo Móveis Danilo Cavalcanti Torres - dct.

Novas Variações introduzidas

• Feature: Tamanho da Tela– Um novo tamanho de tela:

Page 13: Linha de Produção de Jogo Móveis Danilo Cavalcanti Torres - dct.

Novas Variações introduzidas

• Feature: Escolher Level do Jogo– Escolher apenas um level já jogado:

Page 14: Linha de Produção de Jogo Móveis Danilo Cavalcanti Torres - dct.

Gráfico de Clones pré Reestruturação

Page 15: Linha de Produção de Jogo Móveis Danilo Cavalcanti Torres - dct.

Gráfico de Clones pós Reestruturação

Page 16: Linha de Produção de Jogo Móveis Danilo Cavalcanti Torres - dct.

Dificuldades

• Problemas com a execução do CCFinder

Page 17: Linha de Produção de Jogo Móveis Danilo Cavalcanti Torres - dct.

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.

Page 18: Linha de Produção de Jogo Móveis Danilo Cavalcanti Torres - dct.

Conclusões

• Na parte 2 do projeto conseguimos extrair mais variações de forma mais adequada

• Ferramentas ainda precárias, porém úteis