Gibt es solche Dinge, die mir beim Erstellen meines Android-Spiels helfen?
Gibt es solche Dinge, die mir beim Erstellen meines Android-Spiels helfen?
Antworten:
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:
Open Source C ++ Frameworks:
Java Open Source Frameworks:
Physik-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/
AndEngine ist ziemlich neu, aber es ist Open Source und sieht vielversprechend aus.
Selbstbeschreibung:
Kostenlose Android 2D OpenGL Game Engine. AndEngine wird von Nicolas Gramlich entwickelt.
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 .
Unity3D (das technisch verwendet werden kann, um 2D-Spiele zu erstellen) ist für Android "in Kürze" erhältlich: http://unity3d.com/
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.
androidbox2d ist der Android-Port von Box2D. Box2D ist eine funktionsreiche 2D-Starrkörper-Physik-Engine.
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.
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
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.
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.
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.