Informazioni sulla personalizzazione o sul trasferimento dei motori di gioco

Strumenti, stelle, pianeta Se utilizzi C o C++ per sviluppare o personalizzare un motore grafico, i seguenti requisiti sono fondamentali per l'integrazione del supporto Android nel tuo motore.

  • Sfrutta gli strumenti di sviluppo Android
  • Costruire un'attività
  • Disegna sullo schermo
  • Elabora gli eventi di input
  • Uscita audio
  • Gestisci la memoria
  • Testa e perfeziona
  • Pubblica su Google Play

I requisiti descritti in questa pagina non insegnano come sviluppare un motore di gioco da zero, ma identificano piuttosto le aree in cui Android è relativamente unico rispetto ad altre piattaforme.

Sfrutta gli strumenti di sviluppo Android

Android Studio include strumenti che puoi usare per:

  • Configura il progetto
  • Crea, sottoponi a debug e pacchettizza il tuo gioco
  • Esamina le prestazioni del gioco usando profilatori di sistema, CPU e memoria
  • Controlla i contenuti del pacchetto o del bundle di applicazioni del tuo gioco
  • Integra funzionalità aggiuntive dell'SDK Android e di NDK

L'ispettore grafica Android può caratterizzare le prestazioni del rendering del tuo gioco e aiutarti a esaminare i dettagli dei frame visualizzati utilizzando la profilazione dei frame.

Se usi principalmente Microsoft Visual Studio, puoi usare l'estensione Android Game Development (AGDE) per aggiungere un target Android ai progetti esistenti. AGDE supporta il debug nativo in Visual Studio e include versioni autonome di molti degli strumenti di profilazione di Android Studio.

Costruire un'attività

Il gioco deve creare e interagire con un Activity. Scopri di più sul ciclo di vita delle attività su Android per capire quando un'attività viene creata, avviata, ripresa, messa in pausa, arrestata ed eliminata.

Scopri di più sulla libreria GameActivity, che integra e soddisfa le esigenze relative a Activity (finestra di gioco, ciclo di vita, rendering, gestione degli eventi) dei motori di gioco nativi C o C++.

Disegna sullo schermo

Il gioco deve disegnare oggetti e sprite sullo schermo. Scopri di più su SurfaceView per Android e su come configurare la grafica nel tuo motore grafico.

I dispositivi Android supportano diverse frequenze di aggiornamento del display. Scopri di più sul rendering nei cicli di gioco per evitare interruzioni dei frame e glitch nei buffer dei frame.

Leggi come ottenere il pacing dei frame per un rendering fluido in OpenGL e Vulkan. Ottimizza la frequenza fotogrammi con Performance Tuner.

Utilizza l'anti-aliasing multicampione (MSAA) per migliorare la qualità del rendering. L'MSAA può essere utilizzato con un overhead minimo. Per saperne di più, consulta il post del blog Multisampled Anti-aliasing For Quasi Free - On Tile-Based Rendering Hardware.

Elabora gli eventi di input

Un motore grafico riceve eventi di input da diverse origini. Per un'esperienza di gioco coinvolgente, impara a supportare diverse origini di input Android:

Uscita audio

Il tuo motore grafico deve riprodurre l'audio su diversi dispositivi e versioni di Android. Scopri di più su Oboe, la nostra libreria audio C++ open source per incorporare audio ad alte prestazioni nel tuo gioco.

Utilizza Oboe per ottenere la latenza più bassa, evitare bug audio specifici e selezionare automaticamente la migliore libreria nativa disponibile (come AAudio o OpenSL ES).

Gestisci la memoria

Sui dispositivi Android, il sistema cerca di utilizzare la quantità di memoria di sistema (RAM) possibile ed esegue varie ottimizzazioni della memoria per liberare spazio quando necessario. Scopri come gestire l'utilizzo della memoria per evitare di rallentare o uscire dal gioco.

Testa e perfeziona

Un'app per Android ha un arresto anomalo ogni volta che si verifica un'uscita imprevista causata da un indicatore o un'eccezione non gestito. Scopri come rilevare e diagnosticare gli arresti anomali, leggere le analisi dello stack, le eccezioni di memoria e networking, come utilizzare Logcat e comprendere gli errori specifici di Java e Kotlin.

Pubblica su Google Play

I giocatori scaricano il tuo gioco con vari dispositivi Android in diversi paesi, condizioni della rete e piani dati. Scopri come utilizzare Google Play per pubblicare app bundle e pacchetti di asset per giochi di grandi dimensioni con i vantaggi di una rete CDN (Content Delivery Network).