Guten Abend,
Gestern kam mir eine Idee, die ich mal vorstellen möchte. Ich bin sicher, dass es solche Spiele schon gibt, aber es ist ja mal einen Versuch wert. In letzter Zeit tauchte ich etwas in die Welt des Open Source ein. Irgendwann dachte ich: Wieso sollte man nicht auch eine Open Source Welt haben, also praktisch eine "Open World"?
Die Idee
Gehen wir von einem Spiel wie
Zelda aus.
A Link to the Past als passendstes Beispiel. (Vielleicht erinnert sich jemand noch an meine Projektvorstellung von Kreuzlied, an dem ich hin und wieder weiterentwickle.) So ähnlich wäre das Spiel (vorerst!) etwa aufgebaut. Nun ändern wir im Kopf die Grafiken und auch das Gameplay etwas ab. Das Ganze behalten wir so im Kopf.
Ihr merkt schon, das klingt schwammig und recht planlos. Die Besonderheit des Spiels ist auch seine Spielwelt, die ich hier vor allem vorstellen möchte. In der Tat habe ich das Spiel selbst kaum geplant (geschweige denn einen Namen dafür gefunden).
Als Grundlage haben wir also schonmal eine Mischung aus Action-Adventure und RPG. Was simples, aber spassiges. Kommen wir nun zur eigentlichen Besonderheit - die "offene" Spielwelt. Wie wäre es, wenn sich die Welt jeden Tag verändern könnte? Am Anfang gibt es nur eine riesige, grüne Wiese. (Vielleicht noch ein paar Gebirge und Seen oder so etwas - Ich denke, das sollte man offen lassen.)
Nun erhalten die Spieler aber einen Level-Editor, bauen sich etwas in diese Spielwelt und laden die Änderungen hoch. Ein Administrator kontrolliert das Ganze und aktualisiert die offizielle Spielwelt mit diesen Änderungen. So können die Spieler Häuser, Dörfer, Wälder, ganze Dungeons (und Items, die man sich dort holen kann) bauen und diese hochladen. Ein Open Source-Projekt mit einer ganzen Spielwelt statt mit Code. Es gibt so immer etwas Neues zu entdecken und man kann seine eigenen Wünsche in die Spielwelt einbringen.
Für die, die jetzt noch nicht schreiend weggerannt sind, gibt es ein paar Fragen und Antworten. Ich denke, so können die weiteren Informationen am besten übermittelt werden.
Fragen und Antworten
Womit wird's entwickelt?
C++ und OpenGL mit dem GLFW. Das Spiel sollte plattformunabhängig sein und die Grafik nimmt so oder so nur einen sehr kleinen Teil des Codes ein. Zudem werde ich wohl CMake verwenden. Leicht anzuwenden und portabel.
2D oder 3D?
2D. Das Ganze in 3D zu entwickeln wäre wohl etwas zu viel, da doch gravierende Unterschiede bei der Entwicklung auftauchen würden.
Wird das ganze Spiel denn auch Open Source sein?
Natürlich! Open Source rockt. Wozu ein Team zusammenstellen, wenn jeder etwas dazu beitragen kann, ohne dass er unter Druck gerät? Ausserdem kann jeder etwas dabei lernen, wenn er nur schon den Code von anderen anschaut. Dafür dachte ich spontan an Git (bei Gitorious) oder SVN.
Wie wird das mit dem Hochladen und Aktualisieren der Spielwelt funktionieren?
Auch hier seien wieder Git und SVN erwähnt. Ich denke, eigene Software für so etwas zu schreiben wäre überflüssig. Man kann das Ganze aber in ein einfaches GUI verpacken (oder in den Level-Editor integrieren), was es etwas benutzerfreundlicher machen würde. Schliesslich kennt sich nicht jeder mit Git/SVN aus und möchte vielleicht trotzdem an der Spielwelt basteln.
Solche Spiele gibt's doch bestimmt schon. Wieso also noch eines machen?
Man kann viel dabei lernen und einen Einstieg in die Welt des Open Source finden. Wenn tatsächlich einige hier hin und wieder mitprogrammieren, wird sicherlich auch die Aktivität der Community etwas angehoben. Und das schadet schliesslich nie!
Was ist, wenn kein Platz mehr in der Spielwelt ist?
Wahrscheinlich wird man eine Vergrösserungs-Anfrage machen können.
Wird das Spiel selbst denn auch ein Online-Spiel sein?
So etwas ist vorerst nicht geplant. Lediglich das Aktualisieren der Map erfolgt über's Internet. Natürlich wär's toll, in solch einer Welt auch gleich mit den Spielern online zocken zu können. Aber wie gesagt - bisher ist nichts geplant. (Denke, das wäre ein Diskussionspunkt für die ganze Community, sollte denn Interesse am Projekt bestehen.)
Wo wir gerade beim Thema sind - Wo wird die Spielwelt eigentlich geholt?
Die wird natürlich auf einem Server liegen. Das bringt wieder den Vorteil, dass man verschiedene Server und damit verschiedene Spielwelten wählen kann. Jeder kann also beschliessen, eine Spielwelt auf irgend einem Server zu hosten.
Und wer sind nun die tatsächlichen Entwickler des Projekts?
Jeder, der möchte und den es interessiert. Ich denke, es wird eine grosse ToDo-Liste geben, sowie hin und wieder eine News mit grossen Änderungen und Dankesreden an die Mitentwickler.
Btw - Hast Du nicht schon mit den Physik-Engine-Tutorials zu tun? ¬.¬
Oh doch! Ich habe schon den Code etwas verbessert und hauche nun den Beispielprojekten etwas mehr Leben und Liebe ein. Meine Lehre ist nun abgeschlossen, für eine Job-Zukunft ist gesorgt und nun habe ich wieder Zeit für die Spieleprogrammierung.
Also... Lohnt sich eine weitere Planung und Umsetzung des Projekts? Oder haltet ihr's für Schwachsinn?
Gruss
Asmo