0 A.D.

Inhalt:

Herausgegeben: 10. Juli 2009

English 简体中文 Español Português Português Русский Français Deutsch Türkçe Polski Español de Chile Česky עברית Galego   German translation by Benedikt Freisen.

Bildschirmfoto: Sumpfverteidigung

Was ist 0 A.D.?

0 A.D. ist ein freies, plattformübergreifendes, in der Entwicklung befindliches, geschichtsbasiertes 3D-Echtzeitstrategiespiel.

Was tut ihr gerade?

Vom geschlossenen Entwicklungsprozess zur Quelloffenheit wechseln: Den Code unter der GPL-Lizenz und den künstlerischen Inhalt unter der CC-BY-SA-Lizenz verfügbar machen, und externe Beiträge anregen. Wir arbeiten in unserer Freizeit seit Jahren an 0 A.D. und jetzt wollen wir zeigen, was wir erreicht haben und es für andere erleichtern mitzumachen.

0 A.D. ist ein sehr komplexes und anspruchsvolles Projekt. Eine Menge Arbeit wurde hineingesteckt, aber eine Menge muss noch getan werden. Wir geben gerade kein benutzbares Spiel heraus – falls es das ist, was dich interessiert, wirst du noch eine ganze Weile warten müssen. Es fehlen viele wichtige Funktionen, es gibt Fehler und scharfe Kanten. Wir veröffentlichen dies als in Arbeit befindliches Prä-Alpha-Projekt, gerichtet an Entwickler, die an etwas derartigem interessiert sind, in der Hoffnung mit einer Gemeinschaft Resourcen zu teilen, die ansonsten von unserem Entwicklungsprozess ausgeschlossen wäre.

Dies ist ein experimenteller Schritt und wir wissen nicht genau, was am besten funktionieren wird, also werden wir uns vorsichtig bewegen und versuchen, uns gemäß den Erfahrungen ansupassen. Dieses Dokument beschreibt unsere momentanen Pläne; Rückmeldungen sind willkommen! Kontaktiere uns über unsere Foren, oder #0ad auf QuakeNet IRC.

Bildschirmfoto: Entdeckung

Warum sollte mich das interessieren?

Wir glauben, eine gute Chance zu haben, ein sehr ordentliches Spiel mit einigen einzigartigen Funktionen zu schaffen. Vielleicht möchtest du helfen, dieses Spiel Wirklichkeit werden zu lassen.

Vielleicht möchtest du aus der Erfahrung lernen, an einem komplexen Software-Projekt, oder insbesondere einem Spiel zu arbeiten. Dies umfasst eine Menge von Bereichen: Grafiken und Audio, KI und UI, Dateibearbeitung und Spielverlaufsscripting und Vernetzung und so weiter. Die Grundstruktur ist hier und einiges davon ist sogar sehr beständig, aber es gibt viel Raum um in die Details abzutauchen und an verschiedenen Komponenten zu arbeiten.

Vielleicht möchtest du das Spiel auf deiner Lieblingsplattform besser machen. Vielleicht möchtest du uns zeigen, wie dumm wir sind und wie du Code schreiben kannst, der viel besser ist. (Wir sind lange nicht perfekt!)

Vielleicht möchtest du Teile von unserem Code in deinem eigenen Projekt benutzen. Vielleicht möchtest du unser Spiel nutzen, um eine bestimmte Spieleentwicklungsklasse zu unterrichten. Und vielleicht hast du ganz andere Gründe.

Bildschirmfoto: Gaugamela

Warum tut ihr dies?

Wir arbeiten an diesem Spiel in der einen oder anderen Form seit 2001. Wir sind seit dem sehr weit gekommen, aber ein derartiges Spiel zu machen ist tatsächlich recht schwierig. Die ursprünglichen Teammitglieder waren größtenteils Schüler/Studenten, die nun im Leben vorangekommen sind und dem Projekt nicht mehr viel Zeit widmen können. Neue Entwickler zu werben ist schwierig und Zeitaufwändig – wenige Menschen haben Zeit und Talent, in unserem bestehenden Code arbeiten zu lernen und bedeutende Beiträge zu leisten. Also wollen wir die Einstiegsbarrieren senken, um es für diese einfacher zu machen unser Projekt auszutesten und zu sehen, ob es sie interessiert, in der Hoffnung, dass einige zu dem Schluss kommen, dass es sie das tut.

Auch denken wir, einige Ideen und Werkzeuge und Code zu haben, der ganz schön ist und den wir gerne teilen würden. Wir sollten sie bereinigen und vernünftig dokumentieren, damit sie anderen nützlicher sind, aber den Code verfügbar zu machen ist der erste Schritt. Und insbesondere unter Linux vereinfacht Quelloffenheit einige Angelegenheiten in Verbreitung und Debugging, somit vereinfacht es Dinge für uns und für Nutzer.

Bis jetzt wurde der Zugriff auf das Projekt auf „offizielle“ Mitglieder unserer Gruppe beschränkt, obwohl immer die Absicht war, ein nichtkommerzielles Spiel zu produzieren und die Mitgliedschaft immer recht offen war. Das Konzept der Quelloffenheit wurde vor einigen Jahren einfach nicht als interessant angesehen, aber die Zeiten haben sich geändert und jetzt scheint es der natürliche Weg zu sein, unser Projekt zu entwickeln.

Bildschirmfoto: Magna Graecia

Wie soll die Entwicklung organisiert werden?

Während wir dieses Projekt öffnen, müssen wir die Gemeinschaft respektieren, indem wir so viel Informationen und Kommunikation anbieten, wie möglich, damit ihr von der Teilnahme an dem Projekt profitieren (und hoffentlich zu unserem Vorteil etwas zurücktragen) könnt, abgestimmt mit unserem Wunsch, das Spiel auf einem hohen Standard und mit einigen Auflagen unserer früheren Organisation vollendet zu kriegen .

In der Vergangenheit waren alle Entwickler teil des offiziellen „Teams“: jeder kann sich zum Mitmachen bewerben, wir werden dann über IRC ein kurzes Gespräch abhalten, um diejenigen kennenzulernen, und sollte es den Anschein machen, dass sie die Zeit und Energie und das Talent haben sinnvoll beizutragen, werden sie zu Mitgliedern gemacht. Wir planen, die Kerngruppe der Entwickler und die privaten Kommunikationsmethoden beizubehalten – wir möchten nicht riskieren, die Gruppe zu zerstören, die wir schon haben. Wir wollen weiter einer bestimmten Vision entgegenstreben, und wir möchten uns nicht sehr weit davon entfernen – wir würden eher keine Funktionen hinzufügen (und verwalten), die nicht Teil dieses Ziels sind. Wir veröffentlichen die künstlerischen Daten und die des Spielverlaufs für zwei der sechs Zivilisationen, aber alten sie für die in Bearbeitung befindlichen Zivilisationen zurück, bis sie vollständiger und benutzbar sind.

Abgesehen von diesen Einschränkungen öffnen wir den Zugriff auf unseren Quell-Kontrollserver (Subversion), und das Dokumentations- und Aufgabenverfolgungssystem (Trac) und verlagern unsere technischen absprachen in ein öffentliches Forum. Jeder kann die neuste Version des Spiels herunterladen, bauen und starten. Der anfängliche Ablauf für Beitragende wird sehr einfach sein: Wenn ihr irgendwelche Änderungen macht, solltet ihr einen Patch erstellen und ihn uns zuschicken, und wir sollten diesen dann durchsehen und möglicherweise Änderungsvorschläge machen oder es an SVN übergeben.

Die Lizensierung von Beiträgen ist eine offene Frage. Einerseits würde es den Beitragenden versichern, dass wir ihre Arbeit nicht ungerecht nutzen werden, wenn wir nur GPL-Code annehmen. Andererseits würden wir uns gerne eigene Möglichkeiten offen halten, indem wir nur BSD-lizensierten Code annehmen, möglicherweise, um eine spezielle mit einer proprietären Betrugserkennungssoftware gekoppelte Version zu schaffen, um Mehrspielerkarten-Hacks abzuschrecken, die zu einem quelloffenen Spiel leicht hinzuzufügen wären, oder an ein proprietärs digitales Verbreitungssystem anzuknüpfen, um einen höheren Verbreitungsgrad zu erreichen. Die ideale Lösung ist unklar, also wären wir an einer Diskussion hierüber interessiert.

Bildschirmfoto: Savanna Biome

Wie sieht der Code aus?

Es gibt etwa 150 000 Zeilen C++ für die Spieleengine, und weitere 25 000 für Bearbeitungswerkzeuge. Gameplay-Scripting verwendet JavaScript. Wir bauen auf systemnahe Bibliotheken auf (OpenGL, OpenAL, ENet, ...), nicht auf eine existierende Spieleengine (wie OGRE).

Der code ist nicht extrem sauber oder extrem modular oder extrem gut geschrieben. Er wurde von einer großen Vielfalt an Programmierern geschrieben, und ist weit weg von einer „vollständigen“ Codebasis. Wir wollen als Teil des normalen Entwicklungsprozesses weiterhin Sachen bereinigen. Wir scheuen uns nicht, ganze Untersysteme neu zu schreiben, falls das der effektivste Weg sein sollte, sie unseren Anforderungen entsprechen zu lassen. Aber auf vielen Gebieten ist sie recht solide.

Was für wiederverwendbaren Code gibt es?

Das meiste unseren Codes ist Spielspezifisch und außerhalb nicht sehr nützlich, aber einige Teile könnten vielleicht für Entwickler interessant sein, die an anderen Projekten arbeiten. Ein paar Beispiele:

Wie lässt es sich mit anderen Spielen vergleichen?

Wir wissen von diversen anderen quelloffenen RTS-Spielen. Glest hat „stabilen“ Status erreicht und spielt in einer mittelalterlichen Phantasiewelt, mit geringerer Komplexität bei Spielverlauf und Grafiken aber mit KI-Gegnern (die in 0 A.D. noch nicht umgesetzt wurden). ORTS ist eine Grundstruktur KI-Forschung stärker unterstreicht als ein spielbares Spiel. Spring ist eine weitere RTS-Engine die für einen Spielverlauf wie bei Total Annihilation entworfen zu sein scheint. 0 A.D. strebt an, sich dadurch abzusetzen, dass es neue Ideen zum Spielverlauf , detaillierte Grafiken und einen fehlerfreien historischen Hintergrund bereitstellt.

Wie kann ich loslegen?

Lies die Anleitung zum Loslegen, um weitere Informationen über das Spiel, die Diskussionsforen, Anweisungen zum Bauen und Benutzen den Spiels, und Verweise zu weiteren Details zu finden.