Jump to content
Unity Insider Forum
Sign in to follow this  
  • entries
    2
  • comments
    4
  • views
    10,535

About this blog

Ich will euch einen kleinen Einblick in die Entwicklung meines derzeitgen Projektes gewähren

Entries in this blog

 

Entwicklertagebuch Woche 2

In meinen letzten Beitrag habe ich mich hauptsächlich dem Thema KI und all seinen Facetten zu gewandt, sodass ich in dieser Woche mehr am allgemeinen Spielprinzip gewerkelt habe. So bin ich zum Schluss gekommen das ich mein Hauptaugenmerk auf den Karrieremodus wenden sollte, da die typischen Schnellkämpfe die für das Gerne normalerweise prädestiniert sind, keinen Sinn machen würden, da ja ein Rundenkampfsystem vorliegt.

[b][b]Karrieremodus? Wie soll dieser aussehen?[/b][/b]

Mein derzeitiges Konzept geht dahingehend dass der Spieler zuerst einen Kämpfer erstellt. Dort hat man dann die Möglichkeit seine Gewichtsklasse auszuwählen und seinen Kämpfer zu erstellen. Von der Theorie her hätte ich auch schon einige Umsetzungsmöglichkeiten im Kopf, wobei mir derzeit immer noch ein Grafiker fehlt, um den Charaktereditor fertig zu bekommen. Des Weiteren soll der Spieler mit Trainingseinheiten die Möglichkeit bekommen seiner Spielfigur neue "Moves" beizubringen, bzw. alte zu verbessern. Ein weiteres RPG Element wären die levelbaren Grundwerte wie Stärke, Ausdauer; Schadenswirkung (bis jetzt nur ein Konzept). So kann der Spieler seinen eigenen individuellen Kämpfer nutzen.

[b][b]Was hab ich praktisch gemacht?[/b][/b]

Kampfsystem:
1. Wenn der Spieler einen bestimmten Angriff oft genug abbekommt, sinkt sein Maximaler Lebenspunkte Wert, sodass er in späteren Kämpfen mit weniger Lebenspunkten startet.
2. Allgemein in der Schwierigkeitsgrad etwas gestiegen, was ich durch Schadensanpassungen erreicht habe.

Karrieremodus:
1. Mit jeden Kampf den der Spieler absolviert vergeht eine Woche im Spiel. Im späteren Spiel wird es Intervalle geben, in denen eine bestimmte Anzahl an Kämpfen absolviert werden kann.
2. Der Spieler kann seinen Kämpfer nun regenerieren lassen um so Kampfverletzungen zu heilen.
3. Die Grundlagen der verschiedenen Ligen wurden erstellt, die derzeit aber noch nicht mit Einbezogen werden.

Grafik:
1. Das Interface im Karrieremodus wurde etwas überarbeitet, ist aber noch lange(!) nicht final.
2. Die Interface Strukturierung wurde etwas angepasst.

[b]Planung:[/b]

Ich überlege derzeit wie ich am besten gegnerische Kämpfer abspeichere. Bei meiner jetzigen Methode habe ich jeden Kämpfer eine ID zugewiesen. Mithilfe dieser ID erkennt das Spiel welcher Kämpfer als nächstes kommt und lädt seine Spezifischen Informationen. Das Problem dabei ist dass das Anmationsystem nicht mit geladen wird und somit gar nichts passiert. Sprich das ganze System braucht nochmal eine Überarbeitung. Falls jemand einen Lösungsvorschlag hat, immer her damit.

SimpleScript

SimpleScript

 

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.

SimpleScript

SimpleScript

Sign in to follow this  
×