Sean Tracy im Interview mit Gamers Nexus (Teil 2)
Steve Burke, Chefredakteur der Spiele-und-Hardware-Webseite Gamers Nexus, konnte das Star Citizen Team besuchen und verschiedene Interviews führen. Als zweites traf er Technical Director Sean Tracy. Wir liefern Euch hier eine Zusammenfassung. Viel Spaß beim Lesen!
[Der genaue Tag des Interviews wird leider nicht genannt, es muss aber zwischen dem 19. und 23.09. stattgefunden haben. Dies ist der zweite Teil des Interviews. Hier geht’s zum ersten Teil.]
- Die Charaktertechnologie ist nicht wirklich neu, sondern das Ergebnis der letzten vier Jahre stetiger Entwicklung.
Aktuell sind dafür rund 120 Köpfe eingescannt inklusive der gebuchten Schauspieler, bisher wurden 53 einzigartige Charaktere im Spiel damit erstellt (zum Vergleich: Crysis hatte weniger als 20 im gesamten Spiel, Ryse “vielleicht 30”).
- Eine wesentliche Entwicklung, die jetzt online geht, ist eine “runtime rig logic” genannt Mechanik. Diese sorgt dafür, dass nicht alle Köpfe auf ein einheitliches Skelett reduziert werden, wie es sonst üblich ist (und womit z. B. ein Gary Oldman, Gillian Anderson oder Mark Hamill ihre Einzigartigkeit verlieren würden und künstlich aussähen). Stattdessen werden alle Animationen geteilt und auf das wirkliche Gesicht angewandt.
- Das erlaubt zusätzlich eine ereignisgetriebene Steuerung der Animationselemente. Beispielsweise: ‘Bewege die Augen’ – und die Rig-Logik weiß, welche Blend Shapes sie mitbewegen muss, o. ä. Ohne diese Mechanik würden zwar die Augen bewegt, die Gesichtsanimation aber ‘nichts davon wissen’ und nicht mitreagieren.
- Diese Mechanik ist auch eine Entscheidung im Sinne des Arbeitsflusses: Statt beispielsweise in Star Marine für jeden Charakter, der beim Schießen wütend aussehen soll, manuell die gewünschten Animationssets festlegen zu müssen, wird nun einfach nur ‘wütendes Gesicht’ gesetzt, und die Prozedur ermittelt eigenständig, um was für ein Gesicht es sich handelt, und berechnet dafür die entsprechende Animation. Es lieber einmal [mit mehr Aufwand] intelligent umzusetzen, erspart Tausende von Handgriffen in der Zukunft, die einen sonst zehn Jahre beschäftigen würden.
- So kann zurzeit mit 183 Eingabeimpulsen, die wiederum u.a. mit 220 Haut-Joints arbeiten, das gesamte Gesicht für jeden beliebigen (menschlichen) Charakter hochdetailliert gesteuert werden. Dies erlaubt die prozedural generierten Reaktionen für beliebig viele Charaktere, ohne dafür mehr Ressourcen zu benötigen.
- Von den Dingen, die neu zur CitizenCon vorgestellt werden, ist aus technischer Sicht auch die Missionserstellung interessant: Bislang ist das Autorenwerkzeug Subsumption noch nicht in der Sandbox integriert, was Sean Tracy für problematisch hält. Die Sandbox selbst ist mit MFC geschrieben, einer alten Microsoft-Bibliothek. Es gibt Plugins, um Toolsets in QT zu schreiben, was sehr viel einfacher und optisch gefälliger ist als in MFC. Oft bedeutet der Versuch, ein neues Werkzeug für die Engine zu schreiben, mehr Kampf mit MFC als mit der eigentlichen Entwicklung des Werkzeugs – häufig wird das Tool dann letztlich außerhalb der Sandbox entwickelt, um es später zu integrieren.
- Subsumption [übersetzbar mit Unterordnung] wird für die künstliche Intelligenz (AI) in Missionen verwendet, aber wohl auch teilweise für das Wirtschaftssystem. Dabei handelt es sich um eine Art visuelles Skriptsystem, das AI-Charaktere steuert, festlegt, welcher Aufgabe sie nachgehen, aber auch beispielsweise situationsbedingte Verhaltensänderungen oder Filmsequenzen auslösen kann. Dabei werden Figuren nicht hart funktional codiert, sondern eher ihr Verhalten definiert.
- Diesem System folgen auch Missionen, die sich in der Folge letztlich aus der Kombination einzelner, kleinerer Aktivitäten ergeben. Auch für das Erstellen von Missionen gilt der Grundsatz, dass die Werkzeuge mit ihren automatisierten Regelwerken 90% der Arbeit erledigen sollen, damit die Künstler bzw. Autoren der Missionen sich auf die restlichen 10% konzentrieren können. So soll möglichst viel Content geschaffen werden können, ohne dass ein Gefühl von generiertem oder ‘Copy & Paste’-Inhalt entsteht.
- Nach Aspekten gefragt, die Sean in der kommenden CitizenCon-Demo vom technischen Standpunkt aus für besonders fundamental hält, geht er noch einmal auf die Planetentechnologie 2.0 ein. Wir Spieler, schließt er sich ein, “haben uns daran gewöhnt, dass man uns belügt”: Wir wissen, dass wir uns in einer Skybox [gestaltete 3D-Spieleumgebung] befinden und die Sonne dort oben nur ein Grafikobjekt ist. Sich aber in Star Citizen der Dimensionen des umgebenden Raums bewusst zu sein, ist etwas Anderes und fühlt sich anders an. Man stelle sich vor, man würde in Witcher einfach nur über Stunden vorwärts laufen durch eine sich ständig verändernde Umgebung, aber dann nach einer Planetenumrundung wieder am Ausgangspunkt ankommen – das ist schon etwas Anderes. Die Implikationen dieser Größenordnungen zu verstehen, z.B. was es alles zu erkunden gibt, das macht für ihn einen wesentlichen Faktor aus.
- Dazu kommt die komplexe AI, in der alle NPCs wie in Elder Scrolls einem eigenen Leben und Alltag nachgehen. Die Charaktere, die man in der zeitlich natürlich begrenzten Demo sehen wird, sind also nicht beispielsweise nur kurz eingebaut, um in einer Szene an dir vorbeizulaufen, sondern bewegen sich auch davor und danach in der Spielewelt.
- Prozessorseitig verteilt das Jobsystem die Arbeiten dynamisch, es wird also nicht starr jedem Prozessorkern ein Aufgabenmodul (z.B. AI) zugewiesen. Natürlich wird dabei über die gesamte Engine mit Threads gearbeitet; je mehr Prozessorkerne, umso besser also. Die CryEngine beherrscht Threads bereits, seitdem man auch Konsolen unterstützte (anfänglich noch maximal acht, die mit fester Aufgabenverteilung programmiert waren).
Ein Problem bis heute bleibt allerdings, dass nicht alle Funktionen in der Engine sprungfreundlich gestaltet sind; fast täglich finden sie neue, die den Hauptprozess verstopfen. Mit Christopher Bolte, auch ein ehemaliger Crytek-Mitarbeiter, hat man aber einen der besten Leute für dieses Problem mit an Bord.
- Als letzten Punkt kommen beide noch einmal auf die Sonne zu sprechen: Während sie in anderen Spielen wiederum nur ein animiertes Objekt in einer Skybox ist, wurde sie – wie Chris auch schon erzählte – davon entkoppelt und die Lichtmechanik physikalisch korrekt umgebaut. Der knifflige Teil war nach Seans Schilderung dabei weniger, von einem Punkt aus Licht zu produzieren, sondern mehr, wie sich die Schatten dabei verhalten. Die ‘cascaded shadow maps’ der CryEngine (ein mehrstufiges Schattensystem; hochauflösend in der Mitte, dann in Schritten nach außen in der Auflösung abnehmend) mussten auf diese neuen Lichtquellen angepasst werden. Ein schöner Nebeneffekt ist: Es können jetzt auch mehrere Sonnen korrekt vom Schattensystem umgesetzt werden – oder beispielsweise sehr große und helle andere Lichtquellen, die sich zur Sonne hinzugesellen (gigantische Explosionen o.ä.). Im Ergebnis unterstützt das System aktuell beide Modi, was fallweise nützlich ist.
- Doch das Verlassen einer Skybox bedeutet eben auch ganz neue Möglichkeiten. Explodiert beispielsweise ein sehr großes Schiff, hat man es nun mit ganz neuen Fragen zu tun: Wie groß und hell ist die Explosion, wie weit kann man sie sehen, soll sie Licht erzeugen, usw.
Und meistens gibt es bei solchen Fragen auch niemanden, zu dem man einfach gehen und ihn fragen kann – denn “sehr wenige der Dinge in diesem Spiel haben Leute vorher schon einmal gemacht”. Wohl auch darum arbeiten viele so gerne an diesem Projekt, es ist eine Herausforderung. Vieles wurde einfach noch nie gemacht. Sean beschreibt seinen Job gerne mit: “Ich scheitere jeden Tag, bis ich es nicht mehr tue.” Es läuft eben so: “Kaputt… kaputt… kaputt… oh, funktioniert – erledigt!”
Zum ersten Teil des Interviews
Quelle: Youtube
Übersetzung: StarCitizenBase
Social Media: FaceBook | Twitter | Community Hub