Intel® INDE en tant qu'outil pour les développeurs de jeux indépendants

Neal Pierman

Améliorer la qualité et réduire le délai de mise sur le marché des jeux est une tâche difficile, surtout avec un nombre de plateformes en constante expansion. C'est ce pour quoi les kits de développement multiplateforme sont tentants, mais ils n'exploitent pas toujours les performances potentielles de chacune de plateformes. Intel® INDE peut aider les développeurs à toucher un marché plus large sur Android et Windows et fournit des bibliothèques et outils de performances optimisés qui vous aideront à proposer l'expérience de jeu la plus satisfaisante.

Intel® INDE est d'une grande aide pour les développeurs qui utilisent leur propre code, puisqu'INDE procure de nombreux outils et fragments de code qui aident à atteindre les capacités des plateformes à architecture Intel visées en termes de performances. Fournir une expérience de jeu convaincante, quelle que soit la plateforme que vous visez, est un aspect central auquel tous les développeurs font face. Peu importe que vous utilisiez un moteur de jeu tel qu'Unity3D* ou Cocos2dx* ou même votre propre base de code, Intel INDE peut vous aider, avec des outils de débogage et d'optimisation au sein de la suite d'outils Intel GPA qui fait désormais partie d'INDE. En utilisant les outils Graphics Performance Analyzer ainsi que Frame Analyzer, vous pouvez aisément rationaliser les scènes pour tirer le maximum de votre jeu sur les appareils basés sur Intel.

- Titre : Intel® INDE en tant qu'outil pour les développeurs de jeux indépendants

- Auteur : Neal Pierman

- Parution : 2 février 2015

- Licence : Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2016 Neal Pierman. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Intel INDE pour les Développeurs indépendants

- II. Débuter avec Intel INDE

- III. Résumé

- IV. Prochaines étapes…

I - Intel INDE pour les Développeurs indépendants

Si vous souhaitez « lancer votre propre » jeu, votre flux de travail différera de ceux qui utilisent un moteur de jeu comme Unreal Engine* d'Epic ou Unity*. En tant que développeur de jeu C++, vous voudrez probablement tout construire à partir de zéro puisque vous considérez que c'est la meilleure façon de “bidouiller” le système pour en tirer toutes les performances possibles, en ajoutant des fonctionnalités et fonctions spéciales qui ne sont pas disponibles dans un moteur de jeu commercial.

Les plus grands défis seront la mise en place de votre environnement, le codage et le test de votre jeu, puis l'optimisation de celui-ci pour autant de plateformes que possible. Intel INDE peut vous aider avec des outils qui concerneront les aspects majeurs de votre processus de développement : installation, bibliothèques multiplateformes, compilateurs, outils de débogage, et outils d'optimisation.

II - Débuter avec Intel INDE

Pour l'installation initiale, si vous développez des jeux pour l'environnement Windows*, nous partirons du principe que vous utilisez Microsoft* Visual Studio* comme environnement de développement intégré. Si vous développez pour Android*, alors vos choix d'environnements de développement intégré pris en charge par Intel INDE sont Microsoft Visual Studio et Android Studio*. Dans le cadre du processus d'installation d'Intel INDE, nous installerons d'abord l'environnement de développement intégré, puis nous ajouterons les composants dont vous avez besoin selon les options d'installation que vous avez sélectionnées.

La prochaine étape est de créer un projet et de sélectionner quelle bibliothèque Intel INDE vous allez utiliser. Puisque je pars du principe qu'il est important de tirer le meilleur parti de votre code, au sein d'INDE il y a un grand nombre de bibliothèques multiplateforme à choisir selon vos plateformes de développements et les plateformes que vous ciblez (consultez ce lien).

Pour les développeurs de jeu, il y a de nombreux outils et bibliothèques disponibles à utiliser. Ces bibliothèques sont optimisées pour chacune des plateformes Intel, donc non seulement vous aurez moins de code à écrire, mais vous utiliserez un code meilleur et plus rapide.

Les bibliothèques Intel INDE qui sont les plus intéressantes pour vous seront probablement Intel® Integrated Performance Primitives (Intel® IPP) et Intel® Threading Building Blocks (Intel® TBB).

Intel IPP réduit le temps de développement et de débogage en fournissant une API commune pour une vaste gamme de fonctions pratiques, dont les fonctions de signal général et de traitement d'image, la vision par ordinateur, la compression de données, la cryptographie, la manipulation de chaîne de texte, le traitement audio, le codage vidéo, les rendus réalistes, et le traitement de données 3D. Les blocs de construction logicielle de Intel® IPP sont hautement optimisés avec les instructions des Extensions Intel® Streaming SIMD (Intel® SSE) et des Extensions Intel® Advanced Vector (Intel® AVX). Appliqués à votre application, elle fonctionnera plus rapidement que ce qu'un compilateur optimisé peut réaliser seul.

Intel TBB fournit des modèles de programmations à exécution parallèle pour la création et la gestion de tâches sur processeurs multiples. Pour en savoir plus à propos des techniques de conception de tâches avec Intel TBB, dont des stratégies pour structurer votre jeu pour des processeurs multiples, il y a un excellent article à propos de l'utilisation de TBB pour les développeurs de jeux que vous pouvez lire ici.

Le Compilateur Intel® C++ optimise pour les systèmes basés sur une architecture Intel tant pour les systèmes cibles Windows que les cibles sous Android. Pour les jeux utilisant une mathématique de matrices et de vecteurs (dont les architectures Single Instruction Multiple Data, ou SIMD), ils bénéficieront d'optimisations dépendantes de la plateforme que ce compilateur propose. Si vous visez des appareils basés sur une architecture ARM*, utilisez le compilateur GCC* disponible dans Intel INDE pour ces appareils.

Une fois que vous avez les premières versions fonctionnelles de votre jeu, utiliser Intel INDE Graphics Frame Debugger sous Android peut vous aider à déboguer les ressources ainsi qu'à améliorer leur apparence (comme les artefacts graphiques). Vous pouvez étudier chaque étape d'un appel de dessin pour examiner les objets afin de vous assurer que chaque scène fonctionne comme vous le souhaitez.

La plupart des développeurs connaissent déjà Intel® Hardware Accelerated Execution Manager (Intel® HAXMIntel HAXM), un moteur de virtualisation à assistance matérielle (hyperviseur) qui utilise les Technologies de Virtualisation Intel (Intel® VT) pour accélérer l'émulation d'application sur une machine hôte Intel. Avec tant de versions différentes des systèmes d'exploitation et de configurations matérielles, chacune avec des implémentations potentiellement différentes d'OpenGL-ES, utilisez au sein de votre protocole de test - un peu plus rentable que d'acheter des centaines de systèmes !

Pour les analyses et optimisations finales de votre jeu, essayez d'utiliser les outils qu'Intel a développés il y a un peu plus de cinq ans pour les développeurs de jeu - System Analyzer, Graphics Frame Analyzer, et Platform Analyzer. Ces outils, qui faisaient partie du produit Intel Graphics Performance Analyzers (aussi connu sous le nom Intel GPA), sont maintenant uniquement disponibles au sein du produit Intel INDE. La plupart des jeux les plus rentables développés ces cinq dernières années ont tiré parti de ces outils :

- System Analyzer peut vous aider à comprendre si votre application est limitée par le CPU ou par le GPU, et afficher la consommation de votre application.

- Graphics Frame Analyzer peut mettre en évidence les problèmes de rendus dans une seule image, et isoler les problèmes concernant les niveaux d'appel de dessin, ou au sein d'une portion particulière du pipeline de rendu.

- Platform Analyzer procure un affichage visuel de vos tâches à la fois pour le processeur et le GPU, essentiel pour déboguer les problèmes de tâche sur des plateformes à plusieurs processeurs.

Pour une présentation de quelques astuces pour les optimisations de DirectX* avec ces outils, lisez cet article (même s'il date un peu, la plupart des concepts s'appliquent encore). Et pour un article sur l'utilisation de GPA par Epic afin d'optimiser leur moteur de jeu sous Windows, lisez cet article. Pour les techniques d'optimisation sous Android, lisez cet article (en particulier, la section “Optimisez les jeux basés sur le NDK Android sur les plateformes IA”).

III - Résumé

Intel peut proposer de nombreuses choses pour les développeurs de jeu indépendant pour les aspects clés de votre flux de travail. Avec Intel INDE vous développerez non seulement vos jeux plus rapidement, mais vous développerez des jeux plus rapides, ce qui aide à attirer l'attention sur votre produit dans un marché saturé. Aussi, si vous développez des jeux pour Android, voici un autre article pour vous aider à démarrer.

IV - Prochaines étapes…

Bien sûr, vous aurez besoin du produit avant de pouvoir commencer à l'utiliser - vous pouvez trouver plus d'informations à propos d'Intel INDE sur la page d'accueil du produit. Vous y trouverez également les différences entre les différentes « éditions » du produit, et la méthode de téléchargement, soit de l'Édition Starter sans frais, ou d'un essai gratuit, ou de l'Édition Ultimate du produit.

Et surveillez les autres articles sur ce sujet qui vous aide à comprendre en détail comment Intel INDE peut vous aider à développer rapidement et facilement de superbes jeux ! En particulier, lisez un article qui montre comment Intel INDE peut aider ceux qui souhaitent utiliser des moteurs de jeux commerciaux tels qu'Unity ou Unreal Engine d'Epic.