From: Boris Kraut Date: Sun, 04 Jul 2004 00:00:00 +0000 Category: Sender: Message-ID: <20040704000000.GxyeMT@silberbruch> References: Keywords: Comments: To: undisclosed-recipients: ; Subject: Wie gut ist Source wirklich? 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. ---