Diesmal nehmen wir die 'Adventure Game Authoring System'-Engine für Euch unter die Lupe.

Befasst man sich näher mit dem 'Adventure Game Authoring System', wird spätestens nach der Installation Folgendes klar: Eine wie bei anderen Systemen übliche grafische Benutzeroberfläche fehlt komplett. Man "klickt" sich sein Spiel nicht zusammen, sondern man scriptet hauptsächlich mit einem Texteditor. Dies schreckt natürlich vor allem Anfänger ab, die keine oder wenig Erfahrung im Bereich Programmieren mitbringen, und ist auch der Grund dafür, dass vergleichsweise wenig Projekte mit AGAST entwickelt werden.
Dennoch existieren einige AGAST-Adventures, die zum Teil sogar kommerziell vertrieben worden sind und deren Entwickler die enorme Flexibilität der Engine zu schätzen wissen.
Gerüchten zu Folge arbeitete damit für kurze Zeit ein Team um Bill Tiller, dem leitenden Grafiker von 'Monkey Island 3', ehe sie ihr Projekt wieder komplett aufgeben mussten.
Factbox
Downloadpaket
Der Download der aktuellen Version der Engine ist rund neun MB groß. Enthalten sind neben den wichtigen Entwicklungswerkzeugen Compiler, Interpreter und Programmen, die Grafiken und Pfade in AGAST-interne Formate umwandeln, ein "Angel" getaufter Texteditor (SciTE), ein Handbuch sowie ein paar Beispiel-Adventures und ein Puzzle-Spiel.
Öffnet man mit Angel eine beliebige Scriptdatei eines Projekts, kann man damit das Spiel compilieren und starten.
Falls sich in einem Script ein Fehler eingeschlichen haben sollte, meldet das der Editor, und mit einem Doppelklick auf die entsprechende Meldung öffnet sich die jeweilige Datei an der kritischen Stelle zum sofortigen Editieren.
Es gibt noch diverse Programme, die die Entwicklung an einem Spiel komfortabler machen, und zu einem großen Teil nicht von den AGAST-Programmierern selbst stammen.
Hier eine unvollständige Auswahl:
Fähigkeiten
Um es kurz zu machen: Es gibt kaum etwas in einem 2D-Grafikadventure, was mit AGAST nicht möglich wäre. Eine umfangreiche Einführung in die Scriptsprache würde den Rahmen dieser Vorstellung hier sprengen, deswegen möchten wir an dieser Stelle nur einige interessante Eigenschaften und Fähigkeiten anschneiden.
Unterstützt werden alle Auflösungen, die Grafikkarte und Monitor darstellen können, und alle Videos, die das Zielsystem abspielen kann.
Die Scriptsprache mit objektorientierten Konzepten ist natürlich speziell auf die Entwicklung eines 2D-Grafikadventures ausgelegt, aber es lassen sich damit auch beispielsweise Autorennen oder Jump-and-Runs, eventuell als integrierte Minni-Spiele, verwirklichen, was sich zwar als kompliziertes aber mögliches Unterfangen darstellt.
Jederzeit kann in einem Script ein weiterer, parallel ablaufender Aktionsstrang gestartet werden, um in Zwischensequenzen mehrere Objekte gleichzeitig anzusteuern und zu bewegen, oder kompliziertere, von der Zeit abhängige Rätsel ins Spiel zu bringen.
Alle denkbaren grafischen Benutzeroberflächen ('Monkey Island 3', 'Sam and Max', 'Indiana Jones 4') sind realisierbar, und mit dem eimgebauten Textparser kann man den Spieler sogar wie in 'Police Quest' Tastaturkommandos eingeben lassen, die die Spielfigur steuern.
Bei jedem individuellen Raumwechsel kann man zwischen 18 verschiedenen Übergangseffekten (zum Beispiel Überblenden, oder Aus- und wieder Einblenden) auswählen. Ein Partikel-System lässt sich mit entsprechenden Kenntnissen leicht einbauen.
Man hat nicht nur volle Kontrolle über alle vom Spieler getätigten Tastatureingaben und Mausklicks und kann entsprechend reagieren, sondern auch über diverse Standardmethoden, die man mit eigenen Scripts überschreiben kann.
Bei der grafischen Darstellung der Szene kann man bevor und nachdem die Objekte gezeichnet werden eingreifen, um beispielsweise Schatten bei bestimmten Objekten zu realisieren, oder gleich die gesamte Darstellung der Objekte selbst übernehmen. Zudem kann man eigene Darstellungs- und Animationsroutinen einzelner Objekte entwerfen.
Folgende Dateiformate werden unterstützt: wav, midi, mod, s3m, xm, it, mp2, mp3, ogg für Musik und Soundeffekte, und psd, tga, pcx, jpeg für Grafiken, die auch einen Alpha-Kanal besitzen können.
Die Schriftarten im Spiel können komplett selbst erstellt werden. Mit dem oben bereits erwähnten 3rd-Party-Werkzeug 'FontEdit' lassen sich Windows-Schriftarten bequem mit Schatten und Antialiasing in AGAST-Schriftarten umwandeln.
Die Dialoge werden selbstverständlich ebenfalls gescriptet und sind beliebig verschachtelbar, man hat zu jedem Zeitpunkt die volle Kontrolle, kann Dialog-Optionen entfernen, ändern, zwischendurch Personen bewegen und so weiter.
Durch den Zugriff auf den sogenannten Direct3D-Vertexbuffer können fortgeschrittenere, grafische Effekte wie Spiegelungen, oder Schatten realisiert werden.
Bekannte Bugs: kleinere Fehler in der Wegfindung, die aber in einem Standard-Adventure fast nie ins Gewicht fallen. Außerdem funktionieren einige Funktionen für das Musikabspielen nicht richtig, was man hingegen umgehen kann.
DirectX 9 wird auf jedenfall benötigt, um AGAST-Adventures spielen zu können.
Betreuung, Community, Tutorials
Aufgrund des Mangels an zahlreichen Projekten herrscht im offiziellen englischen AGAST-Forum vergleichsweise spärliche Aktivität.
Fragen werden jedoch gewissenhaft von den Entwicklern Todd Zankich und Russell Bailey, oder den Forums-Mitgliedern beantwortet.
Der Engine mitgeliefert, und auch online verfügbar, ist eine sehr ausführliche, aber englische Dokumentation, die nicht nur die grundsätzliche Arbeit mit AGAST und der Scriptsprache dahinter erklärt, sondern auch auf die Erstellung von Hintergründen oder das Spieledesign im Allgemeinen eingeht.
Tutorials zum Einstieg existieren kaum: im Forum ein englisches, hier auf der Adventurecorner ein deutsches.
Lizenzmodell
Für Freeware-Spiele kann AGAST absolut kostenlos verwendet werden. Nur wenn man plant, sein Projekt kommerziell zu vermarkten sollte man Kontakt mit den Programmierern aufnehmen, und sich auf Tantiemen oder eine Provision einigen.
Wie gestaltet sich die Entwicklung eines größeren Projekts?
Nach der Eingewöhnungszeit und dem Erstellen des Adventure-Grundgerüsts, wie Interface, Inventar, Spielmenüs und der Integration der wichtigsten Spielfiguren, entsteht eine gewisse Routine bei der Weiterentwicklung.
Jeder Raum im Adventure wird zur Entwicklungszeit von einem passend benannten Unterverzeichnis auf der Festplatte repräsentiert. Darin befinden sich zumindest eine Scriptdatei, und der Übersicht halber die verwendeten Ressourcen wie Grafiken, Pfade, Musik und Soundeffekte. Somit bleibt auch bei umfangreichen Spielen die Übersicht während der Entwicklung erhalten.
Dadurch, dass das gesamte Projekt auf verschiedene Dateien ausgelagert ist, müssen nur diejenigen, die verändert worden sind, an andere Teammitglieder weitergegeben werden, um mit ihnen den Entwicklungsstand zu synchronisieren.
Wie sieht ein fertiges AGAST-Spiel aus?
An die Spielergemeinde verteilt werden neben eventuell verwendeten Videos die zur Ausführung nötigen Dateien
Die vom Compiler erstellte Datei Ressource.data ist komprimiert. Alle im Spiel vorkommenden Texte und Dialoge befinden sich unverschlüsselt in der Game.data, können also von pfiffigen Spielern gelesen werden, wenn sie die Datei mit einem Texteditor öffnen.
Ein extra Programm, das fertige AGAST-Spiele bei den Spielern installiert, gibt es nicht.
Screenshots
Fazit
Der Umgang mit AGAST lässt sich mit guten Englischkenntnissen zwar einfach erlernen, jedoch sollte man schon etwas Erfahrung im Programmieren mitbringen, oder geneigt sein, sich anzueignen, um das Potenzial der mächtigen Scriptsprache auch sinnvoll auszuschöpfen. Dafür lässt der Funktionsumfang fast keine Wünsche offen: AGAST eignet sich hauptsächlich für fortgeschrittenere Benutzer, die hohe Ansprüche an ein flexibles Entwicklungswerkzeug stellen, und sich durch ein von anderen Engines zum Teil gebotenes "Baukastensystem" nicht einschränken lassen wollen.
Weiterführende Links
AGAST-Homepage
AGAST-Tutorial @ Adventure Corner
Dennoch existieren einige AGAST-Adventures, die zum Teil sogar kommerziell vertrieben worden sind und deren Entwickler die enorme Flexibilität der Engine zu schätzen wissen.
Gerüchten zu Folge arbeitete damit für kurze Zeit ein Team um Bill Tiller, dem leitenden Grafiker von 'Monkey Island 3', ehe sie ihr Projekt wieder komplett aufgeben mussten.
Factbox
Lizenz | Freeware für Freeware, kommerzielle Projekte sollten Kontakt mit den Entwicklern aufnehmen |
aktuelle Version | AGAST Morningstar 1.1 b |
Homepage | http://allitis.com/agast/ |
bekannte Spiele | Eye of the Kraken, Patrimonium |
Downloadpaket
Der Download der aktuellen Version der Engine ist rund neun MB groß. Enthalten sind neben den wichtigen Entwicklungswerkzeugen Compiler, Interpreter und Programmen, die Grafiken und Pfade in AGAST-interne Formate umwandeln, ein "Angel" getaufter Texteditor (SciTE), ein Handbuch sowie ein paar Beispiel-Adventures und ein Puzzle-Spiel.
Öffnet man mit Angel eine beliebige Scriptdatei eines Projekts, kann man damit das Spiel compilieren und starten.
Falls sich in einem Script ein Fehler eingeschlichen haben sollte, meldet das der Editor, und mit einem Doppelklick auf die entsprechende Meldung öffnet sich die jeweilige Datei an der kritischen Stelle zum sofortigen Editieren.
Es gibt noch diverse Programme, die die Entwicklung an einem Spiel komfortabler machen, und zu einem großen Teil nicht von den AGAST-Programmierern selbst stammen.
Hier eine unvollständige Auswahl:
SpriteEdit | damit lassen sich Sprites (bestehend aus meist mehreren Bildern, die zu einer Animation zusammengefügt werden) direkt editieren. |
Matrix | erleichtert das Erstellen von Pfaden (auf denen sich der Spieler bewegen kann) |
Scenery | große Hilfestellung bei der Zusammenstellung von Hintergründen, Walk-Behinds und Pfaden |
FondEdit | bietet die Möglichkeit, AGAST-Schriftarten zu editieren, oder installierte Windows-Schriftarten mit Schatten und Kantenglättung ins AGAST-Format zu konvertieren. |
Vid2Sprite | konvertiert Videos in Sprites; sinnvoll, um nicht Bildschirm-füllende Videos in Räume einzubauen |
Fähigkeiten
Um es kurz zu machen: Es gibt kaum etwas in einem 2D-Grafikadventure, was mit AGAST nicht möglich wäre. Eine umfangreiche Einführung in die Scriptsprache würde den Rahmen dieser Vorstellung hier sprengen, deswegen möchten wir an dieser Stelle nur einige interessante Eigenschaften und Fähigkeiten anschneiden.
Unterstützt werden alle Auflösungen, die Grafikkarte und Monitor darstellen können, und alle Videos, die das Zielsystem abspielen kann.
Die Scriptsprache mit objektorientierten Konzepten ist natürlich speziell auf die Entwicklung eines 2D-Grafikadventures ausgelegt, aber es lassen sich damit auch beispielsweise Autorennen oder Jump-and-Runs, eventuell als integrierte Minni-Spiele, verwirklichen, was sich zwar als kompliziertes aber mögliches Unterfangen darstellt.
Jederzeit kann in einem Script ein weiterer, parallel ablaufender Aktionsstrang gestartet werden, um in Zwischensequenzen mehrere Objekte gleichzeitig anzusteuern und zu bewegen, oder kompliziertere, von der Zeit abhängige Rätsel ins Spiel zu bringen.
Alle denkbaren grafischen Benutzeroberflächen ('Monkey Island 3', 'Sam and Max', 'Indiana Jones 4') sind realisierbar, und mit dem eimgebauten Textparser kann man den Spieler sogar wie in 'Police Quest' Tastaturkommandos eingeben lassen, die die Spielfigur steuern.
Bei jedem individuellen Raumwechsel kann man zwischen 18 verschiedenen Übergangseffekten (zum Beispiel Überblenden, oder Aus- und wieder Einblenden) auswählen. Ein Partikel-System lässt sich mit entsprechenden Kenntnissen leicht einbauen.
Man hat nicht nur volle Kontrolle über alle vom Spieler getätigten Tastatureingaben und Mausklicks und kann entsprechend reagieren, sondern auch über diverse Standardmethoden, die man mit eigenen Scripts überschreiben kann.
Bei der grafischen Darstellung der Szene kann man bevor und nachdem die Objekte gezeichnet werden eingreifen, um beispielsweise Schatten bei bestimmten Objekten zu realisieren, oder gleich die gesamte Darstellung der Objekte selbst übernehmen. Zudem kann man eigene Darstellungs- und Animationsroutinen einzelner Objekte entwerfen.
Folgende Dateiformate werden unterstützt: wav, midi, mod, s3m, xm, it, mp2, mp3, ogg für Musik und Soundeffekte, und psd, tga, pcx, jpeg für Grafiken, die auch einen Alpha-Kanal besitzen können.
Die Schriftarten im Spiel können komplett selbst erstellt werden. Mit dem oben bereits erwähnten 3rd-Party-Werkzeug 'FontEdit' lassen sich Windows-Schriftarten bequem mit Schatten und Antialiasing in AGAST-Schriftarten umwandeln.
Die Dialoge werden selbstverständlich ebenfalls gescriptet und sind beliebig verschachtelbar, man hat zu jedem Zeitpunkt die volle Kontrolle, kann Dialog-Optionen entfernen, ändern, zwischendurch Personen bewegen und so weiter.
Durch den Zugriff auf den sogenannten Direct3D-Vertexbuffer können fortgeschrittenere, grafische Effekte wie Spiegelungen, oder Schatten realisiert werden.
Bekannte Bugs: kleinere Fehler in der Wegfindung, die aber in einem Standard-Adventure fast nie ins Gewicht fallen. Außerdem funktionieren einige Funktionen für das Musikabspielen nicht richtig, was man hingegen umgehen kann.
DirectX 9 wird auf jedenfall benötigt, um AGAST-Adventures spielen zu können.
Betreuung, Community, Tutorials
Aufgrund des Mangels an zahlreichen Projekten herrscht im offiziellen englischen AGAST-Forum vergleichsweise spärliche Aktivität.
Fragen werden jedoch gewissenhaft von den Entwicklern Todd Zankich und Russell Bailey, oder den Forums-Mitgliedern beantwortet.
Der Engine mitgeliefert, und auch online verfügbar, ist eine sehr ausführliche, aber englische Dokumentation, die nicht nur die grundsätzliche Arbeit mit AGAST und der Scriptsprache dahinter erklärt, sondern auch auf die Erstellung von Hintergründen oder das Spieledesign im Allgemeinen eingeht.
Tutorials zum Einstieg existieren kaum: im Forum ein englisches, hier auf der Adventurecorner ein deutsches.
Lizenzmodell
Für Freeware-Spiele kann AGAST absolut kostenlos verwendet werden. Nur wenn man plant, sein Projekt kommerziell zu vermarkten sollte man Kontakt mit den Programmierern aufnehmen, und sich auf Tantiemen oder eine Provision einigen.
Wie gestaltet sich die Entwicklung eines größeren Projekts?
Nach der Eingewöhnungszeit und dem Erstellen des Adventure-Grundgerüsts, wie Interface, Inventar, Spielmenüs und der Integration der wichtigsten Spielfiguren, entsteht eine gewisse Routine bei der Weiterentwicklung.
Jeder Raum im Adventure wird zur Entwicklungszeit von einem passend benannten Unterverzeichnis auf der Festplatte repräsentiert. Darin befinden sich zumindest eine Scriptdatei, und der Übersicht halber die verwendeten Ressourcen wie Grafiken, Pfade, Musik und Soundeffekte. Somit bleibt auch bei umfangreichen Spielen die Übersicht während der Entwicklung erhalten.
Dadurch, dass das gesamte Projekt auf verschiedene Dateien ausgelagert ist, müssen nur diejenigen, die verändert worden sind, an andere Teammitglieder weitergegeben werden, um mit ihnen den Entwicklungsstand zu synchronisieren.
Wie sieht ein fertiges AGAST-Spiel aus?
An die Spielergemeinde verteilt werden neben eventuell verwendeten Videos die zur Ausführung nötigen Dateien
Resource.data | enthält alle Ressourcen |
Game.data | enthält die Spiellogik, zusammengestellt aus allen Scripts |
Play.exe | der eigentliche Interpreter, kann auch in den Spielnamen umbenannt werden |
fmod.dll | eine benötigte Programmbibliothek |
Die vom Compiler erstellte Datei Ressource.data ist komprimiert. Alle im Spiel vorkommenden Texte und Dialoge befinden sich unverschlüsselt in der Game.data, können also von pfiffigen Spielern gelesen werden, wenn sie die Datei mit einem Texteditor öffnen.
Ein extra Programm, das fertige AGAST-Spiele bei den Spielern installiert, gibt es nicht.
Screenshots
Fazit
Der Umgang mit AGAST lässt sich mit guten Englischkenntnissen zwar einfach erlernen, jedoch sollte man schon etwas Erfahrung im Programmieren mitbringen, oder geneigt sein, sich anzueignen, um das Potenzial der mächtigen Scriptsprache auch sinnvoll auszuschöpfen. Dafür lässt der Funktionsumfang fast keine Wünsche offen: AGAST eignet sich hauptsächlich für fortgeschrittenere Benutzer, die hohe Ansprüche an ein flexibles Entwicklungswerkzeug stellen, und sich durch ein von anderen Engines zum Teil gebotenes "Baukastensystem" nicht einschränken lassen wollen.
Weiterführende Links
AGAST-Homepage
AGAST-Tutorial @ Adventure Corner