EDIT: PSA: Denken Sie daran, diese Antwort wurde im Jahr 2012 geschrieben, und 3 Jahre später gibt es viel mehr Motoren, und viele von ihnen sind nur für mobile Geräte gemacht. Halten Sie diese Antwort nicht für selbstverständlich und durchsuchen Sie Google nach neueren Suchmaschinen.
Ich portiere Irrlicht auf Android und benutze es für 2D-Spiele. Es ist nicht die beste Lösung, aber ich habe starke Leistungen. Ich habe viele Java-Frameworks ausprobiert, aber der Garbage Collector kann Ihre Spiele auf dem G1-Telefon während 0,2 Sekunden verzögern ... Daher sollte das Framework die Zuordnung sehr sorgfältig durchführen.
Kommerzielle C ++ Frameworks:
- unity3D : sehr gut (verfügbar für Android, iOS, Web, Windows, OS X) [Spiel: Rocket Bunnies]
- Unreal Engine (kommerziell): die beste Engine, aber nicht für Anfänger [Spiel: Dungeon Defenders]
Open Source C ++ Frameworks:
- SDL : wahrscheinlich beste C-Bibliothek für Spieleentwickler, Open Source und Cross-Plattform (inklusive Handy)
- Ogre3D : die beste Open Source 3D Engine, aber es ist ein großes Framework
- Irrlicht : gute Leistung, leichtes Framework [Spiel: Moblox]
- Linderdaum Engine : Open Source für Windows und Android
- Cocos2d-x : Open Source Cross-Plattform
Java Open Source Frameworks:
- LibGDX : Open Source, sehr beliebt, unterstützt mehrere Plattformen, Unterstützung für Tiled, Box2D und andere, gute Dokumentation
- AndEngine (Open Source): gute Leistung. Schauen Sie sich zur Dokumentation Beispiele an und lesen Sie den Quellcode. aber es ist die freie Bibliothek, um ein Spielprojekt zu beginnen [Spiel: Drop Block]
- cocos2d für Android: Garbage Collector-Problem
- rokon : gute leistung und für mobilgeräte entwickelt, aber das projekt scheint tot zu sein.
Physik-Engine:
- box2d (OpenSource): schnell und einfach
- jbox2d (OpenSource): so langsam auf Java, dass ich einen JNI-Wrapper mit SWIG erstellt habe, um native box2d zu verwenden (AndEngine macht das gleiche)
- chipmunk (OpenSource): schnell aber ich bevorzuge box2d
- bullet (OpenSource): hervorragende 3D-Engine
Achtung, mit Froyo und JIT erzielen Java-Bibliotheken eine viel bessere Leistung. Die Garbage Collector-Probleme sind jedoch immer gültig. Mit Gingerbread ist der Müllsammler ununterbrochen, also kein Problem.
Ich bin überrascht, dass niemand libgdx erwähnt hat. http://code.google.com/p/libgdx/
quelle
AndEngine ist ziemlich neu, aber es ist Open Source und sieht vielversprechend aus.
Selbstbeschreibung:
quelle
Ich denke, Sie könnten das Spiel Replica Island von Chris Pruett als Beispiel für ein 2D-Spiel verwenden. Ich denke, es soll eine Basis für andere Spiele sein, wie es in diesem Video von Google I / O 2010 erklärt wird. Sie können das Spiel hier ansehen .
quelle
Unity3D (das technisch verwendet werden kann, um 2D-Spiele zu erstellen) ist für Android "in Kürze" erhältlich: http://unity3d.com/
quelle
cocos2d für Android basiert auf der iPhone cocos2d Bibliothek. Ich bin mir nicht sicher, wie brauchbar es im Moment ist, aber es lohnt sich, es auszuprobieren.
quelle
Rokon sieht ziemlich gut aus, habe es selbst noch nicht ausprobiert, aber es scheint ziemlich aktiv zu sein.
quelle
androidbox2d ist der Android-Port von Box2D. Box2D ist eine funktionsreiche 2D-Starrkörper-Physik-Engine.
quelle
Derzeit läuft eine Android-Version von SDL , und SDL ist wahrscheinlich das beste 2D-Grafik-Framework auf dem Markt. Es wurde von einem der führenden Entwickler von Blizzard entwickelt, sodass Sie wissen, dass einige Fachkenntnisse im Bereich der Spielentwicklung vorhanden sind.
quelle
SIO2 Game Engine. Gerade eine neue Version mit vollem Android-Support veröffentlicht. Sie können damit 2D- und 3D-Spiele erstellen und zwischen verschiedenen Plattformen portieren. http://sio2interactive.com
quelle
Slick2D und GOLDEN T GAME ENGINE
quelle
Ich arbeite an einer Open-Source-2D-Spiele-Engine namens YoghurtGum, die sowohl für Windows Mobile als auch für Android gedacht ist. Es hat sich jedoch als äußerst schwierig erwiesen, das Ganze auf Android C ++ zu portieren.
Dies ist die wenig hilfreiche Antwort, die ich je erhalten habe.
quelle
Wenn Sie Lust haben, in AIR für Android zu entwickeln, können Sie Flash verwenden. Flash selbst hat eigentlich keine spielspezifischen Funktionen, aber dank des Erfolgs von Flash im Web gibt es eine Vielzahl von Bibliotheken von Drittanbietern, die speziell für Spiele entwickelt wurden.
Einige der beliebtesten Frameworks von Drittanbietern für Flash-Spiele sind Flixel (http://flixel.org/) und PushButtonEngine (http://pushbuttonengine.com/), die vollständig für die Spieleentwicklung entwickelt wurden. Flash hat auch eine Version von Box2D (Physics Engine, siehe http://box2dflash.sourceforge.net/ ) und es gibt verschiedene 3D-Bibliotheken wie Papervision (http://code.google.com/p/papervision3d/). wenn Sie diesen Weg in Zukunft gehen wollen.
Der Hauptnachteil der Entwicklung in AIR ist jedoch, dass ich mir ziemlich sicher bin, dass Sie Froyo 2.2 oder höher als Ziel verwenden müssen, damit ältere Handys nicht mehr verwendet werden.
quelle
Cocos2D-x ist eine in C ++ geschriebene Portierung von Cocos2D für das iPhone, die auf das Android NDK abzielt und aktiv entwickelt wird, um die Funktionsgleichheit mit der iPhone-Version zu erreichen. Es wird keine Probleme mit der Garbage Collection geben, und Sie werden in naher Zukunft einen relativ einfachen Port für iOS, Win32 und möglicherweise OSX erhalten.
quelle
PlayN ist ein Multiplattform-2D-Spiel-Framework, das neben HTML5, Flash und JVM auch auf Android abzielt . Es ist etwas neu, wurde aber zum Schreiben der HTML5-Implementierung von Angry Birds verwendet und hat eine recht aktive Community.
quelle