Projetando jogos em Java ME que se adaptem a circunstâncias diversas
Dados do artigo
Artigo
Hoje a maioria dos desenvolvedores de games escolhem a estratégia de criar vários arquivos JAR para cada plataforma J2ME.
Este artigo sugere um metódo alternativo: Um arquivo JAR para diferentes plataformas J2ME. Em "plataformas diferentes" eu digo, aparelhos com diferentes resoluções de tela, tamanho da memória Heap, API's disponíveis etc.
Contents |
Principais decisões ao projetar um aplicação independente de plataforma
Não importe (import) classes de API's adicionais
No lugar use o método Class.forName().
Por exemplo:
try {
Class.forName( "com.nokia.mid.ui.FullCanvas");
return PLATFORM_NOKIA;
} catch (Throwable ex) {}
Se você usar 'imports' seu games/aplicação pode não ser instalado corretamente em todos os aparelhos alvos.
UI e elementos do game independentes de resolução
Game designers precisam projetar a Interface de Usuário do game independede da resolução de tela. Isto significa que as coordenadas da UI e dos elementos do game não podem ser hardcoded (codificadas de forma fixa, diretamente no código). Ao invés disso você precisa determinar a posição e o tamanho da UI e dos elementos do games, dependendo da resolução atual ('on run') do aparelho em uso.
Para que todos os textos sejam legíveis normalmente, nos aparelhos alvo, use system fonts (fontes do sistema). Mas preste atenção que a UI precisa ser especifica para o tamanho atual da fonte em altura e largura.
Não use funções específicas de alguma plataforma
Por examplo:
- Evite o uso da funcionalidade da Nokia UI API para implementar vibração em dispositivos, porque não funciona nos aparelhos Nokia S60.
- Nos aparelhos Samsung devices é necessário chamar o metódo System.gc() para limpar a memória Heap de imagens desnecessária, mas você não deve chamar, pois em outro aparelhos para evitar atrasos (lags).
Use controles independentes de plataforma
Como usar isto é apresentado neste artigo: Platform_independent_key_events_processing
Teste seu game/aplicação em cada plataforma alvo
Para garantir que seu game/aplicação trabalhar corretamente em todos os aparelhos alvos é recomendado o teste do game/aplicação em aparelhos reais ou usar o programa do Nokia Developer Remote Device Access.
Benefícios dos games/aplicações independentes de plataforma
- Redução do custo e tempo no desenvolvimento de um game/aplicação;
- Simplificação do suporte e no desenvolvimento da equipe de marketing porque é apenas um arquivo JAR;
- O mesmo game para todas as plataformas;
- Simplificação na distribuição;
- Evolução do produto e aprimoramentos simplificados;
Pequenos acréscimos
- Insignificante aumento do tamanho do aquivo JAR, por causa de funcionalidades para todas as plataformas serão incluidas em apenas um arquivo;
- O desenvolvimento é limitado para uma "minoria" de aparelhos de uma grande quantidade suportada;
Sumário
Como você pode ver, desenvolver game/aplicativos para plataformas independentes é uma alternativa real para a estratégia de vários arquivos JAR a qual é uma preciável na redução do tempo de desenvolvimento e a consequente redução dos custos para este desenvolvimento.


(no comments yet)