Personnaliser les moteurs de jeux effectuer leur portage

Stay organized with collections Save and categorize content based on your preferences.

Outils, étoiles, planète Si vous utilisez C ou C++ pour développer ou personnaliser un moteur de jeu, les exigences suivantes sont essentielles pour assurer leur compatibilité avec Android.

  • 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, 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 SDK Android et de NDK

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, Android Game Development Extension (AGDE) est une solution parfaite 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, suspendue, 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.

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 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, sous des conditions de réseau et avec forfaits de données variés. Découvrez comment fournir des app bundles et des packs d'éléments pour les jeux volumineux avec les avantages d'un réseau de diffusion de contenu.