Goldeneye 007 ist eines der wichtigsten Spiele der Geschichte. Sie bestimmte die Weiterentwicklung einer ganzen Generation von Konsolenspielen und ebnete den Weg für Ego-Shooter zum Konsolenmarkt. Schneller Vorlauf vor mehr als 20 Jahren, um herauszufinden, wie eines der beliebtesten 64 Spiele auf Nintendo es geschafft hat, KI-Feinde und Freunde zu implementieren, von denen Sie auch heute noch etwas lernen können.
Über das Spiel
Nach seiner Veröffentlichung im Jahr 1997 bestimmte
GoldenEye 007 nicht nur das Schicksal der Generation, sondern übertraf auch alle Erwartungen. Selten glaubten Nintendo selbst und sogar die Inhaberin der Rechte an der Bond-Franchise, MGM, nicht viel an dieses Spiel. Zwei Jahre nach der Veröffentlichung des Films und ein Jahr nach dem Erscheinen der Konsole erschien sie zum Scheitern verurteilt, wurde jedoch nach
Super Mario 64 und
Mario Kart 64 zum dritten Mal im Verkauf (acht Millionen Exemplare) für die gesamte Lebensdauer der Plattform. Ganz zu schweigen von der Tatsache, dass sie 1998 Rare mit dem BAFTA Award und dem Titel Entwicklerin des Jahres ausgezeichnet wurde.
Dieses Spiel hat uns ein großes Vermächtnis hinterlassen: Es hat Maßstäbe gesetzt für das, was von der nächsten Generation von Ego-Shootern zu erwarten ist, insbesondere im KI-Verhalten: Charaktere mit Patrouillenmustern, Feinde, die um Verstärkung bitten, Zivilisten, die vor Angst fliehen, reibungslose Navigation und Wegfindung. Eine Vielzahl von Animationen, dynamischen Eigenschaften, die während des Spiels auftreten, und vielem mehr. Sie setzte nicht nur Maßstäbe für die Generation, sondern beeinflusste auch die Spiele, die sie übertrafen -
Half Life ,
Crysis ,
Far Cry und viele andere.
Ich bin nicht nur daran interessiert, wie künstliche Intelligenz funktioniert, sondern auch daran, wie die Entwickler es geschafft haben, sie zum Laufen zu bringen. Ich sprach über viele KI-Erstellungstechniken, einschließlich Zustandsmaschinen, Navigationsnetzen, Verhaltensbäumen, Planungstechnologien und maschinellem Lernen, aber zum Zeitpunkt der Veröffentlichung von
GoldenEye waren sie keine etablierten Praktiken in der Spielebranche. Darüber hinaus ist Nintendo 64 fast 25 Jahre alt und verfügt im Vergleich zu modernen Maschinen nur über minimale Prozessor- und Speicherressourcen. Wie können Sie KI- und Gameplay-Systeme erstellen, die mit so schwerwiegenden Einschränkungen effektiv auf der Hardware funktionieren?
Um die Wahrheit herauszufinden, kontaktierte ich den besten Geheiminformanten:
Dr. David Dawke . David spielte eine wichtige Rolle im Entwicklungsteam und in
GoldenEye 007 und seinem spirituellen Anhänger
Perfect Dark . Während des Interviews diskutierten wir NPC-Intelligenz, Alarmverhalten, Sensorsysteme, Navigationswerkzeuge, Leistungsausgleich und mehr. Beginnen wir also zu verstehen, wie das alles arrangiert wurde.
Gebäudearchitektur
Im Grunde wurde
GoldenEye dank zweier Personen zu dem, was es wurde: Produzent und Game Director Martin Hollis und Gameplay- und Engine-Programmierer Mark Edmonds. Ursprünglich war Hollis von Spielen wie
Virtua Cop inspiriert, bei denen Feinde in den Kamerarahmen rannten, auf den Spieler schossen und dann wegliefen, sich versteckten oder dynamisch auf die Treffer des Spielers reagierten. Hollis versuchte jedoch, eine ansprechendere und reaktivere KI zu schaffen, die den
DOOM- Standard von 1993 übertraf.
„Für uns war es wichtig, die Spieler-KI zu zeigen. Komplexe künstliche Intelligenz hat keinen Sinn, wenn der Spieler sie nicht bemerkt. Ihr NPC kann den Sinn des Lebens mit Inspiration inspirieren, aber der Spieler wird dies nicht bemerken, wenn er ausreicht, um sich um die Ecke zu lehnen und die Feinde mit Blei im Spiel zu füttern. Das heißt, Intelligenz sollte offensichtlich sein. Die KI muss die Spielmechanik demonstrieren. AI sollte die Levelstruktur zeigen. Und das alles sollte wirklich etwas Neues in das Gameplay bringen. “
[Martin Hollis, Europäisches Entwicklerforum, 2004.]
Dieser Ansatz hat zum Auftreten von Wachen und Patrouillen geführt und den Spieler gezwungen, taktischer zu passen. Es wurden Seh- und Hörsensoren verwendet, die es der KI ermöglichten, auf das Verhalten des Spielers zu reagieren oder ihn nicht zu bemerken, wenn er sich heimlich schlich. Außerdem reagierten freundliche und zivile Charaktere auf die Anwesenheit des Spielers, halfen ihm oder rannten weg.
Als David Dooke in das Projekt eintrat, wurden die meisten grundlegenden Komponenten der Engine für 3D-Bewegung, Rendering und einfaches KI-Verhalten bereits von Edmonds erstellt. In den letzten zwei Jahren der Entwicklung des Projekts ist jedoch der Hauptteil des Verhaltens von KI und anderen grundlegenden Spielsystemen aufgetreten. Das Spiel konzentrierte sich weniger auf den Spieler, die KI zeigte Patrouillenmuster, den Übergang in einen Alarmzustand, die Möglichkeit, Kontrollterminals, Toiletten und vieles mehr zu benutzen.

Um dies zu erreichen, erstellte Mark Edmonds ein ganzes Skriptsystem innerhalb der C-Codebasis, das ständig aktualisiert und aktualisiert wurde, während Dook und andere Teammitglieder mit Ideen experimentierten. Sehr oft wurde Edmonds eine neue Idee vorgeschlagen, die die Möglichkeit ihrer Implementierung evaluierte und sie tagsüber dem Motor hinzufügte. Mit diesem Skriptsystem konnten Entwickler viele vordefinierte Aktionen in einer Folge intelligenten Verhaltens verknüpfen, abhängig von einem ganz bestimmten Kontext. Diese Verhaltensweisen führten dazu, dass ihre eigenen Threads ausgeführt und Ressourcen so schnell wie möglich freigegeben wurden, sobald das nächste "atomare" Verhalten ausgeführt wurde, und überprüften dann, ob das Upgrade erneut durchgeführt werden konnte. Solche Skript-Verhaltensweisen wurden nicht nur für freundliche und feindliche Charaktere verwendet, sondern auch für Systeme wie zeitöffnende Türen und Tore sowie für filmische Bildschirmschoner am Anfang und Ende jedes Levels, die den Spieler und andere Charaktere auf der Welt kontrollierten.

Der
GoldenEye- Editor, der ursprünglich von Modder Mitchell "SubDrag" Kleiman entwickelt wurde, hat diese KI-Verhaltensweisen rückentwickelt. Sie wurden zu bearbeitbaren „Aktionsblöcken“, aus denen Sie Ihr eigenes Verhalten erstellen können. Feindliche Wachen können auf eine Vielzahl von sensorischen Signalen reagieren: Wenn ein Schuss sie trifft, bemerken sie einen Feind, einen anderen in ihrem Sichtfeld getöteten Wächter sowie Schüsse in der Nähe. Außerdem konnten die NPCs beschließen, sich zu ergeben, es hing von der Wahrscheinlichkeit ab, aber viel mehr davon, ob der Spieler auf sie zielte. Wenn die KI wusste, dass der Spieler nicht mehr auf ihn zielte, änderte sich sein Verhalten. Wie weiter unten erläutert wird, wurden die für solche Verhaltensweisen erforderlichen Seh- und Hörtests in sehr begrenzten und verkürzten Prozessen durchgeführt, was jedoch zu beeindruckenden Ergebnissen auf der schwachen N64-Hardware führte.
Abhängig von den Bedingungen können die Wachen viele verschiedene Verhaltensweisen ausführen, darunter seitliche Schritte, seitliches Rollen, Feuer in der Hocke, Gehen, Laufen und sogar Granatenwerfen. Diese Aktionen waren stark abhängig von der relativen Position des Spielers und seinem aktuellen Verhalten.
Tatsächlich war es eine ziemlich einfache Zustandsmaschine (Finite State Machine), bei der sich die KI in einem bestimmten Zustand der Ausführung des Verhaltens befand, während Ereignisse im Spiel ihn nicht zwangen, zum nächsten überzugehen. Das gleiche Prinzip wurde später in
Half-Life angewendet, das ein Jahr nach
GoldenEye (1998) herauskam, und die Entwickler von Rare waren sich der Auswirkungen ihres Spiels auf den äußerst beliebten Shooter Valve bewusst:
„Am allermeisten erinnere ich mich an ein Treffen mit den Jungs von Valve auf der britischen Industriemesse ECTS im Jahr 1998. Sie scherzten, dass GoldenEye sie dazu brachte, alles in Half-Life neu zu gestalten. Sie haben beschlossen, es richtig zu machen. “
David Doke, GamesRadar, 2018.
KI-Leistung
Die beiden wichtigsten Elemente der Goldeneye-Engine für die KI-Steuerung waren die Kamera und das sogenannte "STAN-System". Um das Rendern zu vereinfachen, wurden Ebenen, selbst so groß und offen wie die Severnaya-Oberfläche, in „Räume“ unterteilt - kleinere Blöcke. Dies trug dazu bei, das gewünschte Leistungsniveau aufrechtzuerhalten, da nur Räume in der Pyramide der Kamera gerendert werden konnten. Aus diesem Grund führte die KI ihr grundlegendes Verhalten normalerweise erst aus, nachdem die Charaktere von der Kamera gerendert wurden. Dies hat dazu beigetragen, die Rechenkosten zu senken und gleichzeitig interessante Funktionen bereitzustellen, auf die ich weiter unten eingehen werde.

Das wichtigste System in Bezug auf Räume und Renderverhalten war jedoch STAN (eine einfache Abkürzung für Stand). Die von Martin Hollis entwickelten STAN-Objekte sind Polygonnetze für einen einzelnen Raum, die zur Verwendung als STANs markiert sind. Alle diese Objekte „wussten“, in welchem Raum oder Korridor sie sich befanden. Wenn der KI-Charakter auf einem bestimmten STAN stand, konnte er den Spieler nur sehen, wenn sich der STAN, in dem er sich befand, im aktuellen oder benachbarten Raum befand. Das System führte eine einfache Überprüfung durch, um festzustellen, ob sich zwei STANs „sehen“ konnten. Dies ermöglichte kostengünstigere Sichtbarkeitstests anstelle von 3D-Raytracing, was viel mehr Ressourcen von den Geräten erfordern würde. Das System funktionierte überraschend gut, aber in bestimmten Fällen „brach es zusammen“. Ein Beispiel hierfür sind die Wachen am Damm, die den Spieler nicht sehen konnten, bis er sich ihrem Weg näherte: Der STAN oben auf der Treppe konnte nur den STAN unten sehen, dh der Spieler konnte alle Aktionen in der Nähe ausführen und unbemerkt bleiben. Ein zweites Beispiel ist der spiralförmige Pfad in Höhlen, auf dem die NPCs den Pfad vor sich sehen, jedoch nicht auf der anderen Seite des Abgrunds.
Durch Platzieren von STAN auf allen Karten war es möglich, ein Navigationssystem basierend auf ihren Polygonen zu erstellen. Wie ich bereits in AI 101 erwähnt habe, verwenden moderne Spiele normalerweise Navigationsnetze, die eine vollständige polygonale Oberfläche erzeugen, die die Orte definiert, an denen sich ein Charakter auf der Karte bewegen kann. In seiner modernen Form erschienen Navigationsnetze erst 1997, daher nahmen die Entwickler von
GoldenEye das STAN-System und fügten darüber Objekte mit dem Namen PAD hinzu. PADs befanden sich im STAN, waren aber gleichzeitig miteinander verbunden, wodurch im Wesentlichen ein Diagramm für die Navigation im Netz erstellt wurde. Die Charaktere wussten, in welchem Raum sie sich befanden, und konnten nach dem PAD des Zielraums suchen, wenn sie auf eine Aufregung in der Nähe reagierten oder sich entlang des STAN innerhalb des aktuellen Raums zum gewünschten Punkt bewegten.
All dies wurde durch Hörsensoren ergänzt. Sie führten eine einfache Überprüfung der Nähe der Zeichen innerhalb eines bestimmten Radius von der Schallquelle durch. Sie berücksichtigten auch die Art der Waffe und die Feuerrate. PP7 mit Schalldämpfer erregte keine Aufmerksamkeit, Standard-PP7 war laut, KF7-Sowjet war noch lauter, und das Schießen in Schüssen vergrößerte den Radius auf ein maximales Niveau, nur ein Raketenwerfer und eine Panzerpistole wurden als lauter angesehen.
Adaptive Änderungen
Alle diese KI-Tools und -Systeme sind sehr beeindruckend und zeigen, wie Entwickler absichtlich nach intelligenten und effektiven Möglichkeiten suchten, um die spezifischen Elemente zu erstellen, die sie im Spiel sehen wollten. Es gibt jedoch noch viele andere Elemente, mit denen
GoldenEye individuelle KI-Verhaltensweisen erstellt hat, die für jedes Level fast individuell erstellt wurden. NPCs versteckten sich nicht hinter Hindernissen, daher wurden in Levels wie Silo und Train einzigartige Skripte benötigt, damit Charaktere neben bestimmten PADs standen und reagierten, je nachdem, ob sie sich in einer Hocke befanden oder in voller Höhe standen.

NPCs wussten nicht, wo sich die anderen Charaktere auf der Karte befinden. In Levels, in denen der Spieler Natalya Simonov beschützen musste, war es nicht nur notwendig, ihre Bewegung sicherzustellen, sondern auch spezielle Verhaltensweisen zu entwickeln, damit Feinde nicht nur auf sie schießen, sondern auch auf den Spieler zielen. Für die Implementierung von Charakteren wie Wissenschaftlern, die beim Übergeben einer Waffe einfrieren, oder Boris Grishenko, der als Spieler fungierte, wurde ihm befohlen, bis er ihn außer Sichtweite ließ, andere Verhaltensweisen, die in einem spezifischeren Kontext funktionierten. Viele der Hauptfiguren der Handlung mussten für jedes Level ihr eigenes KI-Verhalten schreiben. Zum Beispiel hat Alec Trevelyan mit seiner Teilnahme auf jeder der sechs Ebenen unterschiedliche Verhaltensweisen: Einrichtung, Statue, Zug, Kontrolle, Höhlen und Wiege.

Außerdem war es notwendig, Probleme mit dem Level-Design und dem Tempo des Spiels zu lösen. Severnaya-Außenebenen erwiesen sich als schwierig, um die Position von KI-Charakteren auszugleichen. Daher schrieben die Entwickler Level-Skripte, die Feinde außerhalb des Nebelradius erzeugen und direkt zum Spieler laufen. Aber wenn die Feinde zu weit weg waren, schalteten sie sich einfach aus und konnten in Zukunft reaktiviert werden.
Meine Lieblingsfunktion von
GoldenEye ist, wie der Spieler für lauten und aggressiven Umgang mit Waffen bestraft wurde, wenn er das Level nicht schnell genug bestanden hat. Erinnerst du dich, ich sagte, dass NPCs ihr KI-Verhalten nicht aktivieren, wenn sie noch nicht gerendert wurden? Wenn der NPC den Ton gehört hat, aber noch nicht gerendert wurde, erstellt er einen eigenen Klon, um die Tonquelle zu überprüfen und weiterhin Klone zu erstellen, oder bis sich die Aufregung gelegt hat oder die Kamera den Charakter nicht rendert. Dies macht sich insbesondere in Levels wie Archives bemerkbar, in denen der Spieler aufgrund ständig erstellter Klone leicht in die Falle im Verhörraum zu Beginn des Levels fallen kann.

Um das Tempo des gesamten Spielprozesses zu verbessern und die Steuerung an die unzureichende Genauigkeit des Nintendo 64-Controllers anzupassen, wurden die Übergänge und die Dauer der Animationen aufgrund von Tests sorgfältig abgestimmt, um den Spielern eine bessere Chance zu geben, die Prioritäten von Feinden zu bestimmen oder einen Mechaniker für das automatische oder präzise Zielen zu verwenden.
Abschließend
Nach der Veröffentlichung von
GoldenEye waren das Rendering und die KI-Toolchain für die folgenden Spiele gut geeignet. Rares perfekter spiritueller Nachfolger Perfect Dark verwendete dieselben Systeme, die teilweise durch Innovationen ergänzt wurden. Wie oben erwähnt, können sich
GoldenEye- NPCs nur mit speziell vorgeschriebenem Verhalten hinter Deckung verstecken. In
Perfect Dark können Feinde jedoch bereits Deckungspositionen berechnen, einschließlich dynamischer Positionen, die von Anti-Schwerkraft-Objekten erstellt wurden. Darüber hinaus könnten die Sichtsensoren dank Beleuchtungsexperimenten, die durch Schattieren der Scheitelpunkte berechnet wurden, die Sicht beeinträchtigen. Das gleiche Verfahren wurde später von Free Radical Design für das
Timesplitters- Franchise verwendet, da dieses Studio von mehreren Mitgliedern des
GoldenEye- Entwicklungsteams gegründet wurde. In dieser Reihe von Spielen wurde das STAN / PAD-System ergänzt, um die Architektur auf vertikaler Ebene besser zu unterstützen.
Trotz seines zwanzigsten Jubiläums hat
GoldenEye die Standards gesetzt, die in Half-Life verwendet wurden, und heute versuchen die Macher vieler anderer Shooter-Franchise-Unternehmen, diese zu reproduzieren. Ich hoffe, dass Sie nach dem Lesen dieses Artikels die volle Tiefe der im Spiel verwendeten Systeme und das Maß an Engagement und Können schätzen werden, das erforderlich war, um ein Projekt zu erstellen, das letztendlich einen so großen Einfluss hatte.