Shop


 Audio


NZZ Folio 05/05 - Thema: Computerspiele   Inhaltsverzeichnis

Monsterprojekt

© Yager Development, Berlin
Kampfszene aus dem Computerspiel «Yager»: Einer der feindlichen Jäger wird abgeschossen. Damit das Spiel wie ein Film abläuft, muss der Computer 30 solche Bilder pro Sekunde berechnen.
Linktext
1200 Requisiten bauen, 22 Landschaften anlegen, Hunderte von Raumschiffen mit künstlicher Intelligenz ausstatten: Die Entwicklung des Computerspiels «Yager» war kein Kinderspiel.

Von Reto U. Schneider

Es gibt viele Gründe, weshalb ich eben mit meiner Sagittarius abgestürzt bin. Doch die Entwickler des Computerspiels «Yager» haben drei Jahre daran gearbeitet, dass ich bloss den naheliegendsten davon erfahre: Ich bin ein schlechter Pilot. Ich habe den Jäger hinter mir nicht bemerkt, habe getrödelt, den Anblick der Sonne genossen, wie sie sich im Wasser spiegelte. Auf der Flucht habe ich den Abstand zwischen den zwei Felswänden zu gross eingeschätzt und ein bisschen zu stark rechts gehalten. Jetzt steigen Rauch und Flammen aus den 21 Trümmerteilen, in die «das beste Schiff, das jemals eine Werft bei Lobos Robotics verlassen hat», regelmässig zerfällt.

Von den wirklichen Gründen für meinen Absturz – der Programmzeile mit dem «damage-x event», der Schummelei bei der Kollisionsabfrage, dem Mindestabstand von Felswänden beim Level-Design – soll ich nichts merken.

«Yager» wurde von der Firma Yager Development in Berlin entwickelt, einem der wenigen deutschen Spiele-Entwickler, die international mithalten können. Vier Informatiker und ein Grafiker gründeten das Unternehmen im Jahr 1 999 mit dem Ziel, ihr eigenes Science-Fiction-Spiel auf den Markt zu bringen. Schon ihre Jugend hatten sie zu einem grossen Teil vor dem Bildschirm verbracht. «Wir konnten damals in der DDR kaum Spiele kaufen. Da mussten wir vieles selber machen», sagt Uwe Beneke. «Ich kann mich gut daran erinnern, wie ich auf einem C 64 kleine Raumschiffe und Meteore gepixelt habe.»

Die Entwicklungskosten für «Yager» – mehrere Millionen Euro – bezahlte der amerikanische Gamepublisher THQ. 2003 kam «Yager» für Xbox und PC auf den Markt und wurde inzwischen in Europa und Australien 200 000 Mal verkauft. Die Zahlen für die USA stehen noch aus.

Der Firmensitz von Yager Development liegt in einem alten Fabrikgebäude in Berlin Kreuzberg. Dort wird im Moment an Spielen für die nächste Generation der Spielkonsolen gearbeitet. Das Grossraumbüro hat die Dimensionen einer mittleren Kirche. Und still wie in einer Kirche ist es, wenn man eintritt. Welten zu erschaffen, hat etwas Feierliches. Knapp zwanzig junge Männer zwischen 20 und 35, die meisten in Jeans und Pullover, sitzen vor ihren Bildschirmen. Ausser zwei ordentlich zusammengebundenen Pferdeschwänzen gibt es hier keine langen Haare auf den Köpfen und keine Pizzaschachteln am Boden. Computerspiele entwickeln ist nicht die Arbeit von Freaks. Es ist die Arbeit von Spezialisten, die nach einer fast militärischen Planung zusammenwirken. Über 1 00 000 Mannstunden wurden in «Yager» investiert. Einer alleine hätte 50 Jahre dazu gebraucht. Ein Monsterprojekt.

In der Anleitung zu «Yager», die von «Boost-Schächten» und «Scharfschützengewehren» nach dem «Lorentz-Prinzip» handelt, findet sich auch eine Liste all jener, die an der Entwicklung von «Yager» beteiligt waren: 38 Namen, geordnet nach 20 Funktionen von «Core Game Programming» über «Character Texturing» bis zu «Special FX».

Alle hatten nur ein einziges Ziel: Ich soll völlig in das Spiel eintauchen. Ich soll nichts vom Aufwand mitbekommen, der da getrieben wurde. Ich soll 22 Missionen mit steigendem Schwierigkeitsgrad erfüllen, in wechselnden Spiellandschaften feindliche Raumschiffe, Amok laufende Roboter und Flugabwehrgeschütze ausschalten, um die Erde vor der ausserirdischen Bedrohung zu retten. Ich, Magnus Tide, der Ex-Proteus-Pilot, der eben wegen eines groben Flugfehlers an einer Felswand zerschellt ist.

Jedes Computerspiel ist ein digitales Lügengebäude, das eine glaubhafte Welt auferstehen lässt. Eine Phantasiewelt vielleicht, aber eine Welt, in der die Reaktionen der Spielfiguren einer nachvollziehbaren Logik folgen, in der ich mich frei bewegen und umschauen kann, in der das Wasser den Berg hinunterfliesst und die Bäume Schatten werfen.

Die Illusion beginnt bei den Requisiten: Roboter, Waffen, Bäume, ein Krokodil, ein Hangar, das Hotel Hoopy Marlin, Jane’s Bar, die Sagittarius. Alles, was zum Dekor des Spiels gehört, musste einzeln am Computer hergestellt werden. Einer, der daran mitarbeitete, war Dominik Lüdtke. Er ist Absolvent des ersten Lehrgangs der Berliner Games Academy, einer neuen Ausbildungsstätte für Computerspiele-Entwickler. Dass Deutschland nicht das Mekka dieser neuen Industrie ist, merkte er schon an der Schule: «Wir waren nur vier Leute im ersten Kurs.» Der grösste Teil der Spiele kommt aus den USA und Japan.

Für die Herstellung der dreidimensionalen Objekte – das Generieren von Assets, wie es Lüdtke nennt – braucht er ein Grafikprogramm. «Alles beginnt mit einer Schachtel», sagt er und zeigt auf den Würfel auf seinem Bildschirm. Dann baut er mit ein paar Mausklicks eine zweite Schachtel an, zieht mit dem Mauspfeil an den Ecken – die Kanten werden wie Gummibänder mitgezogen – und erzeugt neue Ecken und damit neue Flächen. «Es ist ein bisschen wie Bildhauerei.» Tatsächlich war der Chefgrafiker von Yager Development, Mathias Wiese, Bildhauer, bevor er zum «Yager»-Team stiess. Wiese skizzierte Unmengen von Raumschiffen, Gebäuden, Landschaften und Kampfszenen. An diesen Zeichnungen orientierten sich die Computergrafiker beim Bau der Objekte.

Bei der «Schachteltechnik» von Lüdtke besteht das Objekt am Schluss aus Vielecken, sogenannten Polygonen. Betrachtet man nur die Kanten der Polygone, sieht das Ganze aus wie ein Drahtgittermodell, und überraschenderweise nennt es Lüdtke auch so, obwohl er sonst Sätze sagt wie: «Beim Smoothing werden die Flächen vom Shading her interpoliert.» Das Drahtgittermodell ist die Antwort auf die Frage, wie sich ein Computer ein dreidimensionales Objekt merken soll. Im ersten Moment mag es einfacher erscheinen, die Koordinaten jedes Punkts seiner Oberfläche abzuspeichern. Doch leider besteht jede Fläche aus unendlich vielen Punkten. Bei einem Drahtgittermodell speichert der Computer eine Auswahl davon und verbindet sie mit Geraden, die dann die Seiten der Polygone bilden. Aus wie vielen Polygonen ein Objekt bestehen soll, ist abhängig von seiner Komplexität und seiner Rolle im Spiel. «Als wir am Ende der Entwicklung noch Leistungsreserven hatten, spendierten wir der Sagittarius noch ein paar Polys», sagt Lüdtke. Das Schiff bestand schliesslich aus 30 000 – eines davon kam bei meinem Absturz der Felswand zu nahe. Je mehr Polygone ein Objekt bilden, desto detailreicher und realistischer kann es dargestellt werden.

In einem nächsten Schritt werden die Drahtgitter mit einer Textur versehen. «Sie werden mit einer bestimmten Tapete überzogen», erklärt Lüdtke. Der Hauptteil des Raumschiffs zum Beispiel mit metallischem Grau. Die Baumkronen mit hellem Grün. Die Felswand – ich war nah genug dran – mit gesprenkeltem Braun. Die Texturen enthalten auch Information darüber, wie sie auf Lichteinfall reagieren, ob sie eher matt sind oder glänzend.

Die Herstellung eines Objekts kann zwei Tage dauern, aber auch mehrere Wochen. 1200 mussten für «Yager» gebaut werden. Darunter auch die 21 Wrackteile, in die meine Sagittarius zerfallen ist. Bereits bei der Produktion der Objekte muss klar sein, welche davon später im Spiel zerstört werden können. Für jedes davon müssen die verschiedenen Schadensstufen als digitale Modelle im Voraus hergestellt worden sein. Damit der Aufwand nicht ins Unermessliche wächst, sah man bei «Yager» davon ab, für Gebäude und Schiffe, die nicht unmittelbar mit dem Missionsziel zu tun haben, mehrere Zerstörungsstufen zu modellieren. Mit dem Resultat, dass das klapprige Hotel Hoopy Marlin, an dem ich kurz vor dem Absturz noch mein gesamtes Waffenarsenal ausprobierte, selbst meiner Napalmkanone standhielt.

Beginnt der Computergrafiker seine Arbeit mit einer Schachtel, fängt der Level-Designer sein Werk mit einer leeren Fläche an. Tim Flavor war einer der Level-Designer für «Yager» und kam in dieser Funktion dem am nächsten, was sich Laien unter der Entwicklung von Computerspielen vorstellen: Er gestaltete die Spiellandschaft, die – man ahnt es bereits – ebenfalls aus Polygonen besteht. «Zuerst zog ich die Berge hoch, überzog sie mit einer Textur, dann suchte ich mir einen Himmel aus, setzte die Objekte, also Gebäude, Brücken, Bäume, und liess die Sonne scheinen.» Level-Design ist ein bisschen wie Gott spielen, ausser dass es bei Computerspielen am Schluss Licht wird.

Flavor studierte Architektur und drehte Videos. Dass er sich Computerspielen zuwandte, ist kein Zufall: «Die Form Film ist für mich passé, die Zukunft gehört den interaktiven Formen.» Als Ausgangsmaterial für seine Arbeit an «Yager» diente ihm die Beschreibung der verschiedenen Schauplätze. Dazu bekam er Angaben zu Tageszeit und Wetter und zum Ablauf der Mission mit Startpunkt, zu erfüllende Aufgaben und Ziel. «Ich musste dann die Landschaft so gestalten, dass das Spiel Spass macht.» Die Grösse und die Wendigkeit der Sagittarius bestimmte zum Beispiel, wie schmal eine Schlucht sein darf, damit man sie durchfliegen kann. Mit seiner kleinlichen Bemessung des Abstands der zwei Felswände mache ich Flavor sofort mitverantwortlich für meinen Absturz.

Bei der Kreation der Spielumgebung versieht der Level-Designer die einzelnen Elemente auch mit typischen Eigenschaften: Durch Gebäude darf man zum Beispiel nicht hindurchfliegen können, durch Baumkronen schon. Für Häuser, die zerstört werden können, stellt er im Hintergrund schon die passenden Ruinen bereit. Das Resultat ähnelt einer virtuellen Eisenbahnanlage ohne Eisenbahn, ist aber noch kein Spiel. «Die Polygone sehen zwar schön aus, aber die sitzen da einfach rum», sagt Firmengründer Beneke. Für die Programmierung der eigentlichen Spiellogik sind die Leute vom Skripting zuständig.

«Hier ist es.» Axel Hylla zeigt mit dem Finger auf die verhängnisvolle Programmzeile, die mein Verderben war: onevent dmg-x. «Die Sagittarius ist explodiert, weil der Health-Controller des Schiffs auf das damage-x-event umgeschaltet hat.» Das klingt viel besser als «Sie sind ein mieser Pilot», obwohl es in meinem Fall dasselbe bedeutet. Der Zustand jedes Raumschiffs im Spiel wird in Gesundheitspunkten hinterlegt. Die Sagittarius beginnt mit 2000. Für jeden erhaltenen Treffer und jede Kollision gibt es Abzüge, erklärt Hylla, der ebenfalls von der Architektur zum Spieldesign kam. Nach dem Angriff des Jägers war das Streifen der Felswand zu viel für mein Schiff: damage-x. Einundzwanzig Unterprogramme – für jedes Trümmerteil eines – liessen dann die «rechte Stabili sierungsflosse», den «linken Hauptflügel», den «Schwenkarm für rechte Landeklappe» zu Boden fallen. «Dann gibt es noch ein paar Partikeleffekte. Wenn man schon kaputtgeht, soll man sich wenigstens daran erfreuen können, dass es hübsch aussieht», sagt Hylla. Mit Partikeleffekten meint er Rauch.

Das Skripting sorgt zusammen mit anderen Programmteilen für die zentrale Eigenschaft eines Computerspiels: die Interaktivität. Anders als in einem Film kann ich mich als Raumschiffpilot Magnus Tide in der Spielumgebung bewegen, und diese Umgebung muss auf mein Verhalten reagieren. Wenn ich bei Jane’s Bar lande, muss es ein Skript geben, das festlegt, dass der Barkeeper mir Informationen gibt. Wenn ich mich dem Piratennest auf eine bestimmte Distanz nähere, sollen feindliche Jäger mich angreifen. Auf diese Weise wird die Geschichte vorangetrieben, und der Spieler erfährt, was er zu tun hat.

Das Skripting legt auch fest, wie viel Freiheit ein Spieler hat. Ein Thema, das unter Spiele-Entwicklern heiss diskutiert wird. «Wenn alles möglich ist, kann das Spiel schnell langweilig werden», sagt Hylla. Der Spieler kann dann stundenlang über die schöne Landschaft fliegen, ohne dass er das Piratennest am Fjord findet. Über das Skripting kann man ihn lenken. Man lässt zum Beispiel etwas Rauch steigen, wenn er in der Nähe vorbeifliegt, oder gibt ihm einen Hinweis über Funk. «Das Gefühl von Freiheit muss gegen ein schönes Spielerlebnis abgewogen werden», sagt Hylla.

Existiert zu einer bestimmten Handlung des Spielers kein Skript – zum Beispiel zu meinem Beschuss des Hotels Hoopy Marlin –, geschieht auch nichts, deshalb müssen die Leute vom Skripting auch seltsame Verhaltensweisen vorhersehen. Die Reaktion darauf ist in umfangreichen Tabellen abgelegt.

Der Grafiker hat die Modelle aufgebaut, der Level-Designer die Spielumgebung gestaltet, der Skripter die Spiellogik programmiert. Kann jetzt das Spiel beginnen? Nicht ganz, denn bisher hat niemand dem Computer gesagt, was er zu tun hat. Der Skripter hat zwar Abläufe programmiert wie: «Wenn die Sagittarius die Felswand berührt, wird sie beschädigt», aber der Computer weiss weder, was die Sagittarius, noch, was eine Felswand ist. Ein Computer hantiert ausschliesslich mit Zahlen.

Die Übersetzungsarbeit von der «Yager»-Welt der Raumschiffe in die Computerwelt der Zahlen leistet die Engine. So nennt man das Programm, das im Hintergrund die Fäden in den Händen hält. Die Engine speichert etwa die Koordinaten und die Geschwindigkeit jedes Raumschiffs, wandelt die Bewegungen des Joysticks in Bewegungen der Spielfigur um, lässt die Gegner intelligent agieren, bereitet die dreidimensionalen Landschaften zur zweidimensionalen Darstellung auf dem Bildschirm vor – und liess die Trümmerteile meiner Sagittarius in einer physikalisch korrekten Wurfparabel zu Boden fallen (wenigstens das).

Roman Golka, einer der Firmengründer, ist Spezialist für die Kollisionsdetektion, die ebenfalls die Engine erledigt. Weil Spielfiguren nicht durch den Boden sinken sollen und Raumschiffe nicht durch Häuser fliegen dürfen, überprüft die Engine ständig, ob sich zwei Objekte gerade berühren. Das klingt im ersten Moment einfach, muss sie doch nur berechnen, ob die Koordinaten einer der Ecken eines Raumschiffs innerhalb eines anderen Objekts zu liegen kommen. Bloss hat die Sagittarius 30 000 Ecken, die 30-mal pro Sekunde überprüft werden müssten, für jedes Bild neu. «Zu aufwendig, was Speicher und Rechenzeit angeht», sagt Golka, «die sind immer knapp.» Deshalb werden komplizierte Objekte unsichtbar mit einfacheren umhüllt. Mit Kugeln, Zylindern, Boxen. «Bei denen ist es leicht zu berechnen, ob sie kollidieren.» In der Hitze des Gefechts bemerkt der Spieler die Schummelei nicht .

Golka ist also ebenfalls mitschuldig an meinem Absturz. Nicht die Sagittarius ist mit der Felswand kollidiert, sondern die einfache Hülle, die sie mit sich trug. Golka wird das nicht kümmern. Die Arbeit an der Engine findet tief in den Eingeweiden des Rechners statt, weit entfernt von heroischen Luftkämpfen und Jane’s Bar. «Für den Programmierer ist es im Grunde egal, wie es aussieht, da geht es ums Prinzip. Es reicht, wenn die Sache mit zwei Bauklötzen funktioniert», sagt der Informatiker.

Die Engine muss auch die Herkulesarbeit jedes Spiels bewältigen: das Rendern, die Darstellung der dreidimensionalen Szenen auf dem Bildschirm in Echtzeit. Wer als Magnus Tide über die Inseln fliegt, erwartet ganz selbstverständlich, dass die Landschaft wie in einem Film an ihm vorüberzieht – und macht sich keine Vorstellung, welche gigantische Zahlenhuberei damit verbunden ist.

Damit das Spiel nicht ruckelt, müssen auf dem Bildschirm dreissig Bilder pro Sekunde angezeigt werden. Wenn der technische Direktor von Yager Development, Philipp Schellbach, detailliert zu erzählen beginnt, was der Computer zwischen zwei solchen Bildern alles zu tun hat, kann das Stunden dauern.

Die Engine speichert die Lage aller Polygone, zu welchem Objekt sie gehören und welche Textur sie überzieht. Dazu kennt sie Lage und Richtung der Lichtquellen und den momentanen Blickwinkel des Spielers. Jetzt geht die Rechnerei los: Welche Objekte liegen im Blickfeld? Welche davon verdecken andere? Wie verdecken sie sie? Welche Texturen gehören auf welche Drahtgittermodelle? Wie reflektieren sie das Licht? Wo fallen Schatten? Das ist schon bei einem einzigen Polygon viel Arbeit. Der Rechner muss es aber für die 150 000 bis 200 000 Polygone erledigen, aus denen eine Szene normalerweise gebaut ist. Jedes der 307 200 Pixel auf dem Bildschirm (bei einer Auflösung von 480 mal 640) muss alle 33 Millisekunden erfahren, welche Farbe es anzuzeigen hat. Computerspiele sind die schnellsten Kulissenschieber der Welt.

Anders als bei computergefertigten Trickfilmen wie «Finding Nemo», bei denen man sich für die Berechnung eines einzelnen Bildes bis zu 90 Stunden Zeit nimmt, lassen sich bei einem Computerspiel die Szenen nicht auf Vorrat rechnen, schliesslich weiss man nicht im Voraus, wohin der Joystick den Blick führen wird.

«Was die Rechenleistung betrifft, ist man immer am Anschlag», sagt Schellbach, «da ist keine Luft mehr.» Ohne eine Reihe von Verbesserungen am Rechner und neue Methoden wäre die hohe Bildrate überhaupt nicht zu schaffen. So werden zum Beispiel nur die Polygone auf der Vorderseite von Objekten berechnet, alles andere wäre Zeitverschwendung. Die Darstellung der Objekte auf dem Bildschirm übernimmt zudem seit einiger Zeit die Grafikkarte, eine Art Zusatzrechner, dem die Engine die Koordinaten der Polygone, die Texturen und die Position der Lichtquellen übergibt. Das Umrechnen auf zwei Dimensionen erledigt die Grafikkarte dann autonom. Die effizienten Verfahren der Computerspiele werden zunehmend auch von der Filmindustrie angewendet. «Computerspiele sind heute ohne Zweifel die treibende Kraft hinter der Entwicklung schnellerer Hardware», sagt Schellbach.

In einem grösseren Zusammenhang habe ich also mit meinem Absturz die technische Innovation des Computers vorangetrieben. Für einen schlechten Piloten gar nicht so schlecht.

Reto U. Schneider ist NZZ-Folio-Redaktor.




Teilen

Für 94 Franken pro Jahr gibt es NZZ Folio auch im Abonnement. Näheres hier.

Urheberrecht gilt auch im Internet: Verlinken erlaubt, Kopieren verboten.