Quel moteur de jeu 2D utiliser pour votre prochain match

Il y a quelques semaines, j'ai publié un article sur mon expérience en essayant de créer un prototype dans un tas de différents moteurs / frameworks de jeu 2D pour savoir ce qui les motive.

Si vous cherchez un moteur pour votre prochain jeu 2D, cet article vous fournira quelques éléments à considérer qui peuvent vous aider dans votre processus de discernement.

Notez que je n'essaye pas de couvrir tous les moteurs de jeu 2D; je ne positionne pas non plus un moteur ou un cadre sur un autre. Ces recommandations sont issues de mon expérience personnelle en utilisant différents moteurs et frameworks pour le prototypage.

Et si vous préférez regarder plutôt que lire, j'ai créé une version vidéo de cet article (26 minutes de visionnage):

Réagir

À première vue, vous pensez peut-être: "React est un framework frontal pour créer des sites Web interactifs. Ce n'est pas un moteur de jeu!" Et vous auriez généralement raison.

React ne fournit pas de support natif pour les bases de développement de jeux, comme, par exemple, la physique 2D, mais il fait état de la poignée extrêmement bien. Si vous êtes déjà un développeur JavaScript et que vous souhaitez associer React à quelque chose comme boardgame.io pour créer un jeu 2D simple, vous pourriez potentiellement mettre en place un prototype assez rapidement.

Pour tous les autres types de jeux 2D, vous voudrez chercher ailleurs.

Unité

Unity s'est fait omniprésente dans les espaces de développement de jeux 2D et 3D. Je le positionnerais comme un excellent moteur de jeu 3D et un moteur 2D utilisable.

L'éditeur Unity est assez complexe, avec de nombreux menus imbriqués qui prennent un certain temps à comprendre (consultez cet article pour une visite guidée de ses fonctionnalités 2D). Si vous ne possédez pas déjà une expérience en C #, que Unity utilise pour les scripts, vous voudrez le rafraîchir avant d'apprendre Unity, car cela facilitera votre courbe d'apprentissage globale.

L' unité fait aussi beaucoup de choses la « dure » en matière de développement de jeux 2D, qui ne se sent natif par rapport aux autres moteurs de jeu. Créer un monde de jeu 2D dans Unity, par exemple, donne l'impression de chausser un plan 2D dans un grand espace 3D, et des choses comme l'animation et la perfection des pixels sont plus maladroites que dans d'autres moteurs 2D spécifiques.

Vous pouvez créer n'importe quel type de jeu 2D avec Unity si vous êtes prêt à vous battre avec l'éditeur et les particularités 3D sous-jacentes. Il bénéficie d'un support communautaire étendu et vous constaterez que travailler avec C # est un plaisir. De plus, le magasin d'actifs d'Unity propose toutes sortes d'art et de modèles à télécharger et à acheter, mais l'acheteur se méfie: vous pourriez passer autant de temps à réécrire le code de quelqu'un d'autre pour l'adapter à votre projet que vous le feriez à partir de zéro.

Unity est, en général, gratuit à utiliser, mais la tarification devient plus complexe si vous souhaitez utiliser tout ce qu'elle a à offrir (voir cette page pour plus de détails).

Godot

Godot est un moteur de jeu 2D et 3D gratuit et open source qui prend en charge GDScript, C # et même C ++ et Python si vous êtes prêt à faire beaucoup de travail pour les faire fonctionner. Il prend en charge un flux de travail de type nœud et est super léger.

Si vous a) êtes prêt à investir dans l'apprentissage de GDScript ou b) déjà très bon en C #, C ++ ou Python, tout ira probablement bien avec Godot, en particulier si vous aimez travailler avec des logiciels open source. Sinon, vous risquez d'être facilement frustré, car il n'y a pas autant de support pour C # ou d'autres langages que pour GDScript. Pourtant, Godot est un moteur agréable avec lequel travailler, et bien qu'il puisse ne pas avoir le même pedigree et le même soutien de la communauté que quelque chose comme Unity, si vous êtes autonome, vous pourriez vous sentir bien chez vous.

Construire 3

Si vous voulez juste créer des jeux 2D et que vous ne vous souciez pas du langage de programmation ou des frais d'abonnement, vous trouverez Construct 3 pour avoir tout ce dont vous avez besoin pour obtenir une démo opérationnelle, et rapidement. Tout votre travail sera effectué dans un navigateur, à l'aide d'outils de glisser-déposer (et d'un support JavaScript personnalisé si vous en avez besoin).

Cependant, ne vous attendez pas à vivre une expérience vraiment productive avec Construct 3 gratuitement. Il existe une démo simple que vous pouvez essayer, mais le développement de jeux percutant avec Construct 3 est verrouillé derrière un paywall, et un abonnement en plus.

Game Maker Studio 2

Game Maker Studio 2 dispose d'un éditeur convivial qui prend en charge un langage propriétaire appelé, de manière appropriée, Game Maker Language (GML), ainsi que des scripts visuels. Il propose également de nombreux didacticiels, un excellent support communautaire et un magasin d'actifs (qui comporte les mêmes mises en garde que Unity, ci-dessus).

Le flux de travail général de Game Maker Studio 2 et des actions telles que l'animation de sprites, la configuration de votre monde de jeu, etc., sont simples et intuitifs. GML n'est peut-être pas votre tasse de thé si vous venez d'un autre langage de programmation plus largement utilisé, et je ne le recommanderais pas comme première introduction à l'apprentissage du code. Il utilise certains des concepts de base de la programmation, mais pas des détails importants tels que les meilleures pratiques de codage ou comment écrire du code propre.

De plus, vous pouvez essayer Game Maker Studio 2 avec un essai gratuit de 30 jours, mais vous devrez payer pour continuer à l'utiliser après cette période.

Phaser 3

Si vous voulez tout coder et en apprendre beaucoup sur l'écosystème JavaScript tout en le faisant, consultez Phaser 3 (ou attendez Phaser 4, qui est en route).

Phaser est un framework JavaScript léger et puissant pour créer des jeux 2D. Alors que Phaser 2 était extrêmement bien documenté et bénéficiait d'un excellent soutien communautaire, Phaser 3 est tout le contraire. Il y a une bonne documentation officielle et un tas d'exemples (sans beaucoup de contexte, il faut le dire), et une quantité terriblement petite de tutoriels.

Attendez-vous à tout construire vous-même, mais si vous recherchez la prise en charge d'ES6 ou de TypeScript, ou si vous voulez vraiment perfectionner vos compétences en tant que développeur JavaScript, vous serez en mesure d'aller loin avec Phaser 3.

Dans un souci d'équité, je devrais mentionner deux autres moteurs de jeu 2D qui m'ont été recommandés depuis que j'ai commencé à écrire sur le sujet: LÖVE 2D, qui utilise Lua, et MonoGame, qui prend en charge C #. Je n'ai utilisé ni l'un ni l'autre (ni d'autres, comme PyGame), et je ne peux pas parler de leur utilité, mais ils valent peut-être la peine d'être vérifiés.

Dites-moi quel moteur de jeu 2D vous utilisez et pourquoi!

Si vous avez aimé cet article, pensez à consulter mes jeux et mes livres, à vous abonner à ma chaîne YouTube ou à rejoindre le Discord Entromancy .

MS Farzan, Ph.D. a écrit et travaillé pour des sociétés de jeux vidéo de haut niveau et des sites éditoriaux tels que Electronic Arts, Perfect World Entertainment, Modus Games et MMORPG.com, et a servi en tant que Community Manager pour des jeux comme Dungeons & Dragons Neverwinter et Mass Effect: Andromeda . Il est le directeur créatif et le concepteur principal du jeu Entromancy: A Cyberpunk Fantasy RPG et auteur de The Nightpath Trilogy . Retrouvez MS Farzan sur Twitter @sominator.