Si vous utilisez C ou C++ pour développer ou personnaliser un moteur de jeu, les exigences suivantes sont essentielles pour intégrer la compatibilité avec Android dans votre moteur de jeu.
- Tirer parti des outils de développement Android
- Créer une activité
- Dessiner à l'écran
- Traiter les événements d'entrée
- Assurer la sortie audio
- Gérer la mémoire
- Tester et finaliser
- Publier sur Google Play
Les exigences décrites sur cette page ne visent pas à vous expliquer comment développer un moteur de jeu de A à Z, mais plutôt à identifier les domaines dans lesquels Android se distingue des autres plates-formes.
Tirer parti des outils de développement Android
Android Studio inclut des outils que vous pouvez utiliser pour les tâches suivantes :
- Configurer votre projet
- Développer et déboguer votre jeu et le convertir en package
- Examiner les performances de votre jeu à l'aide des profileurs de système, de processeur et de mémoire
- Inspecter le contenu du package ou de l'app bundle de votre jeu
- Intégrer des fonctionnalités supplémentaires du NDK et du SDK Android
Android Graphics Inspector peut évaluer les performances de rendu de votre jeu et vous aider à examiner les images rendues en détail à l'aide du profilage des images.
Si vous utilisez principalement Microsoft Visual Studio, vous pouvez utiliser l'extension Android Game Development (AGDE) pour ajouter une cible Android à des projets existants. AGDE est compatible avec le débogage natif dans Visual Studio et inclut des versions autonomes de nombreux outils de profilage d'Android Studio.
Créer une activité
Votre jeu doit créer une activité (Activity
) et interagir avec elle. Découvrez le cycle de vie d'une activité sur Android pour comprendre quand une activité est créée, démarrée, réactivée, mise en pause, arrêtée et détruite.
Découvrez la bibliothèque GameActivity
, qui intègre et répond aux besoins liés aux activités Activity
(fenêtre de jeu, cycle de vie, rendu, traitement des événements) pour les moteurs de jeux C ou C++ natifs.
Dessiner à l'écran
Votre jeu doit dessiner des objets et des sprites à l'écran. Découvrez la méthode Android SurfaceView
et apprenez à configurer les graphismes dans votre moteur de jeu.
La fréquence d'actualisation de l'écran varie selon les appareils Android. En savoir plus sur le rendu dans les boucles de jeu pour éviter les pertes d'images et les glitchs dus aux problèmes de mise en mémoire tampon des images.
Découvrez comment utiliser le frame pacing pour obtenir un rendu fluide dans OpenGL et Vulkan. Optimisez votre fréquence d'images avec Performance Tuner.
Utilisez l'anticrénelage multi-échantillon (MSAA) pour améliorer la qualité de votre rendu. MSAA peut être utilisé avec très peu de frais généraux. Pour en savoir plus, consultez l'article de blog MultiÉchantillonnage de l'anticrénelage pour presque sans frais – Sur le matériel de rendu basé sur des tuiles.
Traiter les événements d'entrée
Un moteur de jeu reçoit des événements d'entrée provenant de différentes sources. Pour une expérience de jeu immersive, apprenez comment accepter les différentes sources d'entrée Android :
Sortie audio
Votre moteur de jeu doit être en mesure de diffuser des contenus audio sur différents appareils et versions d'Android. Découvrez Oboe, notre bibliothèque audio C++ Open Source conçue pour vous aider à intégrer des contenus audio hautes performances dans votre jeu.
Utilisez Oboe pour obtenir la latence la plus faible, éviter des bugs audio spécifiques et sélectionner automatiquement la meilleure bibliothèque native disponible (par exemple, AAudio ou OpenSL ES).
Gérer la mémoire
Sur les appareils Android, le système tente d'utiliser autant de mémoire système (RAM) que possible et effectue diverses optimisations de mémoire pour libérer de l'espace si nécessaire. Découvrez comment gérer l'utilisation de la mémoire pour éviter tout ralentissement ou arrêt de votre jeu.
Tester et finaliser
Une application Android plante lorsqu'une interruption inattendue est provoquée par une exception ou un signal non géré. Découvrez comment détecter et diagnostiquer les plantages, lire les traces de la pile, les exceptions de mémoire et de réseau, mais aussi comment utiliser Logcat et comprendre les erreurs spécifiques à Java et Kotlin.
Publier sur Google Play
Les joueurs téléchargent votre jeu avec divers appareils Android dans différents pays, conditions de réseau et forfaits de données. Découvrez comment utiliser Google Play pour envoyer des app bundles et des packs d'éléments pour les jeux volumineux avec les avantages d'un réseau de diffusion de contenu.