Blog-Post: Einblicke in das NPC-Verhalten



Im heutigen Artikel gibt Hytale euch einen Überblick darüber, wie das Verhaltenssystem von NPCs und Kreaturen zum Leben erweckt wird. Um dies zu tun, zeigt Hytale euch einige Aspekte des Verhaltens von Trork - wie sie auf den Spieler, die Umgebung und sich selbst reagieren. Natürlich gelten diese Prinzipien auch für die anderen Kreaturen von Hytale - und alle können von Moddern angepasst werden. Wie immer stellen alle Screenshots und Clips in diesem Beitrag die laufenden Arbeiten dar, und Details können sich im Laufe der zukünftigen Entwicklung ändern.



Nachdem eine Kreatur entworfen und das Modell und die Animationen in Hytale Model Maker erstellt wurden, müssen die NPC-Entwickler sie mithilfe des Verhaltenssystems zum Leben erwecken.


Das System verwendet JSON-Skripts, die modulare Verhaltenselemente erfordern, mit denen man festlegen kann, wie ein NPC die Welt wahrnimmt und wie er in einer Vielzahl von Situationen reagiert. Diese Skripts können Animationen, Zustandsänderungen und mehr auslösen. Ein sehr einfaches Beispiel wäre ein Skript, das bestimmt, ob eine angegriffene Kreatur flieht oder versucht, sich zu verteidigen. Durch ausgeklügeltere Skripte können NPCs nach Spielern jagen, oder sie suchen nach Sachen, die sie mögen, wie Lagerfeuer oder Nahrung.


"Wir verwenden Bausteine, um einen NPC von Grund auf zu erstellen", sagt Entwickler Ioseff Griffith.
„Wir haben Sensoren, mit denen ein NPC die Welt um ihn herum interpretiert, und so entscheidet er, was er tun möchte. Dann haben wir Aktionen und Bewegungen, mit denen sie dann mit der Welt oder ihrem Ziel interagieren oder auf was auch immer sie sich konzentrieren. Wir kombinieren diese, um Komponenten und Vorlagen aufzubauen, aus denen Varianten schnell und einfach abgeleitet werden können.“


5ca5060b36e672001743d5ce_trork_alert_script.jpg


In diesem Beispiel siehst du einen Ausschnitt des Skripts, durch das Trorks in Aktion tritt, wenn der Player angezeigt wird. Das Skript behandelt mehrere Elemente dieser Interaktion. Es löst eine "Alarm" -Animation aus, wodurch der Spieler erkennt, dass er entdeckt wurde. Außerdem wird eine Beacon-Antwort ausgelöst, bei der andere Trorks innerhalb eines bestimmten Radius auf die Anwesenheit des Spielers aufmerksam gemacht werden. Die genauen Details dieser Interaktion können präzise angepasst werden, die gesamte Implementierung basiert jedoch auf Vorlagen der obersten Ebene, die bei den meisten NPCs üblich sind.


Dieser modulare Verhaltensansatz erleichtert die Implementierung völlig neuer NPCs oder Kreaturen. "Wenn Sie einen NPC als Skript schreiben, müssen Sie keine Angaben wie" Schwert schwingen "oder" X-Abstand nach rechts "machen", erklärt Ioseff. Es genügt, eine abstrakte Komponente wie „fliehen“ oder „suchen“ anzuwenden - das Verhaltenssystem behandelt dann die Grundlagen für die Ausführung der gewünschten Aktion.


"Im Grunde ist es am einfachsten, einen NPC zu erstellen, indem man vorhandene Vorlagen verwendet", sagt er. „Diese Vorlagen bestehen aus Komponenten, die wir aus Sensoren, Aktionen und Bewegungen zusammenbauen, um die Wiederverwendung von Verhalten über mehrere Skripts hinweg zu vereinfachen.“ Ein Beispiel für eine Komponente ist die Geräuscherkennung, erläutert Ioseff. Dabei wird eine Kombination von Sensoren verwendet, mit deren Hilfe ein NPC seine Umgebung interpretieren kann. "Wenn Sie einen neuen NPC in die Welt werfen, sollte er mit Umgebungen zurechtkommen können, für die er zumindest in gewissem Maße nicht speziell für Skripts entwickelt wurde", sagt er.


„Ein wichtiges Merkmal dieses gesamten Systems ist die hohe Wiederverwendbarkeit“, sagt der Entwickler Eric Reinhart. "Es ist einfach, vorhandene Verhaltensweisen zu ändern, Teile auszutauschen, und es ist auch einfach, etwas Neues aufzubauen."


„Für jemanden, der Dinge modifizieren oder Inhalte erstellen möchte, besteht der Vorteil darin, dass einfache Modifizierungen leicht möglich sind“, fährt Eric fort. "Aber es erlaubt Moddern auch, alles bis ins kleinste Detail zu verändern."


Hier ist ein Beispiel:
Durch Hinzufügen einiger zusätzlicher Parameter zum Verhaltensskript des Trork-Jägers kann man der Liste der Kreaturen "Bären" hinzufügen, die dazu führen, dass sie in einen Alarmzustand versetzt werden.



Jetzt haben wir einen Trork-Jäger, der Bären anschreit! Dies ist nur ein Beispiel - du wirst dies im Endspiel nicht unbedingt tun. Dies ist jedoch ein Beispiel dafür, wie einfach es ist, neue Details in das Verhalten einer Kreatur einzuführen.


Häufig wird das für einen neuen NPC festgelegte Verhalten vor der Implementierung vom Design-Team festgelegt. Manchmal bedeutet dies, dass dem Verhaltenssystem neue Funktionen hinzugefügt werden, die dann die Möglichkeiten des Systems erweitern. Gelegentlich führen Überraschungen während der Entwicklung jedoch zu neuen Verhaltensauffälligkeiten.


"Während des Prozesses werden einige kleine Stücke hinzugefügt", erklärt Ioseff.

„Trorks haben beispielsweise ein Sparring-Verhalten, bei dem sie sich gegenseitig schlagen. Als ich dies implementierte, würde ein besiegter Trork seinen Zustand ändern. Manchmal wechselten sie sofort zu einem "Nickerchen" -Status - das war lustig, weil es aussah, als wären sie ausgeknockt worden. Ich habe es richtig implementiert, und momentan wird Sparring Trorks sich nach einem Kampf gegenseitig niederschlagen. “


Das Ziel des Teams ist es, Kreaturen und NPCs zu erschaffen, die zur Unersättlichkeit der Welt beitragen, indem sie unabhängig vom Spieler agieren. Durch das Lernen, wie jede Kreatur reagiert, können die Spieler kreative Wege finden, um mit ihnen zu interagieren. Trorks haben zum Beispiel eine besondere Vorliebe für ausrangiertes Fleisch:



Wie der Spieler sich entscheidet, diese Informationen zu nutzen, liegt ganz bei dir!


Das Team hat festgestellt, dass die Kombination vieler einfacher Verhaltensweisen zu einem überraschend realistischen Ergebnis führen kann. "Ich habe ein Skript für einen Trork-Bogenschützen erstellt und versucht zu testen, wie gut der Bogenschütze schießt", sagt Eric. „Dies war das erste Mal, als wir die Möglichkeit hatten, dass NPCs die Waffe wechseln. Es war erstaunlich, zu versuchen, diesen Bogenschützen zu verfolgen, und wenn Sie nah genug waren, drehte er sich um und attackierte Sie mit einer Nahkampfwaffe. Es hat sich gelohnt, diese wirklich einfachen Handlungen miteinander zu kombinieren. “




Im obigen Clip siehst du ein Beispiel für mehrere einfache Trork-Verhalten, die zusammenarbeiten. Der Trork macht draußen ein Nickerchen, als es zu regnen beginnt. Dies löst einen Zustandswechsel von "schlafend" in "wach" aus, woraufhin der Trorkel sich entscheidet, irgendwo einen warmen Ort aufzusuchen. Dann geht er zum nahe gelegenen Lagerfeuer und setzt sich. An diesem Moment sind verschiedene Elemente des Verhaltenskripts des Trork beteiligt, aber zusammen ergeben sie ein Gefühl für die Persönlichkeit der Kreatur. Unser Ziel mit dem Verhaltenssystem ist es, den Spieler mit solch intensiven Momenten zu versorgen, und wir sind gespannt, welche Modder auftauchen können, wenn sie es in die Finger bekommen!


Hier sind ein paar weitere Beispiele für NPC-Verhalten, denen du beim Erkunden von Orbis begegnen könntest:


5ca5060b36e672001743d5cc_kweebecs_sunbathing.jpg


Kweebecs müssen nicht normal essen oder trinken. Als Pflanzenmenschen suchen sie helle Flecken aus und sonnen sich glücklich, um alle Nährstoffe zu bekommen, die sie brauchen!


5ca5060b36e672001743d5cb_goblin_bomber.jpg


Goblins werfen gern Bomben auf ein Problem. Diese können Blöcke zerstören und Löcher erzeugen, was an und für sich ein Problem darstellt. Gute Arbeit, Kobolde.


Original-Blogpost: https://hytale.com/news/2019/4…to-building-npc-behaviors

  • sehr cool 👍