Empfehlung für C # (Mono) / Java 3D Game Engine [geschlossen]

14

Kannst du eine gute C # -Spiel-Engine für die plattformübergreifende Entwicklung empfehlen (Win / Mac / Linux, ich interessiere mich nicht für Konsolen)?

Ich habe einige Erfahrungen mit Raw OpenGL und habe mit Java-Bindungen und der JMonkeyEngine rumgespielt. Ich bin jedoch etwas enttäuscht von diesen Lösungen und habe Ogre3D ausprobiert, was sehr vielversprechend schien, aber ich möchte lieber nicht mit dem PITA entwickeln, das C ++ ist.

Ich habe mir diese Liste angesehen, aber sie ist ziemlich überwältigend. Ich bin nicht auf der Suche nach einer All-in-One-Lösung, dh ich benötige nicht wirklich Unterstützung für Networking, Audio und den ganzen Jazz, aber es würde nicht schaden, wenn es unterstützt wird.

Vielleicht gibt es auch eine großartige Java-Lösung, von der ich nichts weiß?

Raoul
quelle
Muss es C # sein - was ist mit Java?
Dave O.
1
Ich würde mich auf jeden Fall interessieren, was Sie empfehlen würden.
Raoul
Ich habe die Frage entsprechend bearbeitet
Raoul
Ich kommentierte die entsprechende Antwort
Dave O.

Antworten:

14

Unity verwendet Mono im Backend. Obwohl viele seiner Skript-Tutorials JavaScript verwenden, können Sie Unity tatsächlich vollständig in C # / Mono programmieren.

Jeff
quelle
Kein Linux.
Kaj
Dies ist eine großartige Option für Win / Mac. Die Einheit ist sehr schön.
Corv1nus
1
Meine Antwort auch. Die Einheit ist großartig. Schade um die Linux-Unterstützung, aber vielleicht kommt sie eines Tages.
BerggreenDK
3

JMonkeyEngine ist die am meisten empfohlene 3D-Engine für Java. Xith3D wird manchmal als Alternative empfohlen, da es sich auch um eine Grafik-Engine im Scenegraph-Stil handelt.

Sie könnten mit LWJGL oder JOGL arbeiten, aber das sind weniger Engines als Bibliotheken, und Sie würden rohes OpenGL schreiben.

Ich empfehle Java3D jedoch nicht , ich denke, es ist alles andere als aufgegeben.

Ich denke, LWJGL ist das Beste, was Sie bekommen werden, aber es ist wieder eine Spielbibliothek, keine Grafik-Engine. OGRE ist eine Scenegraph-Grafik-Engine wie JMonkeyEngine. LWJGL ist für Java das, was SDL für C ++ ist. Es bietet Funktionen für OpenGL, Audio und Eingabe, und es wird erwartet, dass Sie damit arbeiten. Ich persönlich mag diese Art von Macht.

Ricket
quelle
Ich hatte Angst davor. Ich habe JMonkeyEngine 1 und 2 verwendet, bin aber mit den Entwicklungsmethoden nicht zufrieden. Dies wird mit JME3 noch schlimmer. Ich denke, diese Leute kennen sich mit 3D aus, haben aber keine Ahnung von vernünftigen Java-Entwicklungspraktiken, keine Beleidigung. Ich kenne natürlich LWJGL und JOGL, aber ich möchte keine eigene Scenegraph-API usw. implementieren (zumindest im Moment).
Raoul
@ Raoul das würde ich empfehlen: Die Light Weight Java Graphics Library, kurz LWJGL. Die Dokumentation ist etwas mangelhaft, aber im Allgemeinen handelt es sich nur um einen Wrapper um OpenGL. Wenn Sie also etwas OpenGL kennen, fühlen Sie sich bald mit LWJGL vertraut und es gibt gute Tutorials. tribaltrouble.com zum Beispiel wurde mit LWJGL gemacht :-)
Dave O.
3

Ich würde mir Ardor3D anschauen und noch einmal JMonkeyEngine anschauen.


Ardor3D

Erstellt von den ursprünglichen JMonkeyEngine-Entwicklern, die entschieden haben, dass eine saubere Pause erforderlich ist, damit sie von vorne beginnen und die gesammelten Erfahrungen bei der Entwicklung nutzen können, um eine bessere API und Plattform zu erstellen.

Die Leute, die ich kenne, um Ardor3D verwendet zu haben, haben sehr positive Dinge über sein Design und API zu sagen. Es befindet sich in aktiver Entwicklung und verfügt über eine gute Community sowie eine gute API-Dokumentation. Allerdings sind die Tutorials ein wenig knapp und im Allgemeinen müssen Sie mit 3D-Programmierkonzepten vertraut sein, um es zu erlernen.


JMonkeyEngine

Die Übernahme der von der Community geführten JMonkeyEngine, die die Ardor3D-Entwickler zurückgelassen haben, hat seit der Veröffentlichung von JME3, die eine Reihe von Mängeln im Design von JME2 behebt, an Stärke gewonnen.

Es gibt reichlich Dokumentation, einschließlich Tutorials und viele Projekte, die damit arbeiten. Wenn Sie Probleme mit JMonkeyEngine 2 oder früher hatten, lohnt sich ein weiterer Blick auf Version 3.


Andere

Charles Goodwin
quelle
1

Die Axiom 3D Engine basiert auf einem C # -Port von Ogre. Es verfügt über DirectX-, OpenGL- und XNA-Renderer, ist also sehr portabel, obwohl einige Plattformen nicht sehr aktiv gewartet werden.

Mikayla Hutchinson
quelle
Es kommt auch mit einem raffinierten Editor.
Drxzcl
0

Schauen Sie sich http://www.devmaster.net/engines/search.php an und sehen Sie sich auch das XNA-Framework an.

Danny Varod
quelle
1
Das offizielle XNA-Framework ist auf Windows und XBox360 beschränkt, aber ich glaube, es wird versucht, es auf die Mono-Plattform zu bringen (suchen Sie nach "MonoXNA").
Mike Strobel
0

OpenTK wird für MonoGame verwendet . MonoGame unterstützt derzeit leider nur die 2D-API von XNA, aber Sie haben bereits erwähnt, dass Sie OpenGL-Erfahrung haben, sodass Sie den OpenTK-Wrapper für 3D-Grafiken verwenden können. Möglicherweise finden Sie auch einige Szenendiagrammbibliotheken, die in C # oder in C ++ mit C # -Hüllkurven implementiert sind.

Für Audio bricht OpenTK OpenAL ein, oder wenn Sie etwas Robusteres wollen und vorhaben, das Spiel als Freeware zu veröffentlichen, dann kostet FMOD nichts in der Verwendung. Es wird teuer, wenn Sie für Ihr Spiel berechnen möchten. Eine billigere Alternative wäre BASS .

michael.bartnett
quelle