das leidige Thema KI
Viele Spiele heutzutage setzten auf immer komplizierte KI-Routinen um dem Spieler eine Virtuelle Realität immer glaubwürdiger vorzuspielen. So kam auch ich zum Punkt das mein Spiel (ein Kampfsportspiel/Manager), eine KI braucht die halbwegs plausibel funktioniert und den Spieler einigermaßen fordert.
Da ich mich leider vorher noch nie groß mit KI-Routinen und endlichen Automaten beschäftigt habe, stellte sich für mich die ganze Sache als großes Problem da. So kam ich auf die Idee eine Random KI zu schreiben, die zwar nicht sonderlich viel konnte, dafür aber immer wieder in der Lage war den Spieler zu überraschen.
[b][b]Das Prinzip:[/b][/b]
Die KI sollte sechs Fähigkeiten beherrschen, jeweils drei Angriffs- und Verteidigungsfähigkeit. Nun wurde mithilfe eines "Int" ein Zahlenbereich von 1 bis 6 gewürfelt, die jeweils für eine Fähigkeit stand, die dann Ausgeführt wurde. So wurde z.B wenn die "1" gewürfelt wurde ein Lowkick ausgeführt und wenn die "6" gewürfelt wurde eine Verteidigung ausgeführt.
Der Vorteil war das die KI mich immer wieder überrascht hat, was aber auch zum Hauptproblem geführt hat. Es gab nur eine einseitige Interaktion zwischen der KI und dem Spieler. So reagierte zwar der Spieler auf die jeweiligen Angriffe oder Verteidigungen der KI, aber die KI reagierte nicht auf die Auswahl des Spielers. So war es ein leichtes diese KI zu überlisten und ein Sieg nach dem anderen zu bekommen.
Um einen Kompromiss aus Zufall und Abhängigkeit zu bekommen, habe ich der KI und dem Spieler jeweils einen Ausdauerwert gegeben. So ist keiner von beiden in der Lage nur Angriffe auszuführen. Die KI beachtet bei ihren Entscheidungen aber nicht nur seine eigene Ausdauer, sondern auch die des Menschlichen Spielers. So sieht sie z.B ob der Gegner noch genug Ausdauer hat um zu Treten und passt daran ihre Entscheidungen an. Da mir aber der Randomfaktor auch gefallen hat, würfelt sie immer noch Zufällig aus welchen Angriff oder Verteidigung sie tut. So kann man auch nicht sagen dass die KI "Cheatet", da sie ja nichts vorhersieht.
In Zukunft will ich der KI noch mehr Bedienungen aneignen um sie noch Dynamischer zu machen, doch dafür muss ich erstmal mein Spielkonzept weiter ausbauen.
Da ich mich leider vorher noch nie groß mit KI-Routinen und endlichen Automaten beschäftigt habe, stellte sich für mich die ganze Sache als großes Problem da. So kam ich auf die Idee eine Random KI zu schreiben, die zwar nicht sonderlich viel konnte, dafür aber immer wieder in der Lage war den Spieler zu überraschen.
[b][b]Das Prinzip:[/b][/b]
Die KI sollte sechs Fähigkeiten beherrschen, jeweils drei Angriffs- und Verteidigungsfähigkeit. Nun wurde mithilfe eines "Int" ein Zahlenbereich von 1 bis 6 gewürfelt, die jeweils für eine Fähigkeit stand, die dann Ausgeführt wurde. So wurde z.B wenn die "1" gewürfelt wurde ein Lowkick ausgeführt und wenn die "6" gewürfelt wurde eine Verteidigung ausgeführt.
Der Vorteil war das die KI mich immer wieder überrascht hat, was aber auch zum Hauptproblem geführt hat. Es gab nur eine einseitige Interaktion zwischen der KI und dem Spieler. So reagierte zwar der Spieler auf die jeweiligen Angriffe oder Verteidigungen der KI, aber die KI reagierte nicht auf die Auswahl des Spielers. So war es ein leichtes diese KI zu überlisten und ein Sieg nach dem anderen zu bekommen.
Um einen Kompromiss aus Zufall und Abhängigkeit zu bekommen, habe ich der KI und dem Spieler jeweils einen Ausdauerwert gegeben. So ist keiner von beiden in der Lage nur Angriffe auszuführen. Die KI beachtet bei ihren Entscheidungen aber nicht nur seine eigene Ausdauer, sondern auch die des Menschlichen Spielers. So sieht sie z.B ob der Gegner noch genug Ausdauer hat um zu Treten und passt daran ihre Entscheidungen an. Da mir aber der Randomfaktor auch gefallen hat, würfelt sie immer noch Zufällig aus welchen Angriff oder Verteidigung sie tut. So kann man auch nicht sagen dass die KI "Cheatet", da sie ja nichts vorhersieht.
In Zukunft will ich der KI noch mehr Bedienungen aneignen um sie noch Dynamischer zu machen, doch dafür muss ich erstmal mein Spielkonzept weiter ausbauen.
4 Kommentare
Recommended Comments