Comment choisir le meilleur moteur de jeu ?

L'article te plaît ?
  •  
  • 4
  •  
  •  
  •  
  •  
  •  
    4
    Partages

Quel moteur de jeu dois-je télécharger ? Unity 3D, Unreal Engine Editor, Game Maker Studio ou bien Construct2 ?

Unity Technologies logoUnreal Engine logoConstruct2 logo Game Maker Studio

Mais finalement, la question serait plutôt : comment choisir le meilleur moteur de jeu pour créer ses propres jeux ?

Dès le début, on veut utiliser exactement le même outil que les pros, l’outil qui va nous propulser immédiatement au sommet ! C’est tout à fait humain de penser de cette manière. Toutefois, ce n’est pas forcément la bonne manière de procéder lorsqu’on commence le développement de jeux vidéo.

A titre de comparaison, c’est comme si je commençais l’apprentissage de la guitare et que je m’achetais exactement le même modèle que monsieur Angus Youg (ACDC). Une fois l’instrument entre nos mains, on va se dire : « Wouah ! Trop classe! J’ai la même gratte que les pros ! »

Mais finalement est-ce que le manche est agréable ? Est-ce que je vais aimer jouer uniquement de la guitare électrique ? En plus de ça, est-ce que l’instrument est adapté à ma morphologie (forme, poids) ? Enfin, est-ce que le son résonne comme je le souhaite ? Zut, j’ai oublié d’acheter l’amplificateur, les pédales d’effets et j’ai surtout négligé d’apprendre les bases de la guitare. Cela peut certainement flatter son plaisir de fan, mais est-ce vraiment la bonne méthode pour commencer ?

Qu’est-ce qu’un moteur de développement de jeux vidéo ?

Pour résumer, un moteur de jeu est un logiciel tiers qui regroupe plusieurs fonctionnalités compilées dans un seul programme. Par exemple, il peut intégrer : un moteur 3D, un moteur 2D, un moteur d’UI, un moteur physique, un moteur d’animation, un gestionnaire des assets, un éditeur de scripts, un gestionnaire des scènes, l’export sur différentes plateformes, etc.

Le but est d’utiliser tous ces outils existants afin de faire gagner du temps de développement. Et Dieu sait que la création de tous ces moteurs est chronophage et coûte beaucoup d’argent !

En somme, le moteur est une sorte de couteau de l’armée suisse pour la création de jeux vidéo.

NB : un moteur de développement de jeux vidéo est aussi appelé game engine ou middleware.

Le moteur de jeu Unreal Engine utilise des "blue print"

Le moteur de jeu Unreal Engine utilise des “blue print”

Voici la liste des six critères les plus importants pour choisir le moteur de jeu.

Critère n°1 : Le passé et l’avenir du moteur de jeu

D’abord, il faut toujours regarder d’où sort le programme et à qui il appartient.
Le but est de ne pas se retrouver coincé après des années de développements à cause de sa technologie ou de sa ligne éditoriale.

Les questions à se poser :

  • Qui l’a développé ?
  • Depuis combien de temps ce moteur de jeu existe-t-il ?
  • A-t-il déjà été racheté au cours de son existence ?
  • Va-t-il être racheté prochainement ?
  • Est-il souvent mis à jour ?
  • Évolue-t-il suivant les tendances ?

Un exemple : Virtools était un logiciel très prometteur, car il incluait : un moteur 3D, un système d’export sur plusieurs plateformes, un éditeur Visual Scripting, un moteur physique, un moteur multijoueur, etc. Mais il a été racheté en 2005 par Dassault Systèmes, le constructeur d’avions de chasse. Les ambitions du nouvel acquéreur n’étaient pas le développement d’un outil dédié à la création vidéoludique.

La mort de Virtools, un moteur de jeu prometteur

La mort de Virtools, un moteur de jeu prometteur

Critère n°2 : La ludothèque du game engine

Ensuite, il est intéressant de jeter un œil à l’« Hall of Fame » de ce logiciel. En général, les moteurs mettent en avant des jeux techniquement réussis à des fins d’autopromotions. Ces jeux vidéo nous donnent déjà un très bon aperçu du moteur de rendu. Mais cela peut nous donner des indications sur les points forts et points faibles. Par exemple, certains moteurs sont bien adaptés pour gérer le Pixel Art et d’autres la 3D.

S’il y a un type de jeu qui ressemble à votre concept, c’est plutôt bon signe.

Hotline Miami a été développé avec Game Maker Studio

Les questions à se poser :

  • Combien de hits ont été créés avec ce moteur de jeu ?
  • Mais il y a combien de temps ?
  • Sur quelles plateformes ?
  • Est-il adapté à mon jeu (gameplay, moteur graphique, technique) ?

En 2013, lorsque le moteur graphique 2D natif de Unity est sorti, j’ai été convaincu grâce aux démos de jeux en 2D sur différentes plateformes.

Critère n°3 : La communauté du middleware

Les autres développeurs connaissent déjà leur outil. Ce sont les personnes parfaites pour en parler et donner leur avis. Ne pas hésiter à discuter avec eux, ils ne mordent pas. Enfin, pas tous !

Unity developer day

Unity developer day

On peut trouver des « trolls » concernant plusieurs de ces logiciels sur beaucoup de forums. Mais ça signifie qu’il y a le choix et qu’ils ont tous des arguments.

Évidemment plus la communauté est grande, plus il y a des personnes susceptibles de vous aider, de corriger des problèmes et de participer à des discussions. Grâce à cette communauté, on peut facilement trouver des plug-ins sur GitHub ou bien sur les Marketplace. Idem pour les assets graphiques, modèles 3D, animations, etc.

Les questions à se poser :

  • Est-ce qu’il existe une grosse communauté (Française, Anglaise) ?
  • Est-ce qu’il existe des forums d’entraides ? Francophones ?
  • Est-ce qu’une présence existe sur les réseaux sociaux ?
  • Est-ce qu’il existe des tutoriels ? En français ?
  • Est-ce qu’il existe des Marketplaces ?

99% des problèmes que qu’on rencontre sont déjà reportés sur les forums. Il suffit de rentrer les bons mots clés dans Google 😉.

Il m’arrive aussi de me dire : « Il manque une fonctionnalité qui simplifierait mon processus de développement ». Il y a bien neuf chances sur dix qu’elle soit déjà disponible sur un Marketplace.

Critère n°4 : Les fonctionnalités du moteur de jeu

Le développement devient très vite une usine à gaz avec tous les logiciels tiers, éditeurs, langages de programmation, périphériques, etc. Il est toujours intéressant de lister toutes les features de chaque moteur de jeu.

Les questions à se poser :

  • Est-ce que ce logiciel est livré avec d’autres logiciels tiers ?
  • Ou bien, est-ce que tout est déjà incorporé dans le moteur de jeu? Par exemple : un éditeur graphique, un éditeur sonore, un éditeur de scripts, un éditeur d’animations, etc.
  • Sinon, de quels autres logiciels ai-je besoin ?
  • Quel est le langage de programmation utilisé ?
  • Puis-je utiliser ce moteur de jeu même si je ne connais pas de langage de programmation ?
  • Le prix du logiciel est-il dans mes moyens ?
  • Est-ce que ce logiciel utilise un langage propriétaire ?
  • Est-ce que l’initiation me semble intuitive ?
  • Est-ce simple de déployer mon jeu sur la/les plateformes que je cible ?
  • Est-ce que le moteur de jeu est Open Source ?
  • Est-ce que le moteur de jeu est gourmand en ressources ?

Adobe Animate CC (anciennement Flash) inclut tout ce qu’il faut pour développer un jeu vidéo : éditeur graphique, créateur d’animations, gestion des scènes, éditeur de script, export, excepté l’éditeur de sons. Hélas, le format “.swf” est meurt petit à petit.

Critère n°5 : En fonction de nos besoins

Bien entendu, il faut avoir entre ses mains quelque chose que l’on peut manipuler aisément. Dans un premier temps, on doit identifier nos besoins avant d’installer quoi que ce soit. Il est donc vital de bien cibler vos objectifs, vos ressources, vos compétences, votre équipe et votre budget.

Inutile d’apprendre à maîtriser un moteur de jeu trop gros si vous n’utilisez que 10% de ses capacités. Autrement dit, vous n’allez pas utiliser un lance-flamme pour allumer un barbecue.

Lance-flammes sur barbecue

Les questions à se poser :

  • Quels sont mes besoins pour mon jeu ?
  • Est-ce que je suis familiarisé avec ce langage de programmation ?
  • Si je ne connais pas ce langage, est-ce que je peux quand même « programmer » sans connaître de langage de programmation ?
  • Est-ce que ce logiciel est aussi disponible en français ?
  • Est-ce que ce logiciel est bien conçu pour déployer mon jeu sur la/les plateformes que je cible ?
  • Est-ce que ce logiciel est conçu pour le type de jeux que je produis ?

Le passage de Flash à Unity n’était pas très long pour moi. La syntaxe du langage ActionScript 3.0 ressemble à celle du C#. J’ajouterais que l’export mobile d’Unity 3D est nettement plus intuitif et plus rapide.

Critère n°6 : Être à l’aise avec le moteur

Il n’y a rien de tel pour se dégoûter du développement qu’un outil trop complexe pour soi, qui vous rend la tâche pénible. Cet outil va nous suivre pendant des centaines d’heures.

Il FAUT S’AMUSER AVEC SON OUTIL !

Programmeur content

Il est nécessaire de prendre du plaisir en travaillant sur nos projets. On doit s’amuser autant que les joueurs. En tant que développeurs indépendants, nous avons le choix de nos moteurs. Il faut avoir un bon feeling avec son outil, avec son interface et sa logique. Mais cela nécessite un peu de temps pour se familiariser avec. Le fait de trouver un logiciel intuitif dès les premiers pas est un excellent critère de choix.

Ce qui veut dire : gain d’efficacité de production.

Les questions à se poser :

  • Est-ce que l’interface de mon moteur me semble intuitive ?
  • Est-ce que je peux le tester ?
  • Est-ce que je prends plaisir à l’utiliser ?
  • Est-ce que je pourrais passer plusieurs années sur ce logiciel ?
  • Est-ce que l’équipe entière est à l’aise avec ?

J’ai testé Unity 3D en créant un clone de Flappy Bird en quelques heures. J’ai très rapidement compris la logique, la méthodologie, l’export sur mobile et le moteur physique.

Conclusion

Chacun est libre de choisir son moteur de jeu. Il faut simplement comparer les points forts et les points faibles de chaque outil, et les mettre en regard de ses propres forces et ses faiblesses.

Un conseil : vous pouvez toujours développer un tout petit projet sur chaque éditeur différent pour les comparer vous-même.

Dans un prochain article, nous allons comparer les moteurs les plus connus, gratuits, et payants, avec ou sans langage de programmation : Unity 3D, Unreal Engine, Construct2, Game Maker, etc.

Pour terminer, je souhaite insister sur ces deux points suivants :

1. Les joueurs se contrefichent du moteur de jeu que vous avez utilisé.

2. Un moteur de jeu c’est comme le vin, le meilleur c’est celui qu’on préfère.

Un moteur de jeu c'est comme du vin, le meilleur c'est celui qu'on préfère.

Finalement, tant que tout fonctionne, c’est le principal.

Pour ma part, j’ai choisi Unity 3D après avoir passé plus de huits années sur Adobe Flash et trois années sur XCode. Il m’a fallu un temps pour dompter ce moteur, mais une fois qu’on est dedans, tout devient plus facile. Concrètement, j’ai simplement suivi les demandes de mes clients et les tendances du marché.

Et vous ? Quels sont vos critères ? Est-ce que vous avez déjà choisi votre moteur ?

N’hésitez pas à partager cette publication et à commenter cet article.

Je lis tous vos commentaires !


L'article te plaît ?
  •  
  • 4
  •  
  •  
  •  
  •  
  •  
    4
    Partages

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.