Quelle plate-forme choisir pour votre prochain jeu mobile?

Dans cet article, nous explorons plusieurs moteurs de jeux et frameworks, en soulignant certains des avantages clés qu’ils offrent. Après avoir lu cet article, vous aurez le choix entre plusieurs options pour réussir le prochain grand succès. Notez que nous nous concentrons uniquement sur les aspects 2D de ces plates-formes. Commençons.

1. Cocos2D

Cocos2d est un framework libre et open-source, compatible avec Swift et Objective-C. Il prend en charge iOS et OS X et prend également en charge Android via le plug-in SpriteBuilder Android, à condition que votre code soit écrit en Objective-C. Le support rapide pour Android est en développement.

Les projets dans Cocos2d sont créés via SpriteBuilder, un environnement de conception graphique que vous pouvez utiliser pour créer et prototyper rapidement des jeux. Vous n'êtes pas obligé d'utiliser SpriteBuilder pour créer votre jeu. Toutefois, la création du projet doit être effectuée via SpriteBuilder..

La gestion des scènes se fait à travers le CCDirecteur classe, qui peut utiliser de nombreuses transitions avec le CCTransition classe. Il propose des animations à travers le CCAnimation classe et actions, telles que déplacer, redimensionner et faire pivoter, avec Action classe. Cocos2d prend en charge les systèmes de particules avec CCParticleSystem classe et a un support pour les cartes de tuiles avec le CCTiledMap classe.

Cocos2d utilise également OpenGL comme moteur de rendu. Il utilise Chipmunk comme moteur physique. Si vous aimez Objective-C ou Swift et que vous souhaitez développer plusieurs plates-formes (iOS et Android), alors Cocos2d est un framework à considérer..

2. Cocos2d-x

Cocos2d-x est un port C ++ de Cocos2d pouvant être compilé sur de nombreuses autres plates-formes. Cocos2d-x peut compiler pour iOS, Android, Windows Phone, OS X, Windows et Linux.

Cocos2d-x ne vient pas avec SpriteBuilder. Cependant, certains projets intéressants, tels que Cocos Creator, fournissent le cadre, l’édition des scènes, le débogage, la prévisualisation du jeu et la publication sur plusieurs plates-formes..

3. Unité

Unity est un moteur de jeu mobile prenant en charge C # et UnityScript, un langage spécialement conçu pour Unity et modélisé à l'aide de JavaScript. Il est multi-plateforme et peut être déployé sur de nombreuses plateformes, notamment sur PlayStation et Xbox. Il existe une édition gratuite et une édition professionnelle offrant davantage de fonctionnalités. Plus d'informations sont disponibles sur le site Web d'Unity.

Il existe un éditeur de sprites intégré dans lequel vous pouvez découper visuellement vos images et une fenêtre d’animation vous permettant de disposer et d’organiser des animations et d’ajouter des animations d’images clés aux sprites. Il est également possible de concevoir visuellement des systèmes de particules dans l'éditeur Unity..

Unity utilise son propre moteur physique propriétaire. Unity possède une caméra intégrée qui simplifie la navigation dans le monde du jeu. Vous pouvez organiser visuellement des scènes et Unity dispose d'un système d'interface utilisateur avec des composants, tels que des boutons, des curseurs et des menus. L’éditeur Unity prend également en charge l’emballage des sprites..

L'unité est une puissance en matière de moteurs de jeux. Si vous avez besoin d'une solution multiplateforme prenant en charge une large gamme de périphériques et que vous préférez programmer en C # ou en UnityScript, alors Unity est un bon choix. Un autre avantage de Unity est le magasin de ressources dans lequel vous pouvez trouver ou acheter des ressources que vous pouvez utiliser dans vos jeux..

4. SpriteKit

SpriteKit est le framework de développement de jeux 2D d’Apple. Il n’est disponible que sur iOS et OS X. SpriteKit prend en charge Swift et Objective-C, une combinaison des deux.

La gestion de la scène se fait avec le SKView classe et il existe une grande variété de transitions avec le SKTransition classe. Au cœur de SpriteKit se trouvent des actions, des exemples de SKAction classe, qui sont utilisés pour déplacer, faire pivoter et redimensionner les objets de jeux. Les actions peuvent également être utilisées pour jouer des sons et exécuter du code personnalisé.

SpriteKit a un éditeur de scène dans lequel vous pouvez concevoir visuellement les niveaux de votre jeu. Un éditeur de particules dans lequel vous pouvez concevoir visuellement des systèmes de particules est également disponible. Un certain nombre de systèmes de particules prédéfinis sont disponibles, tels que le feu et la pluie.

SpriteKit utilise Box2D pour son moteur physique. SpriteKit fournit un wrapper convivial autour de Box2D, ce qui le rend très facile à utiliser. SpriteKit a également une caméra intégrée à travers le SKCameraNode classe, ce qui facilite la navigation dans le monde du jeu.

Si vous êtes lié à l'écosystème Apple, alors SpriteKit est un très bon choix..

5. titane

Titanium est un framework qui utilise JavaScript comme langage de programmation. Bien que traditionnellement utilisé pour créer des applications au lieu de jeux, il peut être une plate-forme de développement de jeux viable. Il est libre d'utiliser pendant le développement. Si vous voulez publier votre jeu, vous avez besoin d'une licence.

Titanium prend en charge de nombreux contrôles natifs d'iOS et d'Android. Cela facilite l'animation des vues et des images. J'ai construit un jeu de Blackjack complet avec des animations et un bel effet de retournement de cartes avec Titanium.

Une des bonnes choses à propos de Titanium est le marché du téléchargement de modules personnalisés. Par exemple, vous pouvez brancher un module Box2D à votre application. Si vous n'avez pas besoin de la complexité de Box2D, utiliser un simple système de collision de boîtes englobantes peut tout aussi bien fonctionner..

Bien que Titanium ne soit pas idéal pour les jeux avec beaucoup de pièces mobiles et les explosions de particules, son utilisation pour de simples jeux de cartes, des jeux-questionnaires et des jeux avec un nombre limité d'objets en mouvement est plus qu'une option viable..

6. PhoneGap

PhoneGap vous permet de tirer parti de vos compétences existantes en HTML, CSS et JavaScript et de les regrouper en tant qu'application mobile. Cela fonctionne en intégrant une vue Web dans l'application et en chargeant vos ressources dans cette vue Web. Cela signifie que vous pouvez utiliser l’API Canvas pour créer des jeux..

PhoneGap permet d'accéder aux API natives, telles que la caméra, le microphone et, plus important encore, pour le développement de jeux, l'accéléromètre..

À la base, PhoneGap est assez simple. Il faut une application pilotée par HTML et la présente comme une application mobile utilisant un affichage Web..

Nous allons examiner deux autres bibliothèques JavaScript que vous pouvez utiliser pour créer un jeu Canvas / WebGL, Phaser et CreateJS..

7. Phaser

Phaser est un framework JavaScript open-source permettant d'écrire des jeux en 2D. Il utilise Canvas ou WebGL si disponible.

Phaser prend en charge les animations, les particules et les tweens pour déplacer, redimensionner et faire pivoter les sprites. Il prend en charge les cartes de tuiles et utilise trois moteurs physiques différents, en fonction de vos besoins. Il possède également une caméra intégrée, ce qui facilite la navigation dans votre monde de jeu..

Certains plugins sont disponibles pour Phaser, notamment un concepteur de système de particules et un plugin Box2D. Si JavaScript est votre langue de choix, alors Phaser, associé à PhoneGap, pourrait être un bon choix..

8. CreateJS

CreateJS est une suite de quatre bibliothèques open source différentes:

  • ChevaletJS
  • TweenJS
  • SoundJS
  • PréchargeJS

EaselJS est une bibliothèque basée sur l'API Canvas et peut utiliser WebGL si disponible. TweenJS se concentre sur les éléments d’interpolation, tandis que SoundJS est destiné à la lecture audio. Last but not least, PreloadJS aide au préchargement des ressources..

EaselJS prend en charge les feuilles d’image-objet et les filtres que vous pouvez placer sur vos éléments. Il y a aussi Forme classe si vous avez besoin de faire un dessin vectoriel. Le déplacement, la mise à l'échelle et la rotation sont effectués en incorporant la bibliothèque TweenJS à votre jeu..

Bien que CreateJS ne possède pas beaucoup d'API adaptées au développement de jeux, il est écrit en JavaScript pour vous permettre d'incorporer toutes les bibliothèques JavaScript supplémentaires que vous souhaitez, telles que le port JavaScript de Box2D. Une bibliothèque que j’ai utilisée avec succès par le passé est une bibliothèque de détection de collision pour EaselJS..

J'ai écrit quelques articles sur CreateJS sur Envato Tuts +. Si vous recherchez une introduction détaillée à ces bibliothèques, alors vous pourrez trouver celles-ci intéressantes:

  • Utilisation de CreateJS - EaselJS
  • Utilisation de CreateJs: PreloadJS, SoundJS et TweenJS

9. Moteur Unreal

Unreal Engine est un moteur de jeu qui utilise C ++ comme langage de programmation. Il est libre d'utiliser avec des limites. Pour plus de détails, visitez le site Web d'Unreal Engine. Vous pouvez déployer votre jeu sur iOS et Android.

Unreal Engine inclut également un éditeur, Blueprint Editor, qui vous permet de créer un script visuel pour vos applications sans avoir besoin de programmation. L'éditeur vous permet de concevoir des niveaux de jeu, d'ajouter une simulation physique, une interface utilisateur, des animations, des effets visuels, etc., de manière visuelle..

10. SDK Corona

Corona SDK est un kit de développement logiciel qui utilise Lua comme langage de script. Il est disponible sous Windows et OS X. Vous pouvez développer vos jeux et vos applications gratuitement avec le SDK Corona. Cependant, Perk, la société qui a acquis Corona Labs, propose un modèle d'entreprise donnant accès aux bibliothèques / API natives et à quelques autres. fonctionnalités. Visitez leur site Web pour plus d'informations sur les prix.

Les exportations Corona SDK vers iOS, Android, Kindle et Windows Phone 8. Les exportations Windows et OS X sont en version bêta privée et seront bientôt disponibles..

Corona Labs offre d’autres fonctionnalités intéressantes, telles que Corona Editor, un plugin Sublime Text qui inclut un débogueur, la complétion de code et quelques autres options intéressantes. L'interface graphique de Composer, disponible sous OS X, vous offre un environnement graphique dans lequel vous pouvez concevoir les niveaux de votre jeu et voir comment les objets interagissent les uns avec les autres à l'aide du moteur physique de Corona..

Corona SDK utilise OpenGL comme moteur de rendu et Box2D pour la physique. Son moteur physique fournit un wrapper autour de Box2D, ce qui le rend plus facile à utiliser. Le SDK Corona comprend plus de mille API que vous pouvez utiliser pour créer vos jeux..

Il intègre également une gestion des scènes intégrée à sa bibliothèque de composition et offre une excellente bibliothèque de transition permettant de déplacer, de redimensionner et de faire pivoter les éléments graphiques de votre jeu..

Malheureusement, le SDK Corona n’a pas la possibilité de créer des atlas de sprites et il peut être difficile d’utiliser des formes complexes pour la détection des collisions physiques. Cependant, certaines applications tierces peuvent soulager cette douleur, telles que Texture Packer et Physics Editor..

Globalement, le SDK Corona est un excellent SDK à explorer si vous recherchez une solution multiplate-forme et souhaitez utiliser facilement le langage de script Lua..

11. Gideros

Gideros, comme Corona, utilise Lua comme langage de script. Gideros est gratuit et open-source, et il peut compiler pour iOS, Android, Windows Phone, OS X, Windows et Windows RT..

Bien que Lua ne soit pas un langage de programmation orienté objet avec un système basé sur des classes, Gideros fournit une API basée sur des classes, permettant aux développeurs d'écrire du code propre et réutilisable..

Gideros a un régisseur avec toutes sortes de transitions, un MovieClip classe pour les animations et fournit une interpolation via sa bibliothèque GTween, qui vous permet de déplacer, mettre à l'échelle, faire pivoter des entités et plus.

Gideros, comme Corona, utilise Box2D pour la physique, bien que l'API Box2D de Gideros soit un peu plus proche de l'API Box2D d'origine et donc légèrement plus difficile à utiliser.

Il fournit des outils supplémentaires, tels qu'un outil de compression de texture et un créateur de polices, disponibles dans le répertoire d'installation. Gideros vous permet de tester instantanément vos projets sur votre appareil mobile via une connexion Wi-Fi..

Comme avec Corona, c'est une excellente plate-forme si vous recherchez un développement multiplate-forme avec la facilité du langage de programmation Lua..

12. AndEngine

AndEngine est un framework de développement mobile pour Android. C'est gratuit et open-source. Cependant, comme son nom l'indique, ce n'est que pour Android. AndEngine, comme beaucoup d’autres plateformes mobiles, utilise OpenGL comme moteur de rendu et Box2D comme moteur physique via une extension..

AndEngine prend en charge les sprites animés, les systèmes de particules et permet l'interpolation d'entités via des modificateurs d'entité. AndEngine fournit également un Caméra classe qui vous permet de vous déplacer facilement dans le monde du jeu.

AndEngine ne dispose pas de gestion de scène dédiée, mais vous trouverez de nombreux exemples sur la manière de créer un gestionnaire de scène simple. Si vous souhaitez publier uniquement une application Android et que Java est votre langue de choix, ce cadre est une bonne option..

13. libGDX

libGDX est un autre framework de développement de jeux Java. Il est multi-plateforme et peut compiler pour Windows, OS X, Linux, Android, iOS, Blackberry et HTML5. libGDX utilise également OpenGL comme moteur de rendu et exploite Box2D pour simuler la physique..

libGDX a un Caméra classe, un action classe pour déplacer, mettre à l'échelle et faire pivoter des objets, et unParticleEmitter classe d'affichage des particules. Il prend en charge les cartes de tuiles via leTiledMap classe, qui peut être utilisé avec l'éditeur Tiled.

libGDX est livré avec des outils supplémentaires, tels qu'un empaqueteur de textures, un éditeur de particules et un générateur de polices bitmap.

Si Java est votre langue préférée et que vous souhaitez créer un jeu multiplate-forme, alors libGDX est un bon framework à explorer..

Conclusion

Dans cet article, nous avons présenté plusieurs frameworks et moteurs de développement de jeux. Vous devriez maintenant avoir une meilleure idée des solutions qui correspondent le mieux à vos besoins et à ceux de votre prochain match. Merci de votre lecture et j'espère que vous avez trouvé cet article utile.