Gibt es eine XNA-ähnliche Bibliothek für Java? [geschlossen]

12

Ich bin gespannt, ob es eine XNA-ähnliche Bibliothek für Java gibt. das heißt, eine Bibliothek, die

  1. Bewältigt die Spielschleife - dh Sie implementieren nur eine vorhandene Methode, und sie wird bei jedem Frame aufgerufen.
  2. Behandelt das Rendering - dh Sie sagen ihm nur, was zu rendern ist, und es wird darauf geachtet, dass es auf dem Monitor angezeigt wird und Implementierungsdetails wie die Hardwarebeschleunigung ausgeblendet werden.
  3. Enthält viele nützliche Methoden für Grafik-, Sound- und Benutzereingabemöglichkeiten.

Ich interessiere mich für eine Bibliothek, die sowohl 2D- als auch 3D-Optionen unterstützt.

Eiche
quelle

Antworten:

15

Entsprechend Ihrer ersten Anforderung suchen Sie eher ein Framework als eine Bibliothek.

jMonkeyEngine ist ein Framework für 3D-Spiele (dh es bietet die gewünschte Hauptschleife, ähnlich wie XNA), ist jedoch keine gute Wahl für 2D.

Es ist jedoch nicht schwer, eine Spieleschleife zu schreiben , und die vorhandenen Java-Bibliotheken erfüllen Ihre Anforderungen für die zweite und dritte Klasse. Ich empfehle daher dringend, eine 3D-Bibliothek / Engine für Szenendiagramme oder eine 2D-Bibliothek zu verwenden, je nachdem, was Sie erstellen ein 2D- oder ein 3D-Spiel.

Aviatrix3D , Ardor3D , Java3D und jMonkeyEngine sind meine Empfehlungen für 3D-Engines für Szenendiagramme .

Für 2D-Bibliotheken haben Sie JGame , oder Sie können OpenGL für maximale Geschwindigkeit und LWJGL oder JOGL verwenden . Sie können auch einfach die in Java integrierte Graphics2D- Bibliothek verwenden. Dies ist eine besonders gute Option, wenn Sie Ihr Spiel als Applet bereitstellen möchten.


Sehen Sie sich den Quellcode von Metagun an , um die integrierte Graphics2D-Route zu nutzen (klicken, um in Applet-Form zu spielen). Es ist ein kleines, aber sehr gut geschriebenes 2D-Java-Spiel, und ich denke, es ist ein hervorragendes Beispiel für ein kleines Spiel. Kopieren Sie seine Struktur und Sie haben Ihre optimale Spielschleife / Framework.

Ricket
quelle
6

Slick ist eine nette 2D Java Bibliothek basierend auf LWJGL. Es behandelt die Spielschleife, das Rendern und enthält nützliche Funktionen zum Implementieren von Sprites.

Es kommt mit vielen verschiedenen Demos und Beispielen gebündelt.

David Young
quelle
1
Ich muss dieser Empfehlung zustimmen. Slick ist die beste Option, die mir begegnet ist. Ich habe mehrere Spiele mit Slick und eines mit XNA geschrieben und würde Slick eigentlich für 2D-Projekte bevorzugen.
Alex Schearer
Slick eignet sich hervorragend für 2D-Projekte. Ich empfehle es sehr.
Bryan Denny
Slick ist nicht so bekannt und geschätzt, wie es sein sollte. Ich habe es schon einmal benutzt und war auf Schritt und Tritt angenehm überrascht, wie gut es designt wurde. Aufgrund von Slick bevorzuge ich Java für die Entwicklung von 2D-Spielen.
Zach Conn
2

Wenn Sie möchten, dass ein einzelnes Framework sowohl 2D als auch 3D unterstützt, ist jPct das, was ich am nächsten gesehen habe. Es ist 3D, aber in ihren Foren gibt es einige Verbesserungen für 2D.

Ich empfehle Ihnen Xith3D oder Java Monkey Engine für 3D. Und Slick oder GTGE für 2D.

Ich schreibe ein Buch über die Entwicklung von Java-Spielen. Ich habe bereits die Kapitel über die Grundlagen der Entwicklung von Java-Spielen in 2D und 3D abgeschlossen.

http://code.google.com/p/lucu

Taksan


quelle
0

Obwohl es 3D nicht unterstützt, ist Pulpcore ein gutes Gaming-Framework. Ich habe es nicht persönlich benutzt, aber ich habe den Code durchsucht, um es zu überprüfen, und es sieht gut aus.

Chii
quelle
-1

RedDwarf ist eine Java Game Engine. Dies ist das alte Projekt DarkStar, mit dem Sun finanziert.

zooropa
quelle
RedDwarf ist ein Java-Netzwerkspiel "Framework", aber hauptsächlich der Serverteil. Überhaupt keine wirkliche Spiel-Engine.
Ricket