Moteurs graphiques 2D inter-plateformes [fermé]


57

Je recherche un moteur graphique 2D qui me permettrait de publier sur Windows, Mac et l'iPhone, un peu comme Unity le fait pour la 3D.

Y at-il un bon moteur qui fait cela et est spécifique à la 2D?


Si vous vous sentez aventureux, vous pouvez toujours consulter l'un des jeux 2D open source, tels que Aquaria, Gish et le reste du Humble Indie Bundle.
MarkovCh1

6
Vous avez oublié Linux, pas d'amour pour ces gars?
Derek

Réponses:


37

Il y a toujours l'ancienne veille, SDL . C'est un niveau assez bas, mais c'est cette simplicité qui lui permet d'être porté sur plusieurs milliards de plates-formes (y compris Windows, Linux, Mac, Nintendo DS, Wii, etc.). Il y a un port iPhone , que je n'ai pas utilisé, mais qui semble assez mature.


Il ne semble pas qu'ils aient une version 1.3 "stable" pour le moment, qui est la version que vous voudrez pour le support iphone. Vous aurez probablement besoin de récupérer la version 1.3 de leur dépôt HG et de la construire vous-même.
Casey

22

Il n'y a vraiment aucune raison pour que vous ne puissiez pas utiliser Unity3D pour créer des jeux "2D". Vous pouvez utiliser des quads texturés et une caméra orthographique, et vous avez vous-même un jeu en 2D. Il existe même des solutions uniques, telles que l’utilisation d’un système d’animation squelettique et la mise en place d’images-objets au-dessus de différentes articulations, ou l’utilisation d’une caméra de perspective vraiment étroite pour obtenir une parallaxe économique.

Il existe même des fournisseurs de middleware pour qu'Unity fournisse de meilleures solutions de gestion des sprites. Comme gestionnaire de sprite 2 .


2
J'ai en fait fait cela. Je trouve que l’aspect 3D de l’unité tend à gêner l’interface utilisateur. De plus, je finis toujours par créer une scène factice qui n’a rien à voir avec une caméra avec mon script racine attaché. Je vais vérifier le lien que vous avez mentionné cependant!
Kevin Laity

20

SFML est un moteur graphique moderne, orienté objet, multi-plateforme. Il est accéléré par le matériel (basé sur OpenGL) et possède des liaisons pour

  • C ++
  • C
  • .Net (C #, VB.Net, C ++ / CLI, ...)
  • Python
  • Rubis
  • Ocaml

4
+1 pour SFML. C'est génial, mais le seul problème est le manque de port iphone.
Le canard communiste

12

SDL, Allegro, OpenGL
SDL et Allegro ne sont pas seulement des bibliothèques graphiques, mais également des bibliothèques de développement de jeux.
Un inconvénient de SDL est qu’il reprend votre main () et le redéfinit, ce qui rend difficile sa combinaison avec d’autres bibliothèques. (QT d'après mon expérience)
Autre inconvénient, SDL n'autorise qu'une fenêtre (il s'agit de la version 1.2 stable, mais de la version de développement 1.3, mais elle n'est pas encore totalement prise en charge ni documentée).
Je peux nommer les points faibles de SDL car je le connais travaillé avec, mais malgré cela, il est très puissant, de nombreux émulateurs, y compris un portage de Mame et ScummVM, ainsi que des jeux l’utilisent.
OpenGL, en dépit de son utilisation 3D répandue, est une bibliothèque graphique et, en tant que telle, permet également la création de graphiques 2D via une manipulation au niveau des pixels des surfaces et exploite de manière intensive l'accélération matérielle en 3D et en 2D.


J'utilise pour créer des jeux dans Allegro tout le temps. Adoré
Ton

Qt ne prend cependant pas le contrôle principal, même avec une boucle d'événement dans QCoreApplication. Vous pouvez appeler qApp-> processEvents dans la boucle de votre choix et Qt sera heureux.
Mircea Chirea

1
Est-ce que SDL doit prendre en charge votre boucle principale? Je pensais que vous pourriez éviter cela en n'incluant pas SDLmain.h et en prenant soin de faire les choses vous-même ...
Ricket

2
SDL ne prend pas en charge votre boucle de jeu principale. Vous créez généralement le vôtre. Dans cet appel, appelez SDL_PollEvent pour obtenir tous les événements dont SDL a connaissance (saisie au clavier, mouvements de la souris, etc.).
dcarrigg

6

Vous pouvez regarder Troll2D

Box2D est utilisé pour de nombreuses plateformes. Y compris l'iPhone. Mais vous devez trouver un moyen d’afficher ces objets. Depuis Box2D ne gère que la simulation physique 2D.


Olafur - Je dirais que Troll2D était votre réponse, vous devriez donc commencer par cela. Box2d devrait être la pensée après coup.
Iain

5

LÖVE est un moteur 2D qui permet de développer facilement et rapidement des jeux dans le langage Lua .

Il fonctionne sur Mac (PPC et Intel), Windows et Linux (32 et 64 bits) et les jeux sont facilement distribués sous forme de fichiers ".love" à fichier unique sur toutes les plateformes.

Ils sont fondamentalement une version compressée de votre jeu avec l' extension zip renommée en amour .

Malheureusement, il n'y a pas de port iPhone (jusqu'à présent).


5

Cocos2D a été créé sous Python sous Mac / Windows et est disponible dans une version Objective-C sous l’iPhone . C'est populaire dans le développement de jeux iPhone en 2D. Ray Wenderlich propose d’excellents tutoriels Cocos2D pour iPhone .

Comme ils sont passés de Python à Objective-C, je suppose que vous ne pourrez plus compiler de manière croisée entre toutes les plates-formes à partir de la même base de code.


Correct, il y a beaucoup de ports cocos2d mais tous utilisent leur propre langage. Objective-C pour iPhone, Java pour Android, Javascript pour le Web, Python pour la version PC d'origine et C ++ pour le nouveau port Windows prenant éventuellement en charge Windows Mobile (ce n'est pas clair à ce sujet). À part le nom et la philosophie de conception, ils ne sont en aucun cas interchangeables.
LearnCocos2D

Je pense que Cocos2d-x est maintenant assez stable et multiplate-forme, avec un seul langage d’implémentation: C ++ (avec iPhone aussi).
legends2k

4

Si vous n'êtes pas inquiet à propos de l'iPhone, il y a toujours Flash dans le package AIR: vous perdez l'iPhone mais vous gagnez le déploiement sur Linux et sur le Web. Vous pouvez ensuite choisir les moteurs de jeu / physique / rendu qui conviennent à votre projet, par exemple. FlashPunk, Flixel, Box2d.


Vous bénéficiez également d’une prise en charge des téléphones Android (au moins les plus récents), et probablement également de Palm / Blackberry / Windows Mobile à l’avenir.
davr

iOS est maintenant pris en charge alors que Linux ne l’est pas.
Danik

4

Vous pouvez essayer le moteur Angel . Il est basé sur C ++, OpenGL, Box2D et utilise Python pour les scripts. C'est principalement pour le prototypage, mais les versions récentes semblent se concentrer sur la création de jeux complets.


3

Torque2D prend en charge les ordinateurs PC et Mac prêts à l'emploi . ITorque2D prend en charge le déploiement sur l’iphone. Il est également possible d’obtenir le déploiement de la console.


2

PlayN prend en charge HTML5, Android, iOS, Flash et Java.

Vous écrivez votre code en Java et il gère la conversion de votre code Java en JavaScript (via GWT) pour HTML, en assembleur ARM (via IKVM pour passer du bytecode Java au bytecode CLR, puis MonoTouch pour compiler le bytecode CLR en une application iOS native), ActionScript via un backend GWT personnalisé générant du code ActionScript au lieu de JavaScript, et vers Android et Java de bureau sans conversion.


2

Moai SDK est un framework pouvant fonctionner * sur ces plates-formes. Il est open source, consultez leur dépôt Github .

Moai peut également être publié sur Google Chrome et Android.

* Je ne pense pas que la publication au format Mac ou Windows (c'est-à-dire un fichier .app ou .exe) est disponible pour le moment, mais peut être ajoutée.


1

Haxe + NME prend en charge les formats HTML5, Flash, Android, iOS, Blackberry, Windows, Mac, Linux et WebOS. Il prend en charge les graphiques 2D (images-objets bitmap, dessin vectoriel, ainsi que des effets tels que l’ombre portée et le flou).


0

Ces dernières années, j'ai beaucoup entendu parler de MonoTouch pour les développeurs de développement pour iPhone et iPod touch. Le cadre est au-dessus de Mono, qui est déjà compatible avec toutes les plateformes.


Dommage que cela viole l'accord iTunes Store, car vous écrivez dans quelque chose qui n'est pas en C / C ++ / ObjC et utilisez une couche de traduction. Vous pourriez être encore approuvé, mais ils pourraient vous attirer à l'avenir. Personnellement je ne le risquerais pas.
davr

@davr monotouch ne viole pas les termes du contrat d'il y a plus d'un an.
dodgy_coder

@ dodgy_coder Ouais, je me souviens quand Apple a finalement éliminé ces règles retardées (qui visaient uniquement à nuire à Adobe, je crois). Mon commentaire d'origine était vrai au moment où je l'ai posté :)
12:45

-1

Unity3d est le meilleur moteur et outils de développement de jeux en 2D. sinon monogame. html5 et flash ne sont pas appropriés pour ce sujet. déjà flash est mort.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.