Welche Engine würdet ihr benutzen um 2D Games für Android zu programmieren?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Für Java auf Android bieten sich diese Tools zur Spiele-Entwicklung an:

Vielleicht gibt es noch weitere, doch dafür musst du dann selbst recherchieren.

Andere Java Engines als die zwei genannten sind mir nicht bekannt und im Hinblick auf deine Anforderungen ist die jMonkeyEngine da wohl am besten aufgestellt (basiert auf Java, ist kostenlos, hat eine Dokumentation und ein eigenes Forum, iOS wird wohl zum Teil unterstützt).

Andernfalls würde ich dir libGDX empfehlen. Dieses Framework steht als Open Source zur Verfügung, genaue Lizenzbestimmungen werden auf der offiziellen Webseite erklärt. Um dein Produkt auch für iOS zu entwickeln, gibt es für Java nur die Lösung, auf die Multi-OS Engine zurückzugreifen. Wie diese in Kombination mit libGDX verwendet werden kann, wird hier erklärt.

nairo05 
Fragesteller
 26.05.2018, 09:44

Hey, danke für deine Antwort.

Ich habe mir die ganzen Tools angeguckt und finde libGDX am besten. Nun, noch eine letzte Frage, kann ich mit libGDX im vergleich zum SurfaceView irgendwas gegen die schlechte Performance machen ?

0
regex9  26.05.2018, 11:37
@nairo05

Du kannst stets etwas gegen schlechte Performance machen, indem du einfache Regeln einhältst: Nur sichtbares rendern, Objekte stets wiederverwenden (Object pooling), Texturen klein halten, usw.. außerdem solltest du überprüfen, wie oft der GC aufgerufen wird. Nach Möglichkeit sollte das nicht zu oft stattfinden.

Nach kurzer Recherche kann man weitere Tipps finden:

Das SurfaceView ist nur zum Teil hardwarebeschleunigt. Das Canvas-Rendering ist dabei der Part, auf den dies nicht zutrifft. Zudem nutzt es kein OpenGL. Das libGDX-Framework hingegen benötigt keine Hardwarebeschleunigung, da das Rendering via OpenGL (also in direkter Kommunikation mit der GPU) stattfindet.

1
zSuckyLP  27.05.2018, 18:28

Außerdem empfehle ich dir Unity 5, ist sehr einfach, kostenlos (solange du nichts ernstes damit anfangen willst), und einfach zu erlernen. Wegen der Performance: Sogar 3D-Spiele laufen auf einem 70€ Tablet verdammt flüssig.

0
regex9  27.05.2018, 19:53
@zSuckyLP

Es wurde nach einer Engine für Java gefragt.

1
zSuckyLP  27.05.2018, 19:54
@regex9

Ja ich weiß, aber Mono C# ist ja ziemlich ähnlich zu Java, und deshlab macht es auch kaum einen Unterschied. (Außer For-Each und Import usw.)

0

Wenn du unbedingt Java programmieren willst, dann empfehle ich die Engine "Lightweight Java Game Library". Es benutzt OpenGL und ist "cross-platform". "Cross-Platform" heisst, dass du diese App nicht nur für Android Geräte , sondern auch für PCs oder sogar iOS-Geräte laufen lassen.

https://www.lwjgl.org/

Hier ist ein Video, mit der man mit dieser Engine "Flappy Bird" programmiert wird.

https://www.youtube.com/watch?v=527bR2JHSR0