Subject: Wie gut ist Source wirklich?
From: Boris Kraut <[email-masked]>
To: undisclosed-recipients: ;
Date: Sun, 04 Jul 2004 00:00:00 +0000

Als letztes Jahr die ersten Bilder und Videos zum kommenden Half-Life 2
die Runde machten, war sich jeder sicher, dass die dafuer verwendete
Source-Engine alles bisherige und auch das zukuenftige fuer lange
Zeit in den Schatten stellen wuerde. Doch mit der Zeit scheint diese
Euphorie verflogen zu sein, denn nach dem ominoesen HL2-Leak und den
gerade frisch aufgetischten Meldungen der GameStar werden die Stimmen
lauter, die Half-Life 2 schon vor der Veroeffentlichung begraben wollen.
AEusserungen wie "Das sieht ja voll billig aus.", "FarCry ist doch viel
schoener." oder "Unreal kann das doch schon lange." liesst man Tag fuer
Tag in den Foren. Ich werde in folgendem Artikel versuchen etwas Licht
ins Dunkle zu bringen. Dabei sollte das hier keine technische Abwandlung
ueber die Vorzuege dieser oder jener Engine werden, sondern es sollte
viel mehr als leicht verstaendlicher Leitfaden fuer den
Durchschnittsspieler angesehen werden; ich werde mich also mit
Fachausdruecken zurueckhalten.

Zuallererst sollte man sich von der simplen Aufteilung in gute
und schlechte Engines verabschieden. Denn das sind nicht die
Kriterien, die Entwickler zu Rate ziehen. Viel mehr geht es um die
Fragen "Was fuer Anforderungen stellt mein Spiel an die Engine?", "Wie
kann ich meine Ideen am schnellsten umsetzen?" oder "An welche
Zielgruppe richtet sich das Spiel?". Man wird also fuer ein
2D-Jump-And-Run kein hochmodernes Grundgeruest brauchen, das nach der
neusten Hardware verlangt und ein Spiel, das nur ueber einen
Mehrspielermodus verfuegt, wird einen sehr guten Netzwerkcode
benoetigen, wohingegen die Grafik der vorletzten Generation noch
ausreicht.

[Bild: Doom3, roter Nebel, Dimensionstor]

Doom III ist beispielsweise als ein langsamer, beklemmender
Horrorshooter geplant, was nach einer sehr guten Lichtberechnung
verlangt, aber die Darstellung von weitlaeufigen Aussenarealen vorerst
als Nebensache abhandelt. Gleiches gilt fuer den Mehrspieler: Wo die
Vorgaenger der Quake-Reihe einen schnellen, fetzigen Spielablauf haben
mussten, reicht jetzt ein simples 4-Mann-Fragfest.

Was waren also bei der Entwicklung der Source-Engine die gesetzten
Eckpunkte? Nun, zum einen sollte man nicht nur in engen Raeumen wie im
Vorgaenger unterwegs sein, sondern sich durch eine ganze Stadt,
beziehungsweise mittelgrossen Aussenarealen bewegen koennen. Zum anderen
wurden - gerade fuer Team Fortress 2 - auch bewegliche und nutzbare
Fahrzeuge gebraucht.

Ein weiterer Punkt war, dass die Charaktere sehr lebensnah wirken
sollten und moeglichst viele Leute die Moeglichkeit haben sollten,
Half-Life 2 zu spielen. Ich werde nun anhand einiger Bilder erlaeutern,
wie sich diese Leitargumente auf den Bau der Engine ausgewirkt haben:

[Bild: HL2, Hydra, eckig]

Viele Leser werden sich gefragt haben, ob solche Spitzen, wie sie hier
aus dem Wasser ragen, wirklich noch zeitgemaess sind. Sie sind es, sie
sind es. Was man hier sehr schoen sieht, ist das Valve versucht, das
Spiel auf einer Grosszahl von Computern - gerade den etwas
aelteren und schwaecheren - lauffaehig zu machen. Betrachtet man
naemlich ein zweites Bild aus nahezu derselben Situation, so sieht man
statt der Kante einen schoenen Verlauf des Sandhuegels:

[Bild: HL2, Hydra, kantenglaettung]

Ein weiterer Kritikpunkt, der oft genannt wird, sind die gerade zu flach
wirkenden Gebaeude, wie man sie sehr gut auf folgenden zwei Bildern
sehen kann:

[Bild: HL2, Stadt, greyshaded]
[Bild: HL2, Stadt, Hausecke]

Die scharfen Kanten und das klotzartige Aussehen erinnern einen eher an
den Legobaukasten im Keller als an ein modernes Computerspiel. Doch
sollte man bedenken, dass es sich hier nun mal um eine Wand handelt,
eine schlichte, stinknormale Wand. Natuerlich werden bei besseren
Systemen hier auch entsprechende Bump- und Normalmaps fuer die richtige
Tiefe im Aussehen sorgen. Ausserdem ist das zur Zeit einfach Stand der
Technik, wie ein Bild aus dem oben genannten FarCry beweist. Man sieht
trotz der Bumpmaps deutlich die eckige Grundstruktur:

[Bild: FarCry, Ecke]

Wer jetzt aber Doom III als ein Beispiel anfuehrt, wie man so etwas
besser macht, der sollte sich zweierlei bewusst machen: Einerseits kann
sich Doom III voll und ganz auf kleine Innenlevel konzentrieren,
wohingegen bei Half-Life 2 eine ganze Stadt dargestellt werden muss.
Auch wenn nur das berechnet wird, was man im Moment sieht, ist das bei
einer offen gebauten Stadt mehr, als in einem dunklen Korridor einer
Marsstation. Andererseits sehen Rohkarten auch nicht viel besser aus,
nur sind dort die Bumpmaps um einiges besser gestaltet und ausserdem tut
auch die Lichtberechnung ihr uebriges.

[Bild: Doom3, Ecke]
[Bild: HL2, Ecke, Wasser]

Auch wenn man auf diesem Bild ebenfalls die eckige Bauweise erkennen
kann, geht es hier eigentlich um das Wasser. Als dieses Bild
veroeffentlicht wurde, haben viele Leute sich negativ ueber das Wasser
geaeussert. Nun, das Problem liegt an der Art, wie Fluessigkeiten
dargestellt werden. In Half-Life 2 ist das Wasser eine ebene Flaeche,
die nur aufgrund ihrer Shadereffekte wie Wasser aussieht, es werden
keine wellenfoermigen Deformierungen wie in Half-Life verwendet. Die
Vorteile der neuen Technik, die auch der von FarCry entspricht, sieht
man an folgendem Bild:

[Bild: HL2, Wasser]

Valve war in Sachen Charaktere der Konkurrenz schon immer zwei Schritte
voraus. Als Half-Life erschien, hatte niemand geglaubt, dass man NPCs so
echt wirken lassen konnte. Die sogenannte Skeletal-Animation-Technik war
fuer die damalige Zeit so neu, dass nicht einmal Quake 3 etliche Jahre
nach Half-Life diese integriert hatte. Auch die TF2-Models sehen dank
Intel's MRM-Technologie selbst heute noch besser aus, als bei so
manchem aktuellen Titel. Um diesen Vorsprung auch mit Half-Life 2 weiter
auszubauen wurden erstmals in der Geschichte des Computers virtuelle
Muskeln verwendet, die dazu dienen, die Bewegungsablaeufe zu
vermenschlichen und Emotionen mit den virtuellen Gesichtern
auszudruecken (facial expression). Das Minenspiel des G-Mans ist seit
der letzten E3 wohl unvergessen:

[Bild: HL2, G-Man, Gesicht]
[Bild: HL2, G-Man, Gesicht]

Diese Muskeln sind aber nicht nur fuer die Koerpersprache, sondern auch
fuer das gesprochene Wort zustaendig, so werden in HL2 die Charaktere
ihre Lippen korrekt zu den ausgesprochenen Lauten bewegen. Daher koennen
HL2-Charaktere von der Mundbewegung her eine Vielzahl von Sprachen
sprechen. Zudem werden die virtuellen Darsteller ueber realistische
Augen verfuegen, die bestimmte Dinge fokussieren, also beispielsweise
den Spieler anschauen koennen. Eigentlich muesste man nicht extra
erwaehnen, dass wieder die aus Half-Life 1 bekannte Skeletal
Animation Technik verwendet wird, dass auch hier die Parametic
Animations - also das ueberblenden von mehreren Animationen - eingesetzt
wird und dass die Modelle natuerlich um einiges mehr Polygone aufweisen,
als ihre Vorgaenger.

[Bild: HL2, HL, G-Man, Vergleich]

Als nach dem Diebstahl des Quelltext herauskam, dass in den
Pre-E3-Karten doch nicht alles von der kuenstlichen Intelligenz
berechnet wurde, sondern viele Dinge wie beim Vorgaenger vordefiniert
waren, war die Enttaeuschung gross. Doch waren dies, wie gesagt,
vorlaeufige Levels, die wahrscheinlich zu einem Zeitpunkt entstanden
sind, als die Engine noch nicht ihre volle Staerke in Sachen KI besass.
Ich denke, dass Valve aus den Team Fortress 2 und Counter-Strike Bots
viel gelernt hat und diese Erfahrungen dazu nutzt, uns in Half-Life 2
die bestmoeglichsten Gegner zu geben. So soll die KI standardmaessig nur
das sehen, hoeren oder riechen koennen, was ein normaler Mensch -
respektive ein normales Alien - wahrnehmen koennte. Charaktere koennen
wie im Vorgaenger selbst entscheiden, ob sie den Spieler oder einen
anderen computergesteuerten Teilnehmer aufgrund seiner Handlungen als
Freund oder Feind betrachten und werden sich dementsprechend verhalten.
Ist ein gemeinsamer Feind ausgemacht - sei es der Spieler selbst oder
ein Gegner des Spielers - wird dieser in Teamarbeit auseinandergenommen.
Die KI kontrolliert genau, wann es besser waere sich zurueckzuziehen
oder anzugreifen und gibt bei Bedarf den Kollegen Feuerschutz. Besonders
nuetzlich ist das ganze auch deswegen, weil die NPCs nicht wie beim
ersten Teil schon bei groesseren Treppen die Gefolgschaft verweigern,
sondern alles koennen, was der Spieler kann: Rennen, Springen, Ducken,
Klettern, Schwimmen und in Extremfaellen sogar Fliegen.

Realwirkende Vegetation und grosse Aussenlandschaften scheinen die
grossen Probleme moderner Engines zu sein. Zwar scheint man weite
Grasflaechen mit Level-Of-Detail-Systemen und jeder Menge
halbtransparenter Texturen in den Griff zu bekommen, doch scheint sich
die eigentliche Technik seit Trespasser nicht wirklich fortentwickelt zu
haben. Fuer Half-Life 2 sollte man zwar eine zeitgemaesse Loesung
erwarten, aber nichts aufregend Neues - zumindest was die Vegetation
anbelangt. Fuer die weitlaeufigen Aussenlandschaften wird es unter
anderem durch die sehr verformbaren Flaechen zwar Unterstuetzung geben,
in wie fern diese aber in das eigentliche Spiel miteingebracht werden,
bleibt abzuwarten.

[Bild: Trespasser, Vegetation]
[Bild: Vietcong, Vegetation]
[Bild: Men of Valor, Vegetation]
[Bild: Stalker, Vegetation]
[Bild: FarCry, Vegetation]
[Bild: HL2, Vegetation]

Kein Entwickler kann es sich heute noch leisten, eine Engine ohne
Berechnungsmethoden fuer physikalische Effekte zu veroeffentlichen. Was
wir bisher in Doom III, Unreal Warfare Spielen oder FarCry gesehen
haben, hat viele schwer beeindruckt, doch wird alles mit Half-Life 2
noch besser werden, wie viele der gedruckten Magazine behaupten. Einige
Dinge in dem viel gelobten Edelshooter FarCry sehen zwar imposant aus
und scheinen sich an die Physik zu halten, doch sprechen Experten hier
von einer - wahrscheinlich aus Performance-Gruenden - "ungenauen
Berechnung". Ob das nun fuer den Spieler eine so grosse Bedeutung hat,
bleibt jedem selbst zu entscheiden.

Dabei ist vor allem interessant, dass die Physik-Engine nicht nur wie
bekannt die Grafik beeinflusst, sondern auch die Audioeffekte. So werden
schnell fahrende Autos, falls vom Designer vorgesehen, den Dopplereffekt
(Stichwort Martinshorn) hervorrufen. Hierzu werden fuer verschiedene
Entfernungen die jeweiligen WAV-Dateien, respektive MP3s abgespielt und
uebereinander geblendet. Der Sound wird uebrigens - wie beim Vorgaenger
- nicht zu kurz kommen, denn wir duerfen mit sehr gutem 3D-Sound
rechnen. Apropos Auto, den Fahrzeugen kommt in der Source-Engine
natuerlich auch eine besondere Rolle zu: Nicht nur, dass die Fahr- und
Flugzeuge, sowie Schiffe vom Spieler und seinen Mitstreitern - mehrere
NPCs oder im Mehrspielermodus auch mehrere echte Mitspieler - genutzt
werden duerfen, nein sie verhalten sich bis zu den Raedern physikalisch
korrekt und koennen auf nasser Fahrbahn beispielsweise wegrutschen. Wer
jetzt schon eine Ruckelpartie fuerchtet, dem sei gesagt, dass diese
Effekte natuerlich auch ausgeschaltet werden koennen, so dass man eine
Art direkt ueber dem Boden schwebenden Hovercraft erhaelt.

Wenn wir gerade beim Thema Mehrspielermodus sind: Der Netzwerkcode wurde
auf Basis des aktuellen HL1 und dessen Modifikationen entwickelt, man
kann also davon ausgehen, dass Valve sehr genau weiss, wie man diese
Problematik anpackt. Wie im Vorgaenger werden die Treffer vom Client
vorausberechnet und dann vom Server verifiziert oder korrigiert, was
dazu fuehrt, dass - selbst wenn es nicht besonders ratsam ist - auch
Spieler mit 56k-Modems teilnehmen koennen. Die Physik-Berechnung wird im
Mehrspielermodus aufgeteilt: Ist etwas nicht spielkritisch,
beziehungsweise nur fuer die grafische Darstellung zustaendig, so wird
der Computer des Spielers dies berechnen, anderenfalls der Server.

Da die Source-Engine - aehnlich wie Unreal Warfare - modular aufgebaut
ist, lassen sich einzelne Teile, falls nicht benoetigt, einfach
ausschalten oder nachtraeglich aktualisieren, was natuerlich in Hinblick
auf die Adaption neuer Techniken als auch auf das Stopfen moeglicher
Sicherheitsloecher, die von Cheatern ausgenutzt werden, interessant ist.
Auch wird die Entwicklung von dem ebenfalls geplanten Half-Life 3
dadurch um einiges kuerzer ausfallen, als die von Half-Life und HL2. Ist
die Source-Engine also eine zeitgemaesse, eine gute Engine? Ja,
das ist sie. Sie bietet Valve genau das, was sie fuer Half-Life 2, Team
Fortress 2 und ihre weiteren Produkte brauchen. Sie hat natuerlich ihre
Vor- und Nachteile, aber das hat jede andere Engine auch. Wenn es also
bessere Engines gibt, wird dann Half-Life 2 floppen? Gewiss
nicht. Wie ich sagte ist Source zeitgemaess, und das ist schon mehr als
die HL-Engine zu ihrer Zeit war. Wer sich an den Release erinnert, der
erinnert sich auch sicher an das Duell der Giganten, indem
Half-Life sich Unreal, dem damaligen Grafikwunder, stellen musste.
Anscheinend hat Valve irgendetwas richtig gemacht, denn heute spielt man
noch Half-Life, das Original-Unreal dagegen kennt man nur noch als
Namensgeber fuer diverse Ableger und deren Engine.

Nachtrag: Nein, die Source-Engine von Half-Life 2 war nicht die beste
Engine die es damals gab, aber sie war massgeschneidert und Tat ihren
Dienst. Manchmal kommt es eben nicht nur auf die Grafik an. Die Engine
wird uebrigens wie ihre Vorgaenger-Version (GoldSource) auch noch Jahre
nach dem Release von Half-Life 2 gepflegt, erweitert und an neue
Standards angepasst.

---