ÜBERSTROM

Spiele

"Beim Programmieren verliert Zeit an Bedeutung": Interview mit dem Daggerfall Unity-Entwickler Gavin Clayton

von Mario Donick

21.08.2019

Das 1996 erschienene Spiel The Elder Scrolls 2: Daggerfall (Bethesda Softworks) ist einer der bekanntesten Computer-Rollenspiel-Klassiker. Um diesen frühen Vertreter der noch heute erfolgreichen Elder-Scrolls-Reihe auf heutigen Computern lauffähig zu halten, hat der australische Programmierer und IT-ler Gavin Clayton das Projekt Daggerfall Unity1 geschaffen. Ich habe Gavin zum E-Mail-Interview 'getroffen', um mehr über die Hintergründe zu erfahren - wir sprechen unter anderem über frühe Programmiererfahrungen, Daggerfalls Unitys Modding-Fähigkeiten, das Bewahren von Spielen als Kulturgut und über Gavins nächstes Projekt.

Daggerfall und Daggerfall Unity sind Computerspiele. Hast du auch beruflich mit Spielen und Spieleentwicklung zu tun, oder ist das ein Hobby für dich

Mein beruflicher Hintergrund ist in der IT-Industrie, aber ich hatte immer ein weitreichendes Interesse und eine Leidenschaft für die Entwicklung von Videospielen. Ich wollte schon Spiele machen, seit ich ihnen das erste Mal in den Spielhallen der 1980er Jahre begegnet bin. Wenn es in Australien eine größere Spieleindustrie und mehr Möglichkeiten gegeben hätte, als ich noch jünger war, wäre ich vielleicht in dem Bereich gelandet. Stattdessen wurde ich in die IT-Branche gezogen und arbeite dort auch heute noch in einem Vollzeitjob.

Zeichnung von Gavin Clayton
Zeichnung von Gavin Clayton

Gibt es in Australien heute eine Spieleindustrie?

Es gibt viele unabhängige Indieentwickler, was aber heute wohl ziemlich normal für die gesamte Industrie ist. Ich denke mal, ich gehöre jetzt selbst in diese Kategorie.

Mit Daggerfall Unity auf jeden Fall. Aber mit dem Programmieren selbst hast du früh angefangen?

Ich programmiere, seit ich sieben Jahre alt war, zuerst mit BASIC auf dem VIC20, den unsere Familie besaß. Dann folgte 6502-Assembler-Programmierung auf dem C64 [der Befehlssatz des 6510-Prozessors im C64 war abwärtskompatibel zum 6502, M.D.], später eine Reihe von Sprachen auf dem Amiga. Seit 1992 und bis heute programmiere ich auf PCs mit C/C++. Ich habe über die Jahre noch mit verschiedenen anderen Sprachen und Plattformen gearbeitet, und mich nebenbei sogar an professioneller Entwicklung versucht, aber ich fand keine Befriedigung darin, den Code irgendwelcher uralter Buchhaltungssysteme zu warten.

Das kann ich mir vorstellen. Kannst du für die Leser*innen von uns, die nicht selbst programmieren, kurz beschreiben, wie sich das Gefühl der Befriedigung beim Programmieren anfühlt?

Es gibt in der Psychologie das "Flow"-Konzept, das sich gut auf kreative Tätigkeiten anwenden lässt. Flow ist eine Art geistiger Zustand kraftvoller Konzentration und Klarheit, bei dem die Zeit alle Bedeutung verliert, während du von der Arbeit 'absorbiert' wirst.

Wenn ich eine Weile an etwas baue, das ich liebe, erzeugt das eine ähnlich intensive Erfahrung. Gerade wenn ich eine Leidenschaft für das habe, was ich entwickle, entsteht dieses angenehm-energetisierende Flow-Gefühl.

Auch positives Feedback zu erhalten, ist ein schönes Gefühl. Es hilft dabei, motiviert zu bleiben. Auch negatives Feedback kann wertvoll sein, wenn es konstruktiv ist.

Wenn du schon so lange programmierst, waren sicher auch früh Spiele darunter?

Einfache Spiele habe ich schon auf unserem VIC20 geschrieben. Zu der Zeit war ich von den Fighting-Fantasy-Büchern besessen, also habe ich einfache Spiele gebaut, bei denen man einen ASCII-Helden durch ein Labyrinth bewegte, um Tränke zu sammeln und Monster zu bekämpfen. Auf dem C64 habe ich dann komplexere Spiele geschrieben, aber auch eigene Werkzeuge, zum Beispiel eine Textverarbeitung, ein Grafikprogramm zum Zeichnen und Bearbeiten von Sprites und einen ADSR-Soundeditor.

Ich war davon fasziniert, wie Spiele im Inneren funktionieren. Ich hatte ein Action-Replay-Modul; damit konnte ich Spiele mittendrin anhalten. Dadurch konnte ich ihren Assembler-Code untersuchen, Cheats herausfinden, mich um Kopierschutz herumarbeiten und sogar Speicherabzüge von Sprite-Grafiken machen und exportieren. Mit denen habe ich dann in meinen eigenen Tools rumgespielt. Es war eine gute Zeit, um auf so einfacher Hardware zu lernen, aber ich wünschte, ich hätte die Menge an Tools und Ressourcen gehabt, zu denen junge Spieleentwickler heute Zugang haben.

Von Daggerfall zu Daggerfall Unity

Auch für Daggerfall Unity hast du über die Jahre hinweg eine Menge Werkzeuge entwickelt, bevor es an das eigentliche Spiel ging. Woher rührt dein persönliches Interesse an Daggerfall?

Nachdem ich Daggerfall 1996 kaufte, war es das einzige Spiel, an das ich in den nächsten sechs Monaten denken konnte. Es gab damals viel weniger Informationen darüber als heute. Alles war von einer Art allgegenwärtigem Mysterium umgeben.

Dragonling
Ein Drachling oder Dragonling aus The Elder Scrolls 2: Daggerfall

Ich erinnere mich, wie ich in die Welt auszog, um "Drachen zu suchen", weil es irgendwo das Gerücht gab, dass die irgendwo in dem Spiel versteckt wären. Ich bin sogar einigen Drachlingen [Dragonlings, in der englischen Version, M.D.] begegnet und habe die als Zeichen dafür angesehen, dass ich den Drachen nahe sein müsste.

Wenn ich daran zurückdenke, komme ich mir ziemlich albern vor, aber ich wusste wirklich nichts über das Spiel und alles wirkte so groß und faszinierend. Meine Vorstellungskraft konnte sehr leicht freidrehen und Muster sehen, wo keine waren - in diesen unzähligen Spielsystemen, die manchmal eher stumpf und ziemlich oft kaputt waren.

Hast du das Spiel je beendet?

Ja, sehr oft. Ich habe verschiedene Charaktere mit spezifischen Eigenschaften erstellt, um zu sehen, wie weit ich mit ihnen kommen würde. Mehrere von ihnen haben es durch die Hauptquest geschafft.

Kannst du neuen Spieler*innen, die erst mit Daggerfall Unity auf das Spiel stoßen, Tippes geben? Sind die Anleitungen und Lösungen, die es für das originale Daggerfall im Internet heute gibt, noch gültig, oder hast du für Daggerfall Unity besondere Ratschläge?

Die meisten Informationen für das klassische Daggerfall sind auch für Daggerfall Unity gültig. Wir haben eine Reihe von Fehlern behoben, aber insgesamt bietet das Spiel eine sehr ähnliche, ungeschminkte Erfahrung. Daggerfall hat eine Menge kleiner seltsamer Eigenheiten, und ich denke, am besten tut man sich mit Leuten zusammen, die das Spiel schon kennen, um mit den eher ungewöhnlichen Spielelementen zurechtzukommen.

Bist du denn nach wie vor Elder-Scrolls-Fan und -Spieler, oder ist Daggerfall Unity eher eine technische Herausforderung für dich?

Ich habe alle Elder-Scrolls-Spiele seit Arena gespielt und hatte damit Spaß. Ich spiele auch Spiele aller anderen Genres, aber nur ein paar von denen haben mich so gepackt wie Daggerfall. Ausgehend von meinen früheren Erfahrungen mit dem Reverse Engineering von Spielen wirkte es wie eine natürliche Herausforderung, Werkzeuge zu bauen, um Daggerfalls Grafiken, Musik und Orte zu erkunden. Ich vermute, ich habe auf meine eigene Weise immer noch den Drachen hinterher gejagt.

Dank des UESP-Wikis2 hatte ich genügend technische Informationen über die Dateiformate, um anzufangen. So sind meine diversen Tools entstanden, also Daggerfall Explorer, Daggerfall Jukebox, Daggerfall Imaging und Daggerfall Modelling. Ich habe mit diesem technischen Hobby immer wieder weitergemacht. Die Arbeit hatte ein tieferes Verständnis der Dateiformate zur Folge und hat sich dann zu Daggerfall Tools for Unity (DFTFU) weiterentwickelt, was wiederum zu dem Daggerfall Unity wurde, was wir heute kennen.

Daggerfall Unity hat jetzt, 2019, den "Alpha"-Status erreicht, aber wirkt schon sehr rund. Abgesehen von ein paar Bugs, die im Forum diskutiert werden, kann man Stunden über Stunden in diesem Teil Tamriels verbringen. Auf der Website von Daggerfall Unity gibt es eine Roadmap, aber kannst du die drei wichtigsten Aufgaben der nächsten Monante nennen?

Neben allgemeinen Fehlerbehebungen und Verbesserungen sind meine drei Favoriten die Einbindung eines größeren HUDs, ein Fragebogen für die Klassen-Erstellung und eine verbesserte Unterstützung für Übersetzungen in andere Sprachen. Daggerfall lässt sich wegen verschiedener Einschränkungen im Design und im technischen Bereich schwer übersetzen. Ich hoffe, dass ich diese Probleme eines nach dem anderen in den Griff bekomme, sodass unsere internationalen Freunde bessere Lokalisierungs-Mods für das Spiel entwickeln können. Das macht viel Arbeit und ist daher wahrscheinlich ein langfristiges Ziel.

Daggerfall Unitys Modding-Fähigkeiten

Ein Fluss und Bäume, Pixelgrafik
Ein Bach, der sich durch einen dichten Wald schlängelt - das originale Daggerfall (1996) konnte so etwas nicht darstellen, aber für Daggerfall Unity gibt es Stand 2024 von Spieler*innen erstellte Modifikationen, mit denen das möglich wird.

Zusammen mit großen Mods für Texturen und 3D-Modelle kann Daggerfall Unity wie ein modernes Spiel aussehen, das in einem Retro-Stil gestaltet wurde: Man kann nun Pflanzen, Gras, Vögeln und abwechslungsreicheren NPCs begegnen; die einst flache Landschaft kann hügelig und bergig sein; die Sichtweite ist viel größer, und der Himmel erzeugt teils sehr atmosphärische Stimmungen. Welche Mods nutzt du persönlich in dem Spiel?

Ich spiele normalerweise mit dem originalen Look and Feel, oft mit aktivierten 320x200 "Retro Modus". Ich mag die einfache, blockartige Gestaltung des klassischen Daggerfalls. Manchmal spiele ich mit Grafikmods, und ich bin begeistert von den Dingen, die unsere Modding-Community über die Jahre erreicht hat. Jedes Mal, wenn ich nachschaue, wurde wieder etwas Unglaubliches hinzugefügt. Neben der Grafik bin ich ein großer Fan von Mods, die neue Spielmechaniken und neue Quests hinzufügen. Wenn ich irgendwann nicht mehr so beschäftigt mit der Entwicklung des Spiels bin, möchte ich mich in Ruhe hinsetzen und alle Quests spielen, die Jay_H für das Spiel entwickelt hat.

War es schwierig, dem Spiel Modding-Fähigkeiten zu verpassen und gleichzeitig sicherzustellen, dass die originalen Spieldateien wie gewünscht laufen?

Der Support für Mods war eine große Herausforderung für das gesamte Team. Ich hatte Glück, dass unsere Community das meiste davon auf ihre Schultern genommen hat. Ich selbst habe nur den Code geprüft und beim Testen geholfen. Ich bin sehr dankbar für alle, die an diesen Systemen gearbeitet haben, denn dadurch konnte ich mich auf das Kern-Gameplay konzentrieren.

Daggerfall Unitys Modding-Fähigkeiten entstanden, als Lypyl (ein früher Mitwirkender) das Spiel um einen C#-Runtime-Compiler und einen Mod-Packager ergänzte. Das hat sich in eine umfassende Modding-Plattform entwickelt. Das meiste davon verdanken wir TheLacus, zum Beispiel die Möglichkeit, Texturen zu ersetzen. Er hat auch den Mod Packager weiterentwickelt, und generell die meisten Modding-Fähigkeiten, die Modder heute kennen.

TheLacus kümmert sich außerdem um ein spektakuläres Addon-Template für Visual Studio, mit dem sich Quests skripten lassen. Ich habe das Questsystem so gebaut, dass es Quests während der Laufzeit kompilieren und ausführen kann. Mit der Kombination von Daggerfall Unity, dem integrierten Quest-Debugger, der In-Game-Konsole und dem Visual-Studio-Code mit TheLacus' Template wird das ganze Spiel zu seiner eigenen IDE [Integrierten Entwicklungsumgebung, M.D.], um Quests zu schreiben. Darum konnten Entwickler wie Jay_H und Kamer so schnell neue Quests erstellen, und das in einer Komplexität, die wir im klassischen Daggerfall nie zuvor gesehen hatten. Sie können Quests in normalen Textdateien schreiben und im laufenden Spiel kompilieren, starten und beenden. So kann sehr schnell zwischen Testen und Entwickeln gewechselt werden.

Die Arbeiten am Modding-System erfordern eine Menge Zeit. Es kommen ständig neue Features dazu und so wachsen auch die Modding-Fähigkeiten mit der Zeit. Wenn neue Features ins Spiel integriert werden, muss TheLacus diese über API-Aufrufe und Events mit dem Modding-System verknüpfen. Aber jetzt, wo das Spiel dieselben Features hat wie das originale Daggerfall, kann ich mir vorstellen, dass diese Arbeit nun ungehinderter vorangehen kann, ohne ständig durch meine Arbeit an den Kernsystemen aufgehalten zu werden.

Was mich am meisten an Daggerfall Unitys Modding-Fähigkeiten fasziniert, ist, dass dadurch die weiten leeren Räume des originalen Daggerfall zu individuelleren Orten werden: Berge, Hügel, die Sichtweite, Pflanzen, Vögel usw. bieten einen Kontext, der zur Erkundung jenseits der Quest-Mechaniken einlädt. Man kann jetzt dem Drang nachgeben, auf diesen Berg bei Sentinel zu klettern und das Panorama über die Stadt zu genießen, das sich einem dann bietet. Man kann sogar unerwartete Begegnungen haben, wenn man Kamers Warm Ashes-Mod installiert hat. Eine kleinere Stadt wie, sagen wir, Whitecroft, ist nun nicht mehr nur eine weitere Kopie aller anderen Städte, sondern sie ist der Ort, wo mich auf diesem Hügel da drüben zwei Banditen angegriffen haben und ich gerade so mit dem Leben entkommen bin. Hattest du solche und ähnliche Erfahrungen im Sinn, als du beschlossen hast, dass Daggerfall Unity Mods unterstützen sollte, oder gaben pramatischere Gründe den Ausschlag?

Anfangs war es pragmatisch. Es war offensichtlich, dass Daggerfall Unity Modding-Fähigkeiten haben sollte, aber ich hatte zunächst keine festgelegten Ziele im Kopf. Es gab immer einen großen Bedarf nach neuen Erlebnissen in Daggerfall. Das Spiel hatte so viel leeren Raum, dass es quasi darum gebettelt hat, in einer koordinierten Anstrengung diesen Raum mit neuen Inhalten zu füllen.

Ich glaube, dass dieses Projekt sehr viel Glück hatte, die Leute anzuziehen, die es nun hat, sowohl auf Entwicklungs- als auch auf Modding-Seite. Ich muss nur aufpassen, dass ich den Leuten nicht im Weg rumstehe, während ich das Kernspiel entwickle, sodass die Modding-Community organisch wachsen kann. Das hat sich bis jetzt als sehr erfolgreich erwiesen, obwohl es vielleicht nicht so gewesen wäre, wenn Daggerfall nicht ohnehin von so vielen Menschen geliebt würde.

Weite Landschaft mit einem einzelnen Baum auf einem Hügel, Pixelgrafik
Selbst einzelne Bäume in einer weiten Landschaft waren in Daggerfall 1996 nicht möglich. Die Landschaft zwischen den Städten und Dungeons spielte für das Spiel fast keine Rolle. Mit Daggerfall Unity und Modifikationen ändert sich das.

Alte Spiele bewahren, Neue erkunden

Computerspiele werden mehr und mehr als Kulturgut angesehen. Engines wie Daggerfall Unity (aber auch OpenMW für The Elder Scrolls 3: Morrowind) sind ein Mittel, um diese kulturellen Artefakte für neue Hardware und damit eine neue Generation von Spieler*innen zu bewahren. Gibt es neben Daggerfall andere Spiele, die du 'gerettet' oder 'modernisiert' sehen möchtest?

Wenn möglich würde ich gerne alle Spiele bewahrt sehen. Sie sind ein bedeutendes kulturelles Artefakt unserer Zeit. Leider wird es mit dem Aufstieg von Live-Services und Streaming noch schwerer werden, sie zu bewahren und sie werden häufiger verloren gehen als je zuvor.

Ich kann ein Museum besuchen und mir Kunst anschauen, die Jahrhunderte zuvor erschaffen wurde, aber viele Spiele, die gerade einmal zehn Jahre alt sind, sind schon jetzt für immer fort. Entweder ist der Quellcode verloren, oder nötige Backend-Services laufen nicht mehr, oder die Veröffentlichungsrechte sind in irgendeinem juristischen Dickicht verloren …

Aber ich bin selbst schuldig daran, denn für Daggerfall Unity habe ich Unity verwendet, eine closed-source-Engine. Ich hatte nicht wirklich über die Bewahrung alter Spiele nachgedacht (die DOXBox-Version des originalen Daggerfall macht das ja bereits sehr gut), ich wollte eher eines meiner Lieblingsspiele erweitern, damit man damit auf neue Weise Spaß haben kann.

Dennoch denke ich, dass teilweise Bewahrung besser ist als keine. Der Quellcode von Daggerfall Unity ist offen3 und steht unter einer freien Lizenz, und der Code hängt nicht so sehr von Unity ab wie manche glauben. Es gibt keinen Grund, dass jemand den Code zu einer anderen Engine übertragen könnte, wenn der Wunsch dazu da ist. Wenn also Daggerfall Unity selbst irgendwann würdig ist, bewahrt zu werden, gibt es zumindest einen Weg, das zu tun. Für viele Spiele gibt es den nicht.

In deinem aktuellsten News-Blogeintrag hast du erwähnt, dass du bald an deinem eigenen Spiel arbeiten möchtest. Kannst du darüber schon ein paar Details verraten oder ist es zu früh dafür?

Ich kann noch nicht über spezifische Dinge sprechen, aber ein paar generelle Informationen geben. Ich arbeite an einem weiteren First-Person-Rollenspiel, mit einer offenen Spielwellt (die allerdings viel kleiner ausfällt und stärker per Hand hergestellt ist als bei Daggerfall). Es wird ein anderes Spiel als Daggerfall, aber manche Dinge, die ich an Daggerfall liebe, werden in meinem Spiel erkennbar sein.

Beispielsweise liebe ich den Wechsel zwischen gemütlichen sicheren Umgebungen, in denen man sitzen und tagträumen kann, und gefährlichen Umgebungen, wo man ständiger Gefahr ausgesetzt ist. Was du von den sicheren Orten mitnehmen kannst, beeinflusst wie gut und wie lange du an den gefährlichen Orten überleben kannst. Und was du von den gefährlichen Orten mitbringst, verbessert deine sicheren Orte und damit wiederum deine nächsten Besuche der gefährlichen Orte. Man hat volle Kontrolle über die Reisen zwischen diesen Gebieten, so dass man eine Art Handlungsfreiheit spürt und die Spielwelt schrittweise meistern kann, während man Lösungen entwickelt, um Herausforderungen zu bewältigen.

Viele Spiele machen so etwas, aber manche sind dabei besonders gut und etwas tiefgehender. Daggerfall war wahrscheinlich das erste Spiel, mit dem ich das so erlebt habe. Etwas aktuellere Beispiele sind Subnautica und Elite Dangerous. Diese beiden Spiele bieten eine sichere Umgebung, aber auch die Möglichkeit, sich schnell große Probleme einzuhandeln, wenn man zu schnell die gefährlichen Gebiete erkundet. Sie erfordern Geduld, Planung, und sorgfältiges Management begrenzter Ressourcen, um sie zu meistern. Etwas an dieser Gegenüberstellung von Räumen und den Konfliktlinien zwischen ihnen gibt mir das Gefühl, eine Art Pionier zu sein.

Ich möchte dieses Gefühl in den Räumen von Spielen selbst erkunden und verstehen. Es geht darum, meine eigene Liebe für Spielumgebungen zu verstehen, während ich gleichzeitig etwas erschaffe, mit dem man gerne Zeit verbringt. Hoffentlich wird daraus ein Spiel, das auch andere Leute gerne spielen.

Das klingt in der Tat nach einem erkundenswerten Pfad! Dann hoffe ich, du wirst darüber künftig weiter in deinem Blog berichten! :) Danke für das Interview und viel Erfolg!

Danke! Alles Gute :)

 

Die beiden Screenshots (Fluss und Landschaft) wurden mit Daggerfall Unity 1.0 im Jahr 2024 aufgenommen. Verwendete Mods sind u.a. World of Daggerfall, Basic Roads, DREAM 90s und Dynamic Skies.

 

Externe Links

1 Website von Daggerfall Unity / Hinweis: Bei externen Links kann es sein, dass Ihre IP-Adresse beim Anklicken in Länder außerhalb der EU (z.B. USA) übertragen wird. Klicken Sie nur auf externe Links, wenn Sie so einer Übertragung zustimmen. Zurück zum Artikel

2 Seite zu Daggerfall im Wiki von The Unofficial Elder Scrolls Pages (UESP) / Hinweis: Bei externen Links kann es sein, dass Ihre IP-Adresse beim Anklicken in Länder außerhalb der EU (z.B. USA) übertragen wird. Klicken Sie nur auf externe Links, wenn Sie so einer Übertragung zustimmen. Zurück zum Artikel

3 Quelltext von Daggerfall Unity bei GitHub / Hinweis: Bei externen Links kann es sein, dass Ihre IP-Adresse beim Anklicken in Länder außerhalb der EU (z.B. USA) übertragen wird. Klicken Sie nur auf externe Links, wenn Sie so einer Übertragung zustimmen. Zurück zum Artikel

Feedback zum Artikel?

Sie möchten den Artikel kommentieren? Sehr gerne! Aus Datenschutzgründen gibt es jedoch keine Kommentarfunktion. Sie können uns ganz klassisch einen Leser:innen-Brief an redaktion (at) ueberstrom (punkt) net schicken. Nur wenn Sie in Ihrer Mail explizit einer Veröffentlichung Ihrer Mail zustimmen, kann diese als Kommentar unter diesem Artikel veröffentlicht werden. Kürzungen und Nichtveröffentlichung sind uns vorbehalten. Da auch beim Senden von E-Mails Daten übertragen und verarbeitet werden, lesen Sie bitte vor dem Senden einer E-Mail an uns die Datenschutzerklärung, insbesondere den Unterabschnitt "E-Mail-Versand und -Hosting".