KI für Top-Down-Shooter

    • Diskussion

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Ich hab auch vor einem halben Jahr oder so angefangen eine KI zu programmieren.
      Leider fehlte mir dazu die nötige erfahrung mit Gm und so ging dass ganze natürlich in die Hose.
      Vor kurzem aber habe ich beschlossen es noch einmal zu versuchen und bin mit dem derzeitigen Stand eigentlich mehr als zufrieden.
      Die KI funktioniert ungefähr so:

      Es gibt verschiedene Modi:

      0 Der Gegner wandert von einem Punkt zum nächsten. Die Punkte können einfach im create event eingefügt werden, mit dem script add_pat(x,y,).Es können beliebig viele Punkte ausgewählt werden.
      1 Der Gegner hat etwas gehört/gesehen. Allerdings war das Gesehene nicht eindeutig bzw. war das Geräusch zu leise oder zu unwichtig (schritte=unwichtig, schüsse=wichtig). Der Gegner bleibt eine kurze Zeit verdutzt stehen und bewegt sich dann in richtung der geräuschquelle. Wenn der Gegner eine Taschenlampe hat, schaltet er sie automatisch ein. (In dieser Version haben die gegner keine taschenlampen, weil es derzeit noch zu performenc fressend ist.)
      1.5 Der Gegner hat ein Lautes Geräusch gehört oder einen Schuss. Er bewegt sich schnell zu der Geräuschquelle
      2 Der Gegner hat einen Feind erkannt und verfolgt ihn. Sieht er ihn 15 Sekunden (in dieser version nur 4 sekunden) lang nicht, bricht er die Verfolgung ab und startet den mode 4.
      3 Der Gegner hat eine freie Schussbahn richtung feind, und feuert auf ihn.
      4 Nachdem der Gegner die Verfolgung eines Feindes (modi 2) abgebrochen hat, fängt er an ihn zu suchen. Er sucht verschiedene Punkte in der Nähe des letzten Sichtkontaktes ab. Hat er ihn in 10 sekunden nicht gefunden. Wechselt er wieder zu modi 0.
      5 Nachdem der Gegner seinen Feind getötet hat, stellt er das feuer ein, bleibt kurz stehen und geht dann langsam richtung toten feind und bleibt dort eine weile stehen um sicherzustellen dass er tot ist.

      Im Step event wird gewählt, welcher modi abgespielt werden soll. Dies ist von versch. Faktoren abhängig.
      Die Sichtbarkeit von Feinden spielt eine große Rolle in der KI.
      Sie setzt sich folgenden Faktoren zusammen:
      Distanze zum feind, winkeldifferenz zum feind, die helligkeit der position an der sich der feind befindet, die wahrnehmungskraft des gegners, ob sich der feind bewegt, ob die taschenlampe des feindes eingeschalten ist und ob sich hindernisse zwischen gegner und feind befinden. (rot markiertes ist in dieser version noch nicht enthalten)

      Ich glaube ich habe euch genug gelangweilt :P
      Jetzt gibts mal ein bisschen praxis!
      hier könnt ihr euch die derzeitige version downloaden: file-upload.net/download-1967135/Mission-Survive.zip.html
      Achtung! Diese Version der KI ist mitten in der Entwicklung, es kann sein dass Fehler auftreten.
      Die lange Ladezeit am Anfang kommt daher, weil das Licht bzw. die Schatten ganz am anfang berechnet werden müssen.

      Steuerung:
      Bewegung= w,a,s,d
      schießen=linke maustaste
      geräusch erzeugen(nur zum testen)=k, oder war es l,?
      zwischen dauerfeuer und einzelfeuer wechseln=q
      taschenlampe ein/aus=f
      room neustarten=enter
      i=inventar öffnen (ist noch nicht fertig also besser die finger von lassen)

      Ich hoffe du bist mir jetzt nicht böse, dass ich einfach so meine KI in deinem thread veröffentliche, aber ich wollte nicht extra noch einen thread eröffnen, wo dieses thema doch so gut hier hineinpasst.

      Danke

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von domi ()