Maison >interface Web >js tutoriel >Choisissez la meilleure plateforme de jeu mobile pour votre prochain projet
Dans cet article, nous explorons plusieurs moteurs et frameworks de jeu, mettant en évidence certains des avantages clés qu'ils offrent chacun. Après avoir lu cet article, vous disposerez d’une variété d’options pour réaliser votre prochain grand succès. Notez que nous nous concentrons uniquement sur les aspects 2D de ces plateformes. Commençons.
Cocos2d est un framework gratuit et open source compatible avec Swift et Objective-C. Il prend en charge iOS et OS X, et si votre code est écrit en Objective-C, il prend également en charge Android via le plugin Android SpriteBuilder. La prise en charge de Swift pour Android est en cours de développement.
Les projets dans Cocos2d sont créés avec SpriteBuilder, un environnement de conception graphique pour le prototypage rapide et la construction de jeux. Vous n'avez pas besoin d'utiliser SpriteBuilder pour créer votre jeu, cependant, la création de projet doit être effectuée via SpriteBuilder.
La gestion des scènes prend en charge les cartes découpées via la classe CCDirector
类完成的,它可以通过 CCTransition
类。它通过 CCAnimation
类提供动画,并通过其 CCAction
类提供移动、缩放和旋转等操作。 Cocos2d 通过 CCParticleSystem
类支持粒子系统,并通过 CCTiledMap
.
Cocos2d utilise également OpenGL comme moteur de rendu. Il utilise Chipmunk comme moteur physique. Si vous préférez Objective-C ou Swift et souhaitez développer pour plusieurs plateformes (iOS et Android), Cocos2d est un framework à considérer.
Cocos2d-x est un port C++ de Cocos2d qui compile sur de nombreuses autres plateformes. Cocos2d-x compile sur iOS, Android, Windows Phone, OS X, Windows et Linux.
Cocos2d-x n'est pas fourni avec SpriteBuilder. Cependant, il propose quelques projets intéressants, tels que Cocos Creator, qui fournit des frameworks, l'édition de scènes, le débogage, la prévisualisation de jeux et la publication sur plusieurs plates-formes.
Unity est un moteur de jeu mobile qui prend en charge C# et UnityScript, un langage conçu spécifiquement pour Unity et calqué sur JavaScript. Il est multiplateforme et peut être déployé sur de nombreuses plateformes, notamment PlayStation et Xbox. Il existe une version gratuite et une version pro qui offre plus de fonctionnalités. Visitez le site Web d'Unity pour plus d'informations.
Il existe un éditeur de sprites intégré dans lequel vous pouvez découper les images visuellement, ainsi qu'une fenêtre d'animation qui vous permet de disposer et d'organiser des animations et d'ajouter des animations d'images clés aux sprites. Les systèmes de particules peuvent également être conçus visuellement dans l'éditeur Unity.
Unity utilise son propre moteur physique propriétaire. Unity dispose d'une caméra intégrée qui facilite la navigation dans le monde du jeu. Vous pouvez présenter votre scène visuellement et Unity dispose d'un système d'interface utilisateur qui comprend des composants tels que des boutons, des curseurs et des menus. Le packaging de sprites est également pris en charge dans l'éditeur Unity.
Unity est un moteur puissant pour les moteurs de jeux. Si vous avez besoin d'une solution multiplateforme prenant en charge plusieurs appareils et que vous préférez la programmation en C# ou UnityScript, Unity est un bon choix. Un autre avantage de Unity est l'Asset Store, où vous pouvez trouver ou acheter des actifs que vous pouvez utiliser dans votre jeu.
SpriteKit est le framework de développement de jeux 2D propriétaire d'Apple. Cela ne fonctionne que sur iOS et OS X. SpriteKit prend en charge à la fois Swift et Objective-C, une combinaison des deux.
La gestion des scènes se fait via des instances de la classe SKView
类完成的,并且 SKTransition
类有各种各样的转换。 SpriteKit 的核心是操作,即 SKAction
, utilisées pour déplacer, faire pivoter et mettre à l'échelle les objets du jeu. Les actions peuvent également être utilisées pour jouer des sons et exécuter du code personnalisé.
SpriteKit dispose d'un éditeur de scène où vous pouvez concevoir visuellement les niveaux de votre jeu. Un éditeur de particules est également fourni, dans lequel vous pouvez concevoir visuellement des systèmes de particules. Il existe de nombreux systèmes de particules préconçus, tels que le feu et la pluie.
SpriteKit utilise Box2D comme moteur physique. SpriteKit fournit un wrapper convivial pour Box2D, ce qui le rend très facile à utiliser. SpriteKit dispose également d'une caméra intégrée via la classe SKCameraNode
, ce qui facilite la navigation dans le monde du jeu.
Si vous êtes étroitement connecté à l'écosystème Apple, SpriteKit est un très bon choix.
Titanium est un framework qui utilise JavaScript comme langage de programmation. Bien qu’elle soit plus traditionnellement utilisée pour créer des applications plutôt que des jeux, elle peut constituer une plate-forme de développement de jeux viable. Son utilisation est gratuite pendant le développement. Si vous souhaitez publier votre jeu, vous avez besoin d'une licence.
Titanium prend en charge de nombreux contrôles natifs pour iOS et Android. Cela facilite l’animation des vues et des images. J'ai construit un jeu de blackjack en utilisant Titanium, avec des animations et de jolis effets de retournement de cartes.
L'un des avantages de Titanium est le marché permettant de télécharger des modules personnalisés. Par exemple, vous pouvez brancher le module Box2D sur votre application. Si vous n'avez pas besoin de la complexité de Box2D, l'utilisation d'un simple système de collision de boîtes englobantes fonctionnera très bien.
Bien que le titane ne soit pas idéal pour les jeux comportant de nombreuses pièces mobiles et des explosions de particules, son utilisation pour de simples jeux de cartes, des jeux-questionnaires et des jeux avec un nombre limité d'objets mobiles est plus qu'une option viable.
PhoneGap vous permet d'exploiter vos compétences HTML, CSS et JavaScript existantes et de les regrouper sous forme d'application mobile. La façon dont cela fonctionne est que vous intégrez une vue Web dans votre application et chargez 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 à des API natives telles que la caméra, le microphone de l'appareil et, surtout pour le développement de jeux, l'accéléromètre.
À la base, PhoneGap est très simple. Il prend une application HTML et la conditionne sous forme d'application mobile à l'aide de vues Web.
Nous présenterons deux autres bibliothèques JavaScript pouvant être utilisées pour créer des jeux Canvas/WebGL : Phaser et CreateJS.
Phaser est un framework JavaScript open source pour écrire des jeux 2D. Il utilise Canvas ou WebGL lorsqu'ils sont disponibles.
Phaser prend en charge les animations, les particules et les interpolations 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 dispose également d'une caméra intégrée, vous permettant de naviguer facilement dans le monde du jeu.
Phaser propose quelques plugins, notamment Particle System Designer et le plugin Box2D. Si JavaScript est votre langage de prédilection, Phaser combiné à PhoneGap pourrait être un bon choix.
CreateJS est une suite de quatre bibliothèques open source différentes :
EaselJS est une bibliothèque basée sur l'API Canvas, qui peut utiliser WebGL lorsqu'elle est disponible. TweenJS se concentre sur l'interpolation des éléments, tandis que SoundJS se concentre sur la lecture audio. Enfin et surtout, PreloadJS aide au préchargement des ressources.
EaselJS prend en charge les feuilles de sprite et les filtres que vous pouvez placer sur les éléments. Il existe également un cours Shape
si vous avez besoin de faire du dessin vectoriel. Le déplacement, la mise à l'échelle et la rotation sont réalisés en incorporant la bibliothèque TweenJS dans votre jeu.
Bien que CreateJS ne dispose pas de nombreuses API personnalisées spécifiquement pour le développement de jeux, il est écrit en JavaScript, vous pouvez donc incorporer toutes les bibliothèques JavaScript supplémentaires dont vous avez besoin, comme le port JavaScript de Box2D. Une bibliothèque que j'ai utilisée avec succès dans le passé est la bibliothèque de détection de collision d'EaselJS.
J'ai écrit plusieurs articles sur CreateJS sur Envato Tuts+. Si vous recherchez une introduction détaillée à ces bibliothèques, celles-ci pourraient vous intéresser :
Unreal Engine est un moteur de jeu qui utilise le C++ comme langage de programmation. Son utilisation est gratuite, mais il existe des restrictions. Pour plus de détails, visitez le site Web d'Unreal Engine. Vous pouvez déployer votre jeu sur iOS et Android.
Unreal Engine comprend également un éditeur de plans, vous permettant de créer un script visuel pour votre application sans avoir besoin de programmation. L'éditeur vous permet de concevoir visuellement des niveaux de jeu, d'ajouter des simulations physiques, des interfaces utilisateur, des animations, des effets visuels et bien plus encore.
Corona SDK est un kit de développement logiciel utilisant Lua comme langage de script. Il est disponible sur Windows et OS X. Vous pouvez développer des jeux et des applications gratuitement à l'aide du SDK Corona, mais Perk (la société qui a acquis Corona Labs) propose un modèle d'entreprise avec accès aux bibliothèques/API natives et à quelques autres fonctionnalités. Veuillez visiter leur site Web pour plus d’informations sur les prix.
Corona SDK exporte vers iOS, Android, Kindle et Windows Phone 8. L'export Windows et OS X est en version bêta et sera bientôt disponible.
Corona Labs propose également d'autres fonctionnalités attrayantes telles que Corona Editor, le plugin Sublime Text qui comprend un débogueur, la complétion de code et quelques autres options intéressantes. L'interface graphique Composer disponible sur 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 comme moteur physique. Son moteur physique fournit un wrapper autour de Box2D, ce qui le rend plus facile à utiliser. Le SDK Corona contient plus d'un millier d'API que vous pouvez utiliser pour créer des jeux.
Il dispose également d'une gestion de scène intégrée via sa bibliothèque d'écriture et fournit une excellente bibliothèque de transition pour aider à déplacer, mettre à l'échelle et faire pivoter les ressources graphiques du jeu.
Malheureusement, le SDK Corona n'a pas d'option pour créer un atlas de sprites, et la détection de collisions physiques avec des formes complexes peut être difficile. Cependant, il existe d'excellentes applications tierces qui peuvent atténuer ce problème, telles que les packers de textures et les éditeurs physiques.
Dans l'ensemble, si vous recherchez une solution multiplateforme et souhaitez utiliser facilement le langage de script Lua, le SDK Corona est un excellent SDK à explorer.
Gideros, comme Corona, utilise Lua comme langage de script. Gideros est gratuit et open source et se compile sur 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 les classes, Gideros fournit une API basée sur les classes qui permet aux développeurs d'écrire du code propre et réutilisable.
Gideros dispose d'un gestionnaire de scène avec diverses transitions, d'une MovieClip
classe pour les animations et propose des interpolations via sa bibliothèque GTween, vous permettant de déplacer, redimensionner, faire pivoter des entités, et bien plus encore. p>
Gideros, comme Corona, utilise Box2D pour la physique, bien que l'API Box2D de Gideros soit 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 d'empaquetage de textures et un créateur de polices, qui peuvent être trouvés 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 Corona, c'est une excellente plateforme si vous recherchez un développement multiplateforme facile à l'aide du langage de programmation Lua.
AndEngine est un framework de développement mobile Android. C'est gratuit et open source. Cependant, comme son nom l’indique, il ne fonctionne que sur Android. AndEngine, comme beaucoup d'autres plates-formes mobiles, utilise OpenGL comme moteur de rendu et, par extension, Box2D comme moteur physique.
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 propose également des Camera
cours qui vous permettent de vous déplacer facilement dans le monde du jeu.
Il n'y a pas de gestion de scène dédiée dans AndEngine, mais vous pouvez trouver de nombreux exemples sur la façon de créer un gestionnaire de scène simple. Ce framework est un bon choix si vous souhaitez uniquement publier des applications Android et que Java est votre langage de prédilection.
libGDX est un autre framework de développement de jeux Java. Il est multiplateforme et compile sous Windows, OS X, Linux, Android, iOS, Blackberry et HTML5. libGDX utilise également OpenGL comme moteur de rendu et Box2D pour simuler la physique.
libGDX a une classe Camera
类、一个用于移动、缩放和旋转对象的 Action
类,以及一个用于显示粒子的 aParticleEmitter
类。它通过 TiledMap
, une classe Action
pour déplacer, mettre à l'échelle et faire pivoter des objets, et une classe ParticleEmitter. . Il prend en charge les cartes de tuiles via la classe <code class="inline">TiledMap
, qui peut être utilisée avec l'éditeur Tiled.
libGDX est livré avec des outils supplémentaires tels qu'un packer de textures, un éditeur de particules et un générateur de polices bitmap. p>
Si Java est votre langage de prédilection et que vous souhaitez créer des jeux multiplateformes, alors libGDX est un bon framework à examiner.
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 répondront le mieux à vos besoins et de ce dont vous aurez besoin pour votre prochain jeu. Merci d’avoir lu et j’espère que vous avez trouvé cet article utile.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!