Bibliothèques de jeux 2D / Frameworks / Engines for Android [fermé]


89

Est-ce que de telles choses sont disponibles pour m'aider à construire mon jeu Android?

Réponses:


63

EDIT: PSA: N'oubliez pas que cette réponse a été écrite en 2012 et trois ans plus tard, il existe de nombreux autres moteurs, dont beaucoup sont exclusivement conçus pour les appareils mobiles. Ne prenez pas cette réponse pour acquise et recherchez sur Google des moteurs plus récents.


Je porte Irrlicht sur Android et l'utilise pour des jeux en 2D. Ce n'est pas la meilleure solution mais j'ai de bonnes performances. J'ai essayé de nombreux frameworks Java, mais le ramasse-miettes peut retarder vos jeux pendant 0.2s sur le téléphone G1 ... Donc, le framework devrait faire très attention à l'allocation.

Framework C ++ commercial:

  • Unity3D : très bon (disponible sur Android, iOS, Web, Windows, OS X) [Jeu: Rocket Bunnies]
  • Unreal Engine (commercial): le meilleur moteur mais pas pour les débutants [Jeu: Dungeon Defenders]

Cadres Open Source C ++:

  • SDL : probablement la meilleure bibliothèque C pour les développeurs de jeux, les sources ouvertes et les plates-formes multiples (y compris les mobiles)
  • Ogre3D : le meilleur moteur 3D open source mais c'est un grand framework
  • Irrlicht : bonnes performances, cadre léger [Jeu: Moblox]
  • Linderdaum Engine : open source pour Windows et Android
  • Cocos2d-x : multiplate-forme open source

Cadres Open Source Java:

  • LibGDX : Open Source, très populaire, prend en charge plusieurs plates-formes, prise en charge de Tiled, Box2D et autres, bonne documentation
  • AndEngine (Open Source): bonne performance. Pour la documentation, recherchez des exemples et lisez le code source; mais c'est la bibliothèque gratuite pour commencer un projet de jeu [Game: Drop Block]
  • cocos2d pour Android: problème de ramasse-miettes
  • rokon : bonne performance et conçu pour les mobiles mais le projet semble mort.

Moteur physique:

  • box2d (OpenSource): rapide et facile
  • jbox2d (OpenSource): si lent sous Java que j'ai créé un wrapper JNI avec SWIG pour qu'il utilise la boîte à lettres native (AndEngine fait de même)
  • chipmunk (OpenSource): rapide mais je préfère box2d
  • bullet (OpenSource): excellent moteur 3D

Attention, avec Froyo et JIT, les bibliothèques Java fonctionnent beaucoup mieux. Mais les problèmes de Garbage Collector sont toujours valables. Avec Gingerbread, le ramasse-miettes est continu, donc pas de problème.


1
J'aimerais également ajouter cocos2d-x, qui se trouve sur la licence MIT et fonctionne à la fois sur Android, iOS et Windows Phone. Je crois que cela est différent de ce qui a été mentionné ci-dessus, car celui-ci est spécifiquement en C ++ et non en Java.
Jamornh

AndEngine emprunte l'encapsuleur box2d à libgdx.
Matsemann

6
Unity3d n'est pas C ++. Il supporte C #, un dialecte Javascript et boo
lhk

Vous pouvez certainement le faire en natif si vous le vouliez aussi. Les gars qui ont fait Tiny Words l'ont fait jmoses.co/2014/10/23/…
John Moses

1
SDL n'est pas Java; c'est le C. Le Java que vous avez pu expérimenter est un wrapper / bindings qui appelle dans le code C. Aucune des fonctionnalités du moteur ne se produit en Java.
Slipp D. Thompson

24

Je suis surpris que personne n'ait mentionné libgdx. http://code.google.com/p/libgdx/


libgdx et AndEngine sont les meilleurs pour la 2D, vous trouverez ici un lien
michael

@michael AndEngine forum tutorial collant: il suffit d'utiliser une fourchette d'une fourchette d'AndEngine ... beaucoup de problèmes, de bugs. Je ne recommande pas de l'apprendre à partir de là.
Matheszabi

11

AndEngine est assez nouveau, mais il est open source et semble prometteur.

Auto-description:

Moteur de jeu gratuit Android 2D OpenGL. AndEngine est développé par Nicolas Gramlich.


1
J'ai fait quelques expériences dans ce domaine, venant de Cocos2d sur iPhone, et cela semble assez agréable jusqu'à présent pour les jeux 2D à base de sprite. Le projet semble actif et a une communauté de forum décente autour de lui.
Matt Guest

À propos de AndEngine ... J'ai commencé à créer un jeu assez basique et après un certain temps, j'ai commencé à trouver des critiques négatives sur AndEngine, en particulier sur ses performances avec de nombreux sprites. J'ai donc fait un test et ajouté 20 sprites à mon jeu alors que j'étais encore au début du développement. J'ai tout fait "dans les règles" et le HTC désir Z a presque été assassiné. Plutôt déçu de passer à LibGDX.

@AscensionSystems Je ne sais pas ce que vous avez fait là-bas, mais je sais que vous l'avez mal fait. Avec un Desire Z, vous pouvez facilement avoir des centaines de Sprites en mouvement sur l'écran. Il suffit de lancer les repères dans les exemples et vous verrez comment le faire correctement.
Nicolas Gramlich

Merci Nicolas, j'apprécie le fait que tu "tiens" pour ton moteur, mais franchement, je ne faisais rien de mal. Cela a quelque chose à voir avec Android et un bug avec les appels de VBO déclenchant également le GC. Je pouvais obtenir un bon fonctionnement de mon moteur en désactivant les VBO, mais cela rendait aussi mon téléphone trop chaud pour qu'il devienne louche après environ 5 minutes de jeu. J'ai eu le même problème avec libGDX, alors j'ai écrit mon propre moteur en C ++. Aussi, vous ne pouvez pas obtenir des "centaines" à l'écran en utilisant l'application exemples. Je pouvais obtenir environ 90 images-objets physiques animées "image" de 128x128, 2 avant qu’il ne traîne avec votre moteur.

(continuée) ... dans mon moteur, je peux afficher 170 images-sprites physiques animées sur 170, 512x512, 16 images avant de voir mon débit d'images même commencer à plonger sous 60 fps.

8

Je pense que vous pourriez utiliser le jeu Replica Island de Chris Pruett comme exemple de jeu en 2D. Je pense que c'est supposé être une base pour d'autres jeux, comme l'explique cette vidéo de Google I / O 2010. Vous pouvez regarder le jeu ici .


Oui, c'est une bonne vidéo, qui vaut vraiment la peine d'être regardée surtout quand il parle d'efficacité.
Spidey

7

Unity3D (qui peut techniquement être utilisé pour créer des jeux en 2D) est "bientôt disponible" pour Android: http://unity3d.com/


Yup je suis totalement d'accord. Deuxièmement, si vous payez pour les licences Unity3D, vous pouvez publier le même travail pour plusieurs plates-formes. Vous commencez donc avec une licence FREE WINDOWS / MAC. Apprenez le programme. Mettez ensuite à niveau la licence sur la plate-forme que vous jugerez appropriée en premier. Actuellement, cependant, Android n’est que l’édition PRO, ce qui signifie que vous avez besoin de Unity3D PRO + Android PRO = 3000 $ ...
BerggreenDK

Après avoir créé 10 à 15 jeux 2D avec Cocos2D pour iOS, j’en ai créé un avec Unity 4.6. C’était une expérience horrible, lente et difficile: pour iOS, je ne peux rien dire sur les performances des autres plates-formes. Travailler avec des éléments 2D depuis le début, n’est pas proche d’un moteur de rendu 2D dédié comme Cocos2D ou probablement la plupart des autres. Les performances sont affreuses et ils continuent à se battre avec le support iOS 64 bits. Cela dit, bien sûr, la force multiplateforme est la plus grande ... force.
Jonny




4

Un portage SDL Android est actuellement en cours, et SDL est probablement le meilleur framework graphique 2D disponible sur le marché. Il a été conçu par l'un des responsables de Blizzard. Vous savez donc qu'il possède une véritable expertise dans la construction de jeux.


3

Moteur de jeu SIO2. Vient de paraître une nouvelle version avec un support complet Android. Vous pouvez créer des jeux 2D et 3D en l’utilisant et le transférer entre différentes plates-formes. http://sio2interactive.com



2

Je travaille sur un moteur de jeu 2D open source appelé YoghurtGum, censé être destiné à la fois à Windows Mobile et à Android. Cependant, tout porter sur Android C ++ s'est avéré extrêmement difficile.

C'est la réponse la plus inutile de tous les temps, je le sais bien.


2

Si vous avez envie de développer AIR pour Android, vous pouvez utiliser Flash. Vraiment, Flash n’a pas de fonctionnalités spécifiques aux jeux, mais grâce au succès de Flash sur le Web, il existe une énorme quantité de bibliothèques tierces spécialement conçues pour les jeux.

Certains des frameworks tiers les plus populaires pour les jeux en Flash incluent Flixel (http://flixel.org/) et PushButtonEngine (http://pushbuttonengine.com/), qui sont entièrement conçus pour le développement de jeux. Flash dispose également d'une version de Box2D (moteur physique mentionné ci-dessus - http://box2dflash.sourceforge.net/ ) et de plusieurs bibliothèques 3D, telles que Papervision (http://code.google.com/p/papervision3d/). si vous voulez emprunter cette voie à l'avenir.

Le principal inconvénient du développement dans AIR, cependant, est que je suis presque sûr que vous devrez cibler Froyo version 2.2 ou ultérieure, afin que les anciens combinés soient laissés de côté.


En plus d’AndEngine, je joue avec les bêtas AIR pour Android, et ils sont très agréables, même s’ils sont un peu lents. Je pense que cela fonctionnera bien pour les jeux de stratégie ou les jeux d'action sans trop d'éléments. Je travaille avec la version bêta sur la version 2.1, donc la version finale sur la version 2.2 pourrait être très rapide, je ne suis pas encore sûr. Certainement quelque chose à regarder.
Matt Guest

1

Cocos2D-x est un portage de Cocos2D pour iPhone écrit en C ++ et destiné au NDK Android. Il est activement développé pour atteindre la parité des fonctionnalités avec la version iPhone. Il n'y aura pas de problèmes de récupération de place, et vous obtiendrez un port relativement facile pour iOS, Win32 et probablement éventuellement OSX dans un avenir proche.


0

PlayN est un framework de jeu 2D multiplateforme qui cible Android, ainsi que HTML5, Flash et JVM. Il est quelque peu nouveau, mais a été utilisé pour écrire l’implémentation HTML5 d’Angry Birds et a une communauté relativement active.

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.