Herzlich willkommen zu einer weiteren Ausgabe der Brave GNU World. Wie schon in der letzten Ausgabe angekündigt sollen den Nordhalbkugel-Bewohnern zwei weitere Möglichkeiten vorgestellt werden, kalte Januartage stilecht zuzubringen. Für die eher ernsthaften Leser wird zudem wissenschaftliche freie Software vorgestellt.
Nethack - Falcon's Eye: Grafisch ist zeitgemäßer
Bei Falcon's Eye[5] handelt es sich um eine grafische Benutzeroberfläche für das Spiel "Nethack"[6], das bereits seit etwa 20 Jahren eine treue Fangemeinde hat. Damit gehört Nethack zu den ältesten Computerspielen, die noch heute weiterentwickelt werden. Nethack ist ein Single-Player-Spiel, bei dem es darum geht, zumeist in unterirdischen Katakomben auf Entdeckungsreise zu gehen und Begegnungen mit zum Teil unfreundlichen Gestalten zu überstehen. Ein bekanntes proprietäres Spiel dieses Genres ist "Diablo" von Blizzard. Vom Inhalt und Spielfluss her ist Nethack recht komplex, die Oberfläche jedoch ist sehr einfach strukturiert - ohne Sound und mit reiner Ascii-Oberfläche ist die Phantasie des Spielers gefordert. Obwohl dies den Vorteil bietet, Nethack auf der Konsole oder am Terminal spielen zu können, hat auch eine aufwändige Oberfläche ihre Freunde.
Hier kommt Falcon's Eye ins Spiel. Es ersetzt die Ascii-Grafik durch eine hoch auflösende isometrische Darstellung mit dynamischen Lichteffekten, mehreren Interface-Bildschirmen und einer grafischen Einführungssequenz (siehe Abbildung 1). Außerdem stellt es Soundeffekte für die unterschiedlichen Ereignisse im Spiel bereit und erlaubt MIDI- oder MP3-Hintergrundmusik.
Auch die Benutzerführung wird durch Falcon's Eye erweitert, so erlaubt es die Steuerung per Maus, Bewegung per Autopilot und kontextsensitive Menüs. Eine Beschreibung der Spielobjekte über so genannte Tooltips erleichtert Anfängern den Einstieg. Dabei ist das Interface in hohem Maße anpassbar und es kann nicht nur die Bildschirmauflösung frei gewählt werden, auch Soundeffekte oder Tastaturbelegung können geändert werden.
Der Spielinhalt wird dabei jedoch weiter von Nethack geliefert, weshalb die Kombination als "Nethack - Falcon's Eye" bezeichnet wird. Falcon's Eye wurde von dem Finnen Jaakko Peltonen nahezu im Alleingang geschrieben - von ihm stammen nicht nur die Programmierung und das Interface, er hat auch die Grafik und die Musik zusammengestellt. Dabei waren für ihn das Feedback und die Anfragen von Nutzern überaus wichtig, um die Qualität und Benutzerfreundlichkeit zu optimieren.
Die Idee zu diesem Projekt kam Jaakko 1999, als er mit isometrischen Grafiken experimentierte. Dabei entdeckte er Nethack erst später, denn ursprünglich sah sein Plan vor, Ultima IV mit einer grafischen Oberfläche zu bereichern. Das wurde aber unter anderem dadurch verhindert, dass Ultima IV nur proprietär vertrieben wird, daher wandte er sich Nethack zu. Die eigentliche Entwicklung begann im Oktober 2000 und seitdem wurde viel an Falcon's Eye gearbeitet - so gab es in dieser Zeit nicht weniger als fünf neue Versionen des Interface.
Zurzeit beschäftigt Jaakko neben der Behebung von Fehlern und Beseitigung von Problemen auch der Gedanke, die Oberfläche durch Animationen anzureichern. Da Nethack zugbasiert ist, bestehen solche Möglichkeiten nur in Grenzen, jedoch sollten zumindest statische Animationen wie zum Beispiel flackernde Fackeln zu realisieren sein. Außerdem wird die nächste Version viele neue Grafiken enthalten, die das Äußere noch ansprechender gestalten sollen, auch ein Zoom-Feature ist angedacht. Geschrieben wurde Falcon's Eye in C mit Anreicherungen in C++, wenn dies zum Beispiel zur Ansteuerung von Direct-X notwendig war.
Lauffähig ist Nethack - Falcon's Eye auf GNU/Linux, DOS, Windows (95+), BeOS und Solaris SPARC. Die Installation von Nethack und Falcon's Eye gestaltet sich teils recht problematisch, doch glücklicherweise gibt's etliche Hilfestellungen sowie vorbereitete Pakete. Falcon's Eye untersteht ebenso wie Nethack der Nethack General Public License von M. Stephenson, die der alten BISON General Public License von Richard M. Stallman nachempfunden ist, die mittlerweile durch die GNU General Public License abgelöst wurde.
Nach so vielen Jahren der Entwicklung ohne Copyright-Assignments ist eine Änderung der Nethack-Lizenz vermutlich nicht mehr praktikabel, für Falcon's Eye wäre es aber wohl sinnvoller gewesen, direkt die GNU General Public License einzusetzen. Das soll jedoch niemanden davon abhalten, sich mit Falcon's Eye zu beschäftigen oder daran mitzuarbeiten.
Abbildung 1:Falcon's Eye ersetzt die Ascii-Grafik von Nethack (links) durch eine hoch auflösende isometrische Darstellung mit dynamischen Lichteffekten und mehreren Interface-Bildschirmen (rechts).
Vega Strike: Wenn die Luft immer dünner wird
"Vega Strike"[7] ist ein 3D-Raumkampfsimulator unter der GNU General Public License, der den Vergleich mit den normalerweise im Handel befindlichen proprietären Spielen nicht zu scheuen braucht. Ursprünglich schrieb Daniel Horn, ein Student der University of California, Berkeley, einen Glide-basierten Klon des unfreien Spiels "Wing Commander", der sogar auf der Homepage der Herstellerfirma Origin erwähnt wurde. Damals war er aber noch nicht mit freier Software oder GNU/Linux in Berührung gekommen und schrieb dieses Spiel daher zunächst mit Hilfe von OpenGL beziehungsweise D3D unter Windows.
Auch wenn er dies ursprünglich nicht vorhatte, beschloss er dann im Januar 2001, das Spiel auch nach GNU/Linux zu portieren und Vega Strike plattformunabhängig zu machen. In der aktuellen Version setzt Vega Strike auf C++ und verwendet die OpenGL-, OpenAL-, Glut-, SDL- und Expat-Bibliotheken. Letztere dienen der Bearbeitung von XML-Daten, über die Vega Strike die gesamte Konfiguration und Kommunikation abwickelt. Der umfassende Einsatz von XML ist nach dem Verständnis von Daniel einer der großen Vorteile von Vega Strike, was auch Nicht-Programmierern die Konfiguration und Weiterentwicklung von Vega Strike erlaubt.
Im Laufe des Jahres wurde Vega Strike gemeinsam mit Kommilitonen aus Berkeley und anderen Mitstreitern der Freie-Software-Gemeinde weiterentwickelt und ist zu einer der besten Raumkampf-Simulationen geworden. Die Entwicklung ist jedoch noch lange nicht abgeschlossen; so ist es beispielsweise noch geplant, einige Probleme mit den 3D-Modellen besser zu lösen, mehr Effekte und Terraineigenschaften zu implementieren und das Gameplay zu vervollständigen.
Nachdem die technischen Fragen geklärt sind, soll Vega Strike sich simultan in zwei Richtungen entwickeln: Einerseits wird die Komponente des Erforschens und der sozialen Interaktion ausgebaut, die Spieler alleine oder mit Freunden gemeinsam ausleben können. Es soll möglich sein, Geld durch Handel, Piraterie oder das Eröffnen eines Unternehmens zu verdienen und sich auch politisch zu engagieren. Die andere Richtung ist eine Erweiterung für strategische Aspekte, bei denen Spieler mehrere Schiffe kontrollieren können, um große Flotten in die Schlacht zu führen.
Um alle diese Pläne umzusetzen, ist das Projekt-Team allerdings auf Mithilfe unterschiedlichster Art angewiesen. So braucht das Projekt grafisch versierte Freiwillige, die sich der 3D-Modelle annehmen, Entwickler, die sich mit plattformunabhängiger Programmierung befassen wollen, und Spieltester, die für ausgewogene Missionen und Werte der einzelnen Komponenten sorgen. Auch das physikalische Modell ist nach Daniels Ansicht verbesserungswürdig. Wer sich für Vega Strike interessiert, sollte die Homepage[7] besuchen.
Abbildung 2: Im Laufe des Jahres wurde Vega Strike gemeinsam mit Mitstreitern der Freie-Software-Gemeinde weiterentwickelt und ist zu einer der besten Raumkampf-Simulationen geworden.