Ich suche nach einer Möglichkeit, einen überzeugenden Berserker-Feind in einem Roguelike zu erschaffen, den ich seit einiger Zeit erschaffe. Sie können ein Spiel wie NetHack dafür annehmen, wenn Sie überlegen, welche Arten von Aktionen ausgeführt werden können und welche Textnachrichten alarmiert werden können.
Ich frage dies aus zwei Gründen:
- Ich habe über ein Jahr lang versucht, dieses Problem zu lösen, und bin gescheitert. Beispiele folgen.
- Ich sehe einen allgemeinen Mangel an Beispielen für diese SE, die zeigen, wie eine Abbildung der Zustände einer Entität insgesamt aussieht. Es wäre für die Community hilfreich, ein solches Beispiel zu haben.
Was ich brauche:
Wenn ich Berserker sage, meine ich einen Feind, der in blinde Wut geraten und andere Wesen angreifen kann, mit denen er in Konflikt mit Gewalt und Blutdurst steht. Nicht einfach zufällig zu angreifenden Zielen wechseln, wie es in vielen RPGs der Fall ist. Zu diesem Zweck können Sie beliebige Statuseffekte oder Buffs hinzufügen. Stellen Sie einfach sicher, dass Sie die relevanten Informationen für diese Staaten detailliert angeben.
Ein wahnsinniges Wesen muss seine Wut auf eine Weise ausdrücken, die nicht nur eine Statusänderung mit einigen Kraftsteigerungen ist. Dies ist eine sehr flache Lösung für das Problem. Das Wesen fühlt sich überhaupt nicht wie ein Berserker.
Was ich versucht habe:
Ich habe im letzten Jahr 3 verschiedene Ideen ausprobiert. Und keiner von ihnen befriedigt. Eine Lösung für das Problem könnte ganz neu sein oder eine Lösung für eines dieser Probleme sein. Ich schließe sie hauptsächlich ein, um die Säfte zum Fließen zu bringen.
- Das erste, was ich versuchte, war ein einfacher Berserker-Zustand, der die Stärke der Entität erhöhte, ihr Ziel (aus der Liste der Feinde) randomisierte und ihn Obszönitäten schreien ließ, so weiter. In diesem Zustand würde der Feind bis zum Tod darin bleiben.
- Das nächste, was ich versuchte, war wirklich eine Modifikation des oben genannten. Der Feind fühlte sich sehr platt und es gab keine Möglichkeit, ihn zu beruhigen oder aus seiner Wut zu werfen, was unrealistisch schien. Ich fügte die Fähigkeit hinzu, sich zu beruhigen (mit einem Zauber und anderen Effekten) und fügte eine Bedingung hinzu, die den Feind in einen normalen Zustand zurückversetzen würde, aus dem er zu anderen übergehen könnte, wie zum Beispiel zur Flucht. Dies schuf mehr Tiefe, ließ aber den Berserker-Staat noch flacher und weniger destruktiv erscheinen.
- Von hier aus habe ich alles verschrottet und auf etwas Entstehenderes abgezielt. Im Wesentlichen ein Buff, den der Feind aufgrund eines Übergangszustands auf sich selbst wirken könnte. Einmal gewirkt, würde dies das Verhalten des Feindes (zum Zielen) ändern und seinen Schaden erhöhen, während zufällig Beleidigungen vom Feind ausgegeben werden. Dann könnte er in andere Staaten eintreten und wütend bleiben. So könnte er fliehen, aber immer noch verspotten. Er könnte heilen, aber immer noch wütend sein und viel Schaden verursachen. Dies ist besser, aber das zugrunde liegende Problem bleibt bestehen. Er scheint nicht wirklich wütend zu sein, nur sauer. Hauptsächlich, weil Sie normalerweise nur dem Feind begegnen und nicht mit anderen Feinden, die der Berserker nicht mag, so dass der Randomisierungsaspekt heruntergespielt wird.
Wie sonst kann ich den Kerl wütend erscheinen lassen und nicht nur sauer / mit schlechtem Mund?
Mir ist klar, dass dies eine Grenzlistenfrage ist. Deshalb stelle ich folgende Anforderungen: Es muss eine sehr detaillierte vollständige Antwort sein, die alle Zustände und Bedingungen für den Übergang zeigt. Und es muss mehr als eine Vermutung sein. Sie sollten dies in Ihrem eigenen Roguelike testen, oder es sollte ansonsten offensichtlich sein, warum dies eine wahrscheinlich "beste" Lösung ist, um die Idee des Berserker-Status zu vermitteln.
Ich werde mich auch nicht beleidigen, wenn dies geschlossen ist. Mir wurde klar, dass es die Kante tanzt.
quelle
Ich nehme an, die Antwort hängt davon ab, was Sie als "Berserker" betrachten.
Die historischen Berserker waren Schocktruppen, die ihre Aufmerksamkeit darauf richteten, ihre Gegner anzugreifen und zu töten, ohne Rücksicht auf irgendetwas anderes, einschließlich ihrer eigenen Sicherheit oder der anderer auf ihrer Seite. Verschiedene Quellen sind sich nicht einig darüber, wie wahllos sie bei ihrer Tötung waren: Einige beschreiben sie als vorsätzlich jeden und jeden um sie herum tötend, während andere sie lediglich als furchtlose Krieger beschreiben. Hier ist ein ziemlich mitten auf der Straße liegendes Zitat aus der Ynglinga-Saga über Wikipedia:
Meine Vorstellung von einem Berserker wäre also ungefähr so:
Wie würde ich diese Eigenschaften in das Verhalten der Spiel-KI umsetzen? Nun, hier sind ein paar Ideen:
Dies sollte ein Kinderspiel sein, aber ein Berserker sollte niemals weglaufen , selbst wenn er nur einen Trefferpunkt hat und blutet. Schalten Sie einfach diesen Code aus. Das Gleiche gilt für jede andere "defensive" Taktik.
Priorisieren Sie taktische Optionen in dieser Reihenfolge: 1. Angriff. 2. Bewegen Sie sich in Richtung Ziel. 3. Alles andere. Insbesondere sollten Berserker nicht aufhören, Gegenstände aufzunehmen, wenn Feinde in Sicht sind, auch wenn die Gegenstände beispielsweise bessere Waffen sind als derzeit. (Der Wechsel von bloßen Händen zu einer bereits gehaltenen Mêlée-Waffe kann jedoch auch vor Angriffen angemessen priorisiert werden.)
Wenn sowohl das Angreifen als auch das Jagen nach dem Ziel jemals gleichzeitig eine gültige taktische Option sein können, sollten Sie Ihren Berserkern die Möglichkeit geben, beide gleichzeitig auszuführen (ein Angriff "im Vorbeigehen"), auch wenn Ihre Kreaturen dies normalerweise nicht können das (möglicherweise mit einer Genauigkeitsstrafe zu kompensieren). Auf diese Weise müssen Ihre Berserker ihre Ladung nicht verlangsamen, um Gelegenheitsangriffe zu ergreifen.
Zielauswahl: Ich würde vorschlagen, nur den nächsten sichtbaren Feind auszuwählen (unabhängig vom Level) und ihn vom Berserker verfolgen zu lassen, zumindest wenn ein anderer Feind nicht wesentlich näher kommt (z. B. die Hälfte der Entfernung zum aktuellen Ziel). Jagen Sie das Ziel weiter, auch wenn Sie vorübergehend die Sichtlinie verlieren, solange das Ziel nicht zu weit entfernt ist. Dies sollte ein Gefühl der Zielstrebigkeit vermitteln. Sobald sich das Ziel in Mêlée-Reichweite befindet, greife es an.
Wegfindung: Wenn es Freundschaftsspiele zwischen dem Berserker und seinem Ziel gibt, sollten Sie ihn einfach angreifen lassen und sich durchhacken. Es liegt an Ihnen, wie eifrig Sie ihn machen werden - zumindest sollte er es tun, wenn es keinen anderen Weg zum Ziel gibt, aber Sie könnten sogar in Betracht ziehen, ihn dazu zu bringen, Freundschaftsspiele bei der Wegfindung völlig zu ignorieren.
Das Obige funktioniert wahrscheinlich am besten, wenn Sie auch die (Nicht-Berserker-) Freundschaftsspiele dazu bringen, aus dem Feld zu fliehen, in das der Berserker als nächstes einziehen wird (und vielleicht auch das nächste oder zwei Feld auf seinem Weg). Wenn es zu viel Gedränge gibt, können sie natürlich nicht rechtzeitig fliehen ...
Wenn sich keine feindlichen Ziele in der Nähe befinden, sollten Sie den Berserker stattdessen in der Nähe (nebeneinander oder vielleicht ein oder zwei Felder entfernt) angreifen lassen. Natürlich sollten die Freundschaftsspiele versuchen zu fliehen. In jeder Runde, in der der Berserker kein feindliches Ziel hat und keinen Angriff ausführt, muss er sich zufällig bewegen und ihm eine zufällige Chance pro Runde geben, sich zu beruhigen und in den normalen Zustand zurückzukehren.
Waffenauswahl: Wie ich oben erwähnt habe, waren echte Berserker im Mêlée-Kampf groß. Verwenden Sie keine Fernkampfwaffen, es sei denn, sie sind in Ihrem Spiel besonders verbreitet und mächtig (z. B. Waffen in einer modernen Umgebung). Wenn Sie Ihre Berserker Fernkampf- oder Flächeneffektwaffen einsetzen lassen, lassen Sie sie feuern, während Sie ihrem Ziel nachjagen (siehe "Passing" -Angriffe oben). Offensichtlich sollte Kollateralschaden ignoriert werden (vom Berserker - es wäre eine sehr nette Geste, andere Feinde dazu zu bringen, sich aus der Linie zwischen Ihnen und einem Berserker mit einer Waffe herauszuhalten).
Und natürlich sollte der Berserker über angemessene Angriffs-, Verteidigungs- und Geschwindigkeitsverbesserungen verfügen. Sie sollten wahrscheinlich auch immun gegen Müdigkeit oder Angstzustände sein. Wenn sie geblendet oder verwirrt sind, lassen Sie sie einfach zufällige Angriffe ausführen, in der Hoffnung, etwas zu treffen.
Sie haben festgestellt, dass Berserker ein Zustand sein soll, in den manchmal normale Feinde eintreten können (mit einer Neigung dazu). Daher müssen Sie entscheiden, was es auslösen soll. IRL, traditionell beschriebene Auslöser, sind Kampf, starke Anstrengung und Stress. Einige mögliche Auslöser für ein Spiel könnten sein:
Keiner von diesen sollte IMO wahrscheinlich ein automatischer Auslöser sein; Vielmehr sollte es für jedes dieser Ereignisse eine zufällige Chance geben, den Berserker-Zustand auszulösen, wobei die Chancen möglicherweise aufgrund der individuellen Neigung und der Schwere des Ereignisses variieren. Außerdem können Kombinationen mehrerer Auslöser das Berserkern wahrscheinlicher machen: Beispielsweise kann die Anwesenheit eines sichtbaren Feindes eine Voraussetzung dafür sein, dass eines der anderen Ereignisse Berserker auslöst, während niedrige Trefferpunkte die Wahrscheinlichkeit für die anderen Auslöser erhöhen können.
Sie könnten auch in Betracht ziehen, einen "Wutmesser" anstelle eines einfachen Ein / Aus-Berserker-Zustands einzuführen. Zum Beispiel könnte ein neu ausgelöster Berserker beispielsweise bei Wut = 1 beginnen, wobei Angriff und Angriff die Anzeige erhöhen und keine Feinde sehen, die sie verringern. Bei geringer Wut wäre ein Berserker einfach furchtlos und geschliffen, würde aber im Allgemeinen vermeiden, Freundschaftsspiele anzugreifen, während eine erhöhte Wut die Verstärkung erhöhen würde, aber auch die Angriffe des Berserkers immer weniger diskriminieren würde. Wenn der Wutmesser auf Null sinkt, beruhigt sich der Berserker und kehrt zum Normalzustand zurück.
Was die obszönen Rufe angeht, würde ich sie meistens loswerden: Ich sehe einen Berserker als zu konzentriert auf Angriffe, um sich mit albernen Verspottungen zu beschäftigen. Ich nehme an, Sie könnten ihn etwas schreien lassen, wenn der Berserker-Zustand ausgelöst wird, und vielleicht brüllen oder einen einfachen Kriegsschrei auslösen, wenn Sie sich der Mêlée-Reichweite nähern, aber das scheint mir genug zu sein.
Bearbeiten: Nachdem ich das, was ich oben geschrieben habe, noch einmal gelesen habe, denke ich, dass das Wesentliche an dem, was ich zu sagen versuche, Folgendes ist: Konzentriere dich nicht zu sehr auf die Berserker-KI selbst. Am Ende wird es wahrscheinlich ziemlich einfach, wahrscheinlich viel einfacher als Ihre normale feindliche KI. Konzentrieren Sie sich stattdessen darauf, wie sich die anderen Feinde verhalten, wenn sie einen Berserker in der Nähe sehen - hier entsteht die wirklich interessante Dynamik.
quelle