Choisir le bon moteur pour vos jeux Android x86

Brad Hill

Traducteur

Alexandre Laurent

Les commentaires et les suggestions d'amélioration sont les bienvenus, alors, après votre lecture, n'hésitez pas. Commentez . ♪

- Titre : Choisir le bon moteur pour vos jeux Android x86

- Auteur : Brad Hill

- Traducteur : Alexandre Laurent

- Parution : 18 septembre 2014

- Licence : Copyright ® 2014 Intel. 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. Résumé

- II. Les participants à votre sélection

- II-A. Unreal Engine

- II-B. Project Anarchy

- II-C. Marmalade

- III. Coût

- IV. Dimensionnalité

- V. Langages

- VI. Pipeline pour les artistes

- VII. Accès au code source complet

- VIII. Comparaison des fonctionnalités

- IX. Récapitulatif

- X. Références

- XI. À propos de l'auteur

I - Résumé

Les développeurs de jeux vidéo savent qu'il y a une énorme opportunité sur Android. Dans le top 100 des applications sur le magasin Google Play, la moitié sont des jeux (et 90 % du reste du top 100 sont des applications grossières). Pour s'intégrer dans ce marché, la rapidité du développement est cruciale. Certains développeurs débutants et indépendants préfèrent développer tout leur code à partir de zéro, mais pour atteindre le haut niveau de qualité sans passer des années en développement, d'autres choisissent un moteur de jeux préexistant. Plusieurs facteurs doivent être pris en compte pour sélectionner un moteur :

- Coût : combien vous prévoyez de dépenser ?

- Dimensionnalité : est-ce que votre jeu est en 2D ou 3D ?

- Langages : quel langage de programmation vos développeurs connaissent-ils ?

- Pipeline des artistes : est-ce qu'il s'intègre correctement avec les outils de création de ressources ?

- Accès du code source : avez-vous besoin d'un accès pour réaliser de profonds changements dans le moteur ?

Il existe plusieurs moteurs de jeux Android disponibles, mais ils diffèrent grandement sur ces critères. Depuis la pénétration croissante du marché des périphériques de hautes performances Android avec des processeurs Intel, il est plus important que jamais de choisir un moteur optimisé pour les périphériques Android x86. Ce papier vous aidera à choisir le bon moteur pour votre jeu afin qu'il fonctionne au mieux pour tous les clients Android.

II - Les participants à votre sélection

Cet article s'intéresse à trois des meilleurs candidats pour ces catégories.

II-A - Unreal Engine

Unreal Engine de Epic Games, est un vainqueur poids lourd depuis longtemps, se vantant d'un grand nombre de brillants jeux sur PC, consoles et plates-formes mobiles et cela depuis sa première publication en 1999. Unreal Engine possède les outils suivants :

- Unreal Editor (éditeur de contenu 3D) ;

- script visuel Blueprint (édition en glisser/déplacer) ;

- outil d'animation Persona ;

- éditeurs et outils pour l'intelligence artificielle, l'éclairage et d'autres effets.

II-B - Project Anarchy

Project Anarchy est un développement récent de Havok. Il combine les technologies de jeux vidéo clés de Havok qui ont déjà prouvé leur efficacité dans un moteur personnalisé pour le développement de jeux mobiles. Project Anarchy possède les composants suivants :

- Havok Vision Editor (éditeur de contenu 3D) ;

- Havok Vision Engine avec Havok Physics ;

- Havok Animation Studio (édition en glisser/déposer) ;

- Autodesk Scaleform* (outil d'interface utilisateur) ;

- des outils et des éditeurs pour l'intelligence artificielle, l'éclairage et d'autres effets.

II-C - Marmalade

Marmalade est une bibliothèque multiplate-forme créée pour la conception rapide de jeux mobiles. C'est une technologie plus jeune que les deux autres, Marmalade a été publié comme moteur de jeux en 2011. Marmalade possède les variantes suivantes :

- le SDK Marmalade C++ ;

- Marmalade Quick (Lua) ;

- Marmalade Juice (Obj-C) ;

- Web Marmalade (HTML5/JavaScript).

III - Coût

Plusieurs moteurs proposent différentes offres suivant les fonctionnalités voulues. Les facteurs les plus souvent utilisés pour déterminer le coût sont les plates-formes cibles et la taille de votre équipe ou entreprise.

Unreal Engine nécessite un abonnement à 19 $/mois, mais demande aussi 5 % de votre revenu brut pour tous les programmes reposant sur leur technologie. Des offres personnalisées, ainsi que des options de développement pour les consoles, sont aussi disponibles.

Project Anarchy est (et continuera de l'être) gratuit pour les équipes de n'importe quelle taille lorsque vous développez des jeux sur mobiles. Il est possible d'acheter une licence pour cibler les PC ou les consoles ainsi qu'un accès plus poussé et plus d'outils. Pour un développement basique, Project Anarchy est définitivement le plus avantageux en termes de prix et ne demande que de faire du marketing avec votre jeu.

Au moment d'écrire cet article, Marmalade est gratuit pour une équipe d'au plus trois développeurs pour une année si les revenus de votre entreprise sont inférieures à 500 000 USD. Cela est une promotion temporaire et la licence coûte normalement 149 $ + taxes. Des options supplémentaires permettent le développement sur plus de cibles et fournissent un support direct des développeurs.

IV - Dimensionnalité

L'attrait pour les jeux 3D est indéniable, mais la 2D correspond mieux pour de nombreux jeux simples et requiert un moindre investissement de temps et de ressources. La dimensionnalité de votre jeu doit être un fort argument dans le choix du moteur.

Marmalade possède un support 3D, mais Unreal Engine et Project Anarchy ont été fabriqués pour cela. Ces moteurs ont été retouchés de nombreuses fois pour fournir la meilleure expérience pour le développement 3D.

De même, les trois peuvent être utilisés pour les jeux 2D, mais l'utilisation de Unreal Engine et Project Anarchy peut être excessive. Actuellement, Project Anarchy possède une série d'outils 2D en alpha alors que Unreal Engine et Marmalade possèdent des exemples de code de jeux 2D. Un sous-ensemble d'outils de Marmalade a été conçu pour le développement rapide : Marmalade Quick, spécifique à la 2D.

Les trois moteurs peuvent être utilisés pour les jeux 2D et 3D, mais Marmalade est plus adapté à la 2D, alors que Project Anarchy et Unreal Engine sont les meilleurs pour la 3D.

V - Langages

Si le(s) développeur(s) de votre équipe est (sont) habitué(s) - ou plus expérimenté(s) - avec un langage de programmation d'un moteur, la courbe d'apprentissage est bien plus raisonnable.

Avant Unreal Engine 4, la programmation du gameplay dans le moteur était réalisée en UnrealScript, un langage de script propriétaire de Epic possédant une syntaxe proche du C. Avec la publication de Unreal Engine 4, le C++ est devenu le langage de développement principal.

Project Anarchy est basé sur le C++, avec du Lua pour les scripts. La plupart des moteurs utilisent autant que possible un langage de script léger tel que le Lua pour réduire le risque des opérations bas niveau comme la gestion de la mémoire.

Marmalade possède de nombreux ensembles d'outils, selon le langage souhaité. Le SDK de base utilise C++, Marmalade Juice utilise l'Objective-C, Marmalade Quick utilise le Lua, et Web Marmalade est conçu pour le développement HTML5/JavaScript.

Du point de vue de l'adaptabilité du langage, Marmalade rayonne. Il y a de fortes chances pour que vos développeurs soient capables d'utiliser une des variantes de Marmalade avec leur environnement de développement préféré. Cet argument est très lié à son approche de couche abstraite et sa nature « écrire une fois, exécuter n'importe où ».

VI - Pipeline pour les artistes

Les jours où les équipes de développement étaient uniquement composées de programmeurs ont disparu il y a bien longtemps. Maintenant, les studios de jeux vidéo (grands comme petits) se sont même divisés entre les programmeurs et les artistes. Les moteurs incluant une forte intégration avec les outils de création de contenu ont un avantage sur la concurrence.

Unreal Engine et Project Anarchy possèdent des éditeurs 3D pour la mise en forme, la conception des niveaux, la manipulation des ressources, etc. Ils sont spécialement utiles aux artistes 3D, car l'interface est très proche de celle des outils 3D (qui peuvent aussi être utilisés conjointement avec l'éditeur du moteur pour la création de ressources).

Unreal Editor (à gauche) et éditeur Havok Vision (à droite)

Unreal Engine possède une fonctionnalité « blueprint scripting », où les composants du script tels que les actions sont des éléments visuels et glissables/déposables.

Blueprint Scripting dans l'éditeur Unreal

Project Anarchy possède un éditeur de machine à états similaire pour les animations.

Outils d'animation par machine à états de Project Anarchy

Bien que Marmalade possède une large communauté développant des modules open source et des outils pour aider le développement (la plupart sont disponibles sur GitHub), les kits officiels de Marmalade n'incluent rien pour les non-codeurs. Project Anarchy et Unreal Engine prennent l'avantage ici pour leurs suites d'outils compréhensibles.

VII - Accès au code source complet

En termes de possibilités infinies, la meilleure chose qui suit la création de son propre moteur est la possibilité d'en modifier un. Avec un accès au code source complet, vous pouvez changer n'importe quoi, ou encore ajouter votre propre support de nouvelles plates-formes cibles.

Unreal Engine est le plus généreux dans cet aspect : un accès au code source complet est disponible lorsque vous payez les frais d'inscriptions pour Unreal Engine 4.

Project Anarchy offre le code source de quelques composants et le code source complet est disponible pour un plus grand investissement. Un accès limité est toujours disponible, mais la modification est limitée avec la version gratuite.

Malgré le grand choix dans les modules open source, Marmalade est fermé. Le dernier étage vous permet d'avoir un support privilégié, mais pas d'accès supplémentaire aux sources.

Ce n'est pas important pour la plupart des développeurs, mais plus le moteur de jeu est complexe, plus vous avez besoin d'un contrôle sur chacun des aspects.

VIII - Comparaison des fonctionnalités

Marmalade

Project Anarchy

Unreal Engine

Coût bas

Gratuit
Promotion/149 $+taxes

Gratuit

19 $/mois + 5 %

Dimensionnalité

3D

Faisable

Créé pour cela

Créé pour cela

2D

Le plus facile

Suite d'outils en alpha

Faisable, échantillons

Langages

C++, Obj-C, Lua, HTML5

C++, Lua

C++

Fonctionnalités pour les non-codeurs

Développeurs tiers

Éditeur 3D, Animation Studio

Éditeur 3D, Blueprint scripting

Code source complet

Non

En partie, à un coût supplémentaire

Oui

IX - Récapitulatif

Chacun des moteurs comparés ici a de bons arguments et une force en particulier. Si le coût futur est un sujet d'inquiétude, Project Anarchy est le choix approprié. Suivant les aptitudes et les désirs de modifications et d'extension du moteur, Unreal est le moteur le moins cher pour ce faire. Pour un développement rapide d'un jeu 2D, Marmalade est difficile à battre. Il y a de nombreux autres moteurs disponibles - gratuits et open source - qui peuvent correspondre à plusieurs des fonctionnalités des moteurs comparés ici, mais la capacité de ces moteurs à rendre votre jeu excellent sur un large ensemble de périphériques Android a fait que ce sont ces trois moteurs qui ressortent premiers de plusieurs listes.

Plus de ressources sur Intel Developer Zone Android

X - Références

- Zone des développeurs Intel Android

- Article Original (en anglais)

- Unreal Engine

- Project Anarchy

- Marmalade

- Statistiques Google Play Store

XI - À propos de l'auteur

Brad Hill est un ingénieur logiciel chez Intel dans la division Developer Relations. Brad étudie les nouvelles technologies sur le matériel Intel et partage les meilleures méthodes avec les développeurs logiciels via la zone des développeurs Intel et dans les conférences de développeurs. Il est aussi l'ingénieur en chef des hackatons étudiants, organisant les hackatons Code for Good dans les lycées et universités à travers le pays (USA).