Ein 3D-Spiel entwickeln

Hallo, liebe Community,
ich würde gerne ein 3D Spiel entwickeln, genauer gesagt ein MMORPG. Hierbei handelt es sich jedoch nicht um etwas, was man im Browser laufen lassen könnte, sodass Programme wie Unity 3D schon mal nicht möglich sind. Es besteht ein ausgearbeitetes Konzept, und 3D-Modelle sind auch schon vorhanden. Ich gehe nicht unvorbereitet an die Sache ran, und habe auch fundierte Grundkenntnisse in C++, Visual Basic und Java. Das Problem an dem es hängt ist, dass ich nicht weiß welches Programm ich zum erstellen von einem solchen Spiel verwenden soll. Unity 3D und Blender Game fallen flach, da sie nicht diesen Ausmaßen entsprechen. Ich habe kein Problem damit für dieses Projekt auch C#, oder ähnliche Sprachen lernen zu müssen. Ich bitte euch, nicht solche Antworten wie „Das brauch viel Zeit und du schaffst es alleine nicht“ zu schreiben, da das für mich nicht das Problem ist. Zu der Entwicklung dieses Spiels habe ich einige Leute (falls noch jemand interesse hat soll er sich melden^^) und Zeit ist auch vorhanden (bis zu 25 Jahren). Da auch die Grafik und das Schadensmodell sehr detailliert werden soll, sollte Direkt X 11 bis 12 Support möglich sein. Hat irgendjemand eine Idee, welches Programm dafür in frage käme? (Bevorzugt Freeware) Oder müsste ich mir hierzu selber eine Engine schreiben? (Möchte ich wenn möglich vermeiden, da naja… ENGINE halt^^) Wisst ihr zufällig gerade, was für Programme Firmen wie Egosoft, EA und Co. für Weltraumspiele (deswegen kommt die Cryengine nicht Frage^^) benutzen?

Vielen Dank schon mal,
Knight2000

Es ist nicht ganz einfach, dir auf diese Frage zu antworten, denn eigentlich sind alle möglichen MMO-Engines unzureichend, aber das muss nichts heißen. Die CryEngine oder die Unreal Engine wurden zum Beispiel beide bereits in MMOs eingesetzt; das zweite sogar recht oft. Es gibt einige Engines, die du verwenden könntest, aber du musst dazu deine Anforderungen spezifizieren. Soll eine Geschwindigkeit und Latenz wie in einem Online-Shooter möglich sein, würde ich dir die Unreal Engine empfehlen, die das schon mehrfach bewies.
Um Umbauten, die bisweilen recht umfangreich ausfallen dürften, wirst du gar nicht drumherum kommen, doch dazu später mehr.

Interessant ist, dass du von bis zu 25 Jahren sprichst. Schau dir die Entwicklungen zu Duke Nuke’Em Forever oder noch besser Prey an, die eher bei der halben Zeit lagen, und du kannst herauslesen, dass das Durchhaltevermögen eine der größten Hürden darstellte. 25 Jahre? Da kann dir das aktuell unterstützte Direct X fast schon egal sein - es wird dann mit recht großer Wahrscheinlichkeit nicht mal mehr unterstützt.

Im Umkehrschluss sind die designtechnischen Aspekte eh deutlich umfangreicher als die Erstellung einer adäquaten Engine. Nimm dir eine AAA-Produktion vor und schau, wer woran arbeitete. Da stehen 20 Entwickler 20 Animateuren gegenüber, ganz zu schweigen von den 50 Grafikern und Modellern verschiedenster Spielelemente. Need For Speed hat zum beispiel einen Aufwand von geschätzten 150 Mannjahren und das ist nur(!) ein Autorennen.

Und selbst mit einer vorgefertigten Engine wirst du nicht umhinkommen, dich von einem Lasttest überraschen zu lassen. Kein Engine-Entwickler kann vorhersagen, wie dein Spiel mit deinen Anforderungen läuft.

Mein Vorschlag: Zerteile das Spiel in die verschiedenen Aspekte, wie: Grafik, Physik, Sound, Eingabe, Netzwerk, usw. und schau, ob du für diese Teile adäquate Engines findest. Du kannst dann als nächstes schauen, ob du sie mithilfe geeigneter Interfaces miteinander verheiraten kannst. Dazu musst du aber die Engines kennen lernen, die im Freeware-Bereich nicht mit umfangreichen Support aufwarten können. Das musst du also selbst schaffen. Schon so mancher leitender Entwickler sagte am Ende einer Entwicklung, dass der Aufwand der Größe einer eigenständigen Entwicklung entsprach. Größere Engines bieten da schon eine eigene IDE, da nenne ich gern wieder die Unreal Engine, welche für Freeware-Produkte ebenfalls frei ist und auch für zukünftige Produkte gerüstet sein dürfte.

Und noch etwas: Fundierte Kenntnisse sind nicht ausreichend für die Entwicklung eines MMOs. Es sind vor allem die eingebundenen Libraries, die man kennen sollte, um in ausreichender Zeit etwas umsetzen zu können.

Da stecken so viele Unbekannte in einer Spiele-Entwicklung, dass es vielleicht ratsamer wäre, die Hürden mit kleineren Projekten einzeln anzugehen, bevor man sich ein umfangreiches und detailliert dargestelltes und reagierendes MMO stürzt.

gegrüßt!

Also ich würde da mal mit Phil Hassey diskutieren oder anderen Indie Spiele-Entwicklern, die da Erfahrung haben. Oder den Austausch auf solchen Plattformen suchen.

Ansonsten würde ich mal die bestehenden 3D-Engines anschauen. Das kann allerdings teuer werden mit den Lizenzabgaben. Wenn es sich nur um Weltraumdarstellungen handelt, dann würde ich das selber schreiben; das ist nicht zu schwierig.

Ich hoffe, das hilft etwas.

Hallo Knight2000,

bei diesen Anforderungen fällt mir spontan nur eine Engine ein: Die CryEngine.
Man kann sie derart stark modifizieren, dass sie definitiv nicht nur für Shooter, sondern auch für Rollenspiele oder Geschicklichkeitsspiele geeignet ist.

Den bereits bestehenden Netzwerkcode müsstest du höchst wahrscheinlich noch modifizieren und auf deine Bedürfnisse anpassen.

Die aktuelle Cryengine ist DirectX 11 fähig und wird wohl in Zukunft noch weiter gepatcht.

Zum Ausporbieren kannst du sie kostenlos benutzen. Selbst wenn du dein Spiel damit fertig erstellst, kannst du es direkt -kostenlos- vertreiben, ohne eine Lizenz kaufen zu müssen.
Erst wenn es wirklich ums Geld geht, ist eine entsprechende Lizenz von nöten. Dazu solltest du dich mit Crytek in Verbindung setzen, und die Preise entsprechend verhandeln.

Doch zu aller erst würde ich dir empfehlen, dir die Engine einmal anzusehen, und zu testen.

MfG
Raphael

sorry, nicht mein Thema.

Welche Bibliotheken und Engines verwendet werden sollen hängt natürlich davon ab was das Endprodukt an Features haben soll und wie genau es ausgeartet ist.

Da du keine Details schreibst wird dir nichts anderes übrigbleiben als die verfügbaren Möglichkeiten selbst zu recherchieren und abzuwiegen wie gut sie sich für dein Projekt eignen. (http://www.youtube.com/watch?v=i1eprmxdb0o oder http://www.youtube.com/watch?v=pVHMvpV0ifA - sind beides Weltraumspiele aber mit _komplett_ unterschiedlichen Anforderungen).

Die Art deiner Nachfrage lässt mich darauf schliessen dass noch überhaupt keine Idee vorhanden ist wie so Projekte überhaupt handelbar sind. Ich empfehle einige Artikel aus der Indie-Szene zu lesen da sie einem schon die Augen öffnen (zB: http://www.gamasutra.com/view/feature/173068/Congrat…)

Zu ein paar anderen Punkten: Du schliesst Unity 3D aus weil es nicht im Browser laufen soll - Unity 3D wird für die Entwicklung für viele verschiedene Plattformen verwendet, es macht den Eindruck wie wenn hier nur sehr oberflächlich (wenn überhaupt) recherchiert wurde.

bis zu 25 Jahre Zeit: wenn du heute ein Spiel beginnst dass in 25 Jahren fertig ist dann wird das Spiel zum Zeitpunkt des Release komplett veraltet sein. Klar hättest du dann vielleicht was fertig, aber obs dann noch jemand spielen will) kann ich mir nicht vorstellen.
Übrigens DirectX 11 und 12 wirds in 25 Jahren aller Wahrscheinlichkeit auch nicht mehr geben.

http://www.youtube.com/watch?v=toMXRZEMh8k hier wurde eine Weltraumschlacht erstellt, warum wird die Cryengine von dir gleich ausgeschlossen? (selbst wenn es einen Grund gibt solltest du ihn auch nennen, es würde helfen zu verstehen was du eigentlich genau für Anforderungen hast)

Auf die Gefahr hin dass das was jetzt kommt sowieso nicht ernstgenommen wird (du hast ja schon geschrieben dass dus nicht hören willst - ich finde aber ohne das Folgende wärs kein ehrlicher Rat von mir) :
Ich spüre du bist komplett begeistert von der Idee ein Spiel zu entwickeln. Aber meiner Meinung nach fehlt dir noch viel Wissen und Erfahrung (ich mag mich ja täuschen) also fang lieber mit kleineren Projekten an und sieh mal wie es dir dabei geht.

Trotz Allem wünsche ich dir viel Erfolg solltest dus versuchen. Allerdings sag ichs hier ehrlich - ich werde nicht gerade nägelkauend auf nen möglichen Release warten :smile:

Bin in Urlaub und kann nicht helfen.

Tosta

Hallo Knight2000,

auf Anhieb denke ich da an die Ogre-Engine:
http://www.ogre3d.org/

Diese ist open-source und dürfte deine Anforderungen ganz gut bedienen.

Ansonsten ist die Cryengine extem Leistungfähig, aber proprietär:
http://mycryengine.com/

Ausprobieren kann man sie in vollem Umfang for free, ab einem gewissen Punkt (Projektmäßg, nicht zeitlich) wollen die dann aber wohl Geld sehen.

BTW: C++ ist für Spieleentwickung schon OK, C# ist da eher nicht so die Sprache für, da nicht nativ :wink:

Disclaimer:
Ich bin kein Spieleentwickler und habe wenig mit 3D-Programmierung am Hut. Kann durchaus sein, dass zu dem Thema andere Teilnehmer bessere Tipps geben können als ich das kann.

Gruß vom Linuxxer