Quel moteur de jeu choisir ?

Image Quel moteur de jeu choisir

Les logiciels de création de jeux vidéo se sont démocratisés au cours de ces dernières années. Ils permettent aux moins techniques d’entre nous de concevoir des jeux de façon simple et accessible. Ces logiciels s’appellent communément des moteurs de jeu.

Mais un moteur de jeu, c’est quoi ?

Un moteur de jeu désigne une ensemble de codes pré-écrit dont la structure logicielle incite son utilisateur à mettre en place une architecture spécifique pour concevoir un jeu. Un moteur est donc constitué de plusieurs bibliothèques logicielles appelées « Framework ». C’est le cas pour libGDX qui est composé d’OpenGl (pour la partie graphique), d’OpenAL (pour la partie sonore) et d’OpenCL (pour le traitement parallèle). Un moteur de jeu s’accompagne parfois d’une interface graphique. C’est le cas pour Unity, RPG Maker et bien d’autres.

Un moteur n’est pas obligatoire pour développer un jeu.
Toutefois, cet outil est vivement recommandé pour deux raisons :

  • Un moteur de jeu fait gagner énormément de temps. En effet, l’outil embarque un ensemble de bibliothèques gérant le rendu, l’animation, le son, la physique, les composants d’une interface utilisateur… Le développeur n’a donc pas à se soucier de l’implémentation du code de bas niveau. (Le bas niveau désigne un degré de programmation proche du langage machine. Sans abstraction). La structure logicielle étant aussi prédéfinie, pas besoin de réfléchir trop longtemps sur l’architecture à adopter.
  • Un moteur de jeu fournit de l’expertise. Les algorithmes des moteurs du marché sont optimisés pour développer des jeux avec de bonnes performances (Certains sur plusieurs plateformes). Ainsi, les méthodes pré-écrites sont très souvent étudiées pour être plus (ou au moins aussi) efficace que celles qu’un concepteur de jeu aurait pu écrire. (Toutefois, Il peut être intéressant de se renseigner sur les notions exploitées par les moteurs pour comprendre complètement comment les jeux fonctionnent.)

Mais alors, quels sont les principaux moteurs de jeu du marché ?

Son prix, ses fonctionnalités, sa capacité multiplateforme, son orientation 2D / 3D et le langage de programmation choisi sont autant de critères à prendre en compte pour décider du moteur de jeu à utiliser.

Passons maintenant en revue les principaux logiciels de création de jeu (avec et sans interface graphique).

Unreal Engine

Unreal Engine est un moteur de jeu 3D gratuit, multiplateforme, développé par Epic Games. Il est reconnu pour ses performances et ses effets graphiques. En effet, le moteur est capable de générer des millions de particules dans un environnement composé de lumières dynamiques. Depuis la version 4.3, Unreal Engine dispose d’un système de création de jeu 2D et 2D/3D hybride appelé « Paper 2D ». Le logiciel est utilisé par de grands studios AAA. Entre autre, le jeu vidéo BioShock Infinite développé par Irrational games a été réalisé avec Unreal Engine 3.

Image du logiciel Unreal Engine.
Image du logiciel Unreal Engine.

Développeur : Epic Games.
Langage : C++ (depuis Unreal Engine 4). Le langage précédemment utilisé s’appelait UnrealScript, abandonné aujourd’hui. UnrealScript se rapproche syntaxiquement du Java. Il a pour but d’être simple d’utilisation mais le langage est 20 fois plus lent que le C++.
Prix : Gratuit. 5% de Royalties à partir de 3 000 $ de revenu perçu par jeu par an.
Jeux réalisés : La série des Bioshock, Alice madness return, Antichamber, XCOM 1 et 2, Outlast, SMITE, Life is Strange et bien sur Paragon, le MMO d’EpicGames.

CryEngine

CryEngine est un moteur de jeu 3D gratuit, multiplateforme, développé par Crytek. À la base utilisée pour développer la série Far Cry (et plus généralement les jeux de tir à la première personne), le logiciel aspire à devenir un moteur de jeu généraliste puissant et de plus en plus accessible.

Image du logiciel CryEngine
Image du logiciel CryEngine.

Développeur : Crytek.
Langage : C++.
Prix : Gratuit.
Jeux réalisés : Far Cry, La série des Crysis, Evolve, Prey.

Unity

Unity est un logiciel de création de jeux vidéo 2D et 3D. Il offre un éditeur de niveau et un framework de développement. Unity dispose aussi d’un store d’assets, gratuits et payants, assez variés. La version gratuite (appelée « Personal ») vous permet de vendre vos produits. Toutefois, à partir de 100 000 € de revenu perçu par an par vos jeux, vous devez passer à une version payante.

Image du Logiciel Unity 3D
Image du Logiciel Unity 3D.

Développeur : Unity Technologies.
Langage : C#.
Prix : Gratuit tant que les revenus n’excèdent pas 100 000 € par an.
Jeux réalisés : Hearthstone, Super Mario Run, Furi, Firewatch, Keep talking and nobody explodes.

Godot

Nouveau sur le marché depuis janvier 2017, Godot est un moteur de jeu gratuit, libre, multiplateforme et prometteur. Doté d’une interface graphique, le logiciel est capable de concevoir des jeux 2D et 3D.
Quelques reproches cela dit : GDScript, le langage exploité par l’outil, est spécifique au logiciel et n’est pas encore bien connu. Des fonctionnalités présentes dans les moteurs concurrents (notamment les effets artistiques) manquent aussi à l’appel. Cependant, le logiciel continue de se développer et une implémentation C++ et C# devrait voir le jour prochainement.

Image du logiciel Godot.
Image du logiciel Godot.

Développeur : La communauté de Godot Engine.
Langage : GDScript (syntaxe proche de Python).
Prix : gratuit (licence MIT).
Jeux réalisés : Godot est sorti en janvier 2017, attendons un peu !

RPG Maker

Conçu pour réaliser des RPG 2D au style japonais sans programmation, RPG Maker est idéal pour développer des jeux similaires aux anciens Final Fantasy. Avec un peu de développement, il est possible de réaliser un Zelda like comme ceux de la Game Boy Color. Le slogan du logiciel peut se traduire par « Enfantin d’utilisation, suffisamment puissant pour un développeur ». La dernière version, RPG Maker MV, permet d’importer des plugins.

Image du logiciel RPG Maker MV.
Image du logiciel RPG Maker MV.

Développeur : Enterbrain
Langage : Ruby.
Prix : Payant. De $24.99 à $79.99 selon les versions. Version d’essai gratuite.
Jeux réalisés : To the Moon.

GameMaker

GameMaker est un moteur de jeu 2D multiplateforme permettant l’usage d’entités 3D. La version payante est nécessaire pour exporter facilement un jeu sur mobile, Ubuntu, Mac ou sur le web. Le logiciel dispose de son propre langage de programmation appelé GML (Game Maker Language).

Image du logiciel GameMaker.
Image du logiciel GameMaker.

Développeur : YoYo Games.
Langage : GML (Game Maker Language).
Prix : Version gratuite (pour exporter sur windows) et version payante à partir de $149.99 (hors prix des modules d’exportation). Compter $449.98 pour exporter sur Android).
Jeux réalisés : Undertale, Hotline Miami, Nidhogg, Rivals of Aether, Spelunky.

Livres :

MonoGame

MonoGame est un framework 2D / 3D gratuit et open source qui reprend les classes de la bibliothèque abandonnée : Microsoft XNA. Elle est basée sur la bibliothèque Mono la rendant ainsi multiplate-forme.

Image du jeu Bastion développé par Supergiant Games avec MonoGame.
Image du jeu Bastion développé par Supergiant Games avec MonoGame.

Développeur : MonoGame Team.
Langage : C#.
Prix : Gratuit.
Jeux réalisés : Bastion, Fez, Terraria, TowerFall Ascension, Apotheon.

LibGDX

LibGDX est un framework open source multiplate-forme Desktop, Android, iOS et HTML5. Basé sur LWJGL qui est lui-même basé sur OpenGL, il offre des classes graphiques permettant de réaliser des jeux 2D et 3D.

Image du logiciel de création de projet LibGDX.
Image du logiciel de création de projet LibGDX.

Développeur : Badlogic Games.
Langage : Java.
Prix : Gratuit.
Jeux réalisés : Les démos de Five Nights at Freddy’s et mon jeu : Lights.

Voir aussi…

Construct 2 : Moteur de jeu 2D multiplateforme basé sur HTML5 développé par Scirra. Version gratuite limitée.
Clickteam Fusion : Moteur de jeu 2D multiplateforme développé en France. Le principe du moteur repose sur le drag and drop et la création d’événements (à l’instar de Construct 2). Version gratuite limitée.
Xenko : Open source, Xenko s’impose comme le concurrent direct de Unity. Il implémente le langage C#.
jMonkeyEngine : Moteur de jeu 3D Java doté d’une interface graphique.
Blender Game Engine : Le moteur de jeu intégré au logiciel de modélisation et d’animation 3D : Blender. Il implémente le langage Python.
PyGame : PyGame est une bibliothèque Python libre multiplate-forme conçue à partir de la bibliothèque C : SDL.
M.U.G.E.N : moteur de jeu de combat 2D implémentant le langage C. Le site de l’éditeur est en panne depuis 2016 pour des raisons inconnues.

Conclusion.

Vous trouverez ci-dessous le récapitulatif de mon étude sur les moteurs de jeu principaux (cliquez sur l’image pour l’agrandir) :

Récapitulatif des Moteurs de Jeu.
Récapitulatif des Moteurs de Jeu.

Un moteur permet ainsi de combler vos lacunes. Il vous évite d’avoir à étudier complètement les composants d’un ordinateur et sa structure logicielle vous oriente vers l’architecture à adopter. Un moteur est optimisé, réutilisable et fait gagner du temps. Il n’y a donc aucune raison de ne pas utiliser de moteur de jeu.

Auteur : Thibaud

Je suis passionné de création de jeux d'aussi loin que je me souvienne. Diplôme d'Ingénieur en poche, j'étudie actuellement les éléments qui permettent de réaliser un bon jeu dans le but de concevoir mes prochains titres. J’espère ainsi échanger avec des passionnés et constituer une communauté francophone de Game Design.

8 réflexions sur « Quel moteur de jeu choisir ? »

    1. Effectivement, il semble que les démos gratuites de five night at freddy’s sont faites avec libgdx (j’ai vérifié dans les apps) mais les jeux complets sont réalisés avec Clickteam Fusion.
      Merci, c’est rectifié 🙂

  1. Bonjour,
    je souhaiterais créer un jeu mais je ne sais pas quel est le moteur le plus adapté.
    Ce moteur devra gérer l’intelligence artificielle le réseau.
    C’est un jeu de conquête.
    Mon jeu sera multijoueurs (tout le monde dans un univers) et sera un jeu de stratégie qui continuera quand on est absent ( la gestion sera alors prise par l’intelligence artificielle selon les paramètres que l’utilisateur aura choisi ).
    Merci de votre réponse,
    Paul

    1. Salut Paul,

      Pour la partie réseau, tous les moteurs de jeu décrits dans l’article disposent d’un module réseau, à part peut-être rpg maker.
      Après, au vu de l’architecture que tu décris, tu as besoin d’un serveur de jeu.

      L’intelligence artificielle et toutes les décisions prises par le jeu doivent être effectuées du côté de ton serveur de jeu (pour éviter la triche, entre autres).
      Il n’y a pas de moteur pour ça. Tu vas devoir coder ton propre serveur d’applications et souscrire un abonnement à un serveur dédié. (Pour te donner une idée, OVH propose des offres entre 60 et 115€~ par mois.)

      Bon courage !

  2. Merci pour votre réponse.
    Etant donné que ce n’est pas dans mes moyens (je suis collégien), je vais revenir au projet initial (j’ai eu l’idée de faire mon propre jeu car des camarades de classe m’on demandé de participer à leur projet de jeu, ce que je vais faire). Le jeu est assez compliqué à résumer mais concernant le logiciel le plus adapté, il n’y a aucun doute : CryENGINE . En revanche, je n’ai trouvé aucun tutoriel français. Connaissez-vous un tutoriel français complet (qui apprend toutes les fonctionnalités ou presque ) ? Merci

    1. En français sur CryENGINE, il n’y a pas grand-chose, effectivement. (Même si j’ai pu trouver quelques séries sur youtube en tapant « cry engine tuto fr ». À voir ce qu’ils valent…)

      La documentation la plus complète et la plus précise que tu puisses trouver est sur docs.cryengine.com mais c’est uniquement en anglais.
      De manière générale en informatique, la grande majorité de la doc est en anglais. Tu n’y échapperas pas donc autant t’y mettre tout de suite.

      Tu peux aussi te tourner vers les livres (toujours en anglais) :
      CryENGINE 3 Game Development: Beginner’s Guide
      Mastering CryENGINE
      CryENGINE Game Programming with C++, C#, and Lua

      Maintenant, si c’est votre premier projet en équipe et que vous ne maîtrisez pas encore bien l’anglais/la programmation, je vous conseille fortement de commencer par un petit jeu complet plutôt qu’un grand truc dont vous ne verrez jamais le bout. (Voir mon article : « Alors comme ça tu veux réaliser un jeu vidéo ?« .)

      Bon courage et bons développements !
      Thibaud.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *