Se você estiver usando C ou C++ para desenvolver ou personalizar um mecanismo de jogo, os requisitos a seguir serão essenciais para integrar a compatibilidade do Android ao mecanismo do jogo.
- Aproveitar as ferramentas de desenvolvimento do Android
- Criar uma atividade
- Desenhar na tela
- Processar eventos de entrada
- Áudio de saída
- Gerenciar memória
- Testar e aperfeiçoar
- Publicar no Google Play
Os requisitos descritos nesta página não ensinam como desenvolver um mecanismo de jogo do zero, mas a identificar as áreas em que o Android é relativamente único se comparado a outras plataformas.
Aproveitar as ferramentas de desenvolvimento do Android
O Android Studio inclui ferramentas que você pode usar para:
- configurar seu projeto;
- criar, depurar e empacotar seu jogo;
- examinar o desempenho do seu jogo usando criadores de perfis de sistema, CPU e memória;
- inspecionar o conteúdo do pacote de apps ou do pacote do jogo;
- integrar outros recursos do NDK e SDK do Android.
O Android Graphics Inspector pode caracterizar o desempenho de renderização do jogo e ajudar a investigar os detalhes dos frames renderizados usando a criação de perfil de frames.
Se você estiver usando principalmente o Microsoft Visual Studio, poderá usar a Android Game Development Extension (AGDE) para adicionar um destino do Android a projetos existentes. A AGDE é compatível com a depuração nativa no Visual Studio e inclui versões autônomas de muitas das ferramentas de criação de perfil do Android Studio.
Criar uma atividade
Seu jogo precisa criar uma Activity
e interagir com ela. Saiba mais sobre o
ciclo de vida da atividade
no Android para entender quando uma atividade é criada, iniciada, retomada, pausada,
interrompida e destruída.
Leia sobre a biblioteca GameActivity
,
que integra e atende às necessidades relacionadas à Activity
(janela do jogo,
ciclo de vida, renderização, eventos de gerenciamento) de mecanismos de jogos nativos em C ou C++.
Desenhar na tela
Seu jogo precisa desenhar objetos e sprites na tela. Saiba mais sobre a
SurfaceView
do Android e como
configurar elementos gráficos no mecanismo do jogo.
Os dispositivos Android são compatíveis com diferentes taxas de atualização de tela. Saiba mais sobre a renderização em loops de jogo para evitar quedas de frames e falhas de buffers de frame.
Saiba como atingir o ritmo de frames para processar a renderização no OpenGL e no Vulkan. Otimize o frame rate com o Performance Tuner.
Use o anti-aliasing multiamostra (MSAA, na sigla em inglês) para melhorar a qualidade da renderização. O MSAA pode ser usado com pouquíssima sobrecarga. Para saber mais, consulte a postagem do blog Anti-aliasing multiamostrado quase sem custo financeiro — em hardware de renderização baseada em blocos (em inglês).
Processar eventos de entrada
Um mecanismo de jogo recebe eventos de entrada de várias fontes. Para ter uma experiência de jogo imersiva, aprenda a oferecer compatibilidade com diferentes fontes de entrada do Android:
Áudio de saída
O mecanismo de jogo precisa produzir áudio em diferentes dispositivos e versões do Android. Saiba mais sobre a Oboe, nossa biblioteca de áudio C++ de código aberto para incorporar áudio de alto desempenho ao seu jogo.
Use a Oboe para ter a menor latência, evitar bugs de áudio específicos e selecionar automaticamente a melhor biblioteca nativa disponível, como AAudio ou OpenSL ES.
Gerenciar memória
Em dispositivos Android, o sistema tenta usar o máximo possível de memória do sistema (RAM) e executa várias otimizações de memória para liberar espaço quando necessário. Aprenda a gerenciar o uso da memória para evitar a lentidão ou saída do jogo.
Testar e aperfeiçoar
Um app Android falha sempre que há uma saída inesperada causada por uma exceção ou um sinal não processado. Aprenda a detectar e diagnosticar falhas, ler stack traces, exceções de memória e rede, como usar o logcat e como entender erros específicos de Java e Kotlin.
Publicar no Google Play
Os jogadores fazem o download do seu jogo com vários dispositivos Android em diferentes países, condições de rede e planos de dados. Saiba como usar o Google Play para enviar pacotes de apps e de recursos para jogos grandes com os benefícios de uma rede de fornecimento de conteúdo.