Sobre a personalização ou a portabilidade de mecanismos de jogo

Ferramentas, estrelas, planeta Se você usa C ou C++ para desenvolver ou personalizar um mecanismo de jogo, os requisitos a seguir são essenciais para integrar o suporte do Android ao seu mecanismo.

  • 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 seu jogo e ajudar você a investigar os detalhes dos frames renderizados usando a criação de perfis 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.

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 usando vários dispositivos Android em diferentes países, condições de rede e planos de dados. Aprenda a 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.