KI - Taktik

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

    • KI - Taktik

      Ich habe folgendes Szenario: Ein X-Wing Geschwader gegen ein eine Gruppe von imperialen Tie-Fightern... naja sowas ähnliches.
      Also, bei mir ist es tatsächlich auch 3D, und ich kann (endlich, dank U3D) bequem mit 3D-Vektoren und Matritzen arbeiten. Jeder Flieger kann also z.B. berechnen, welches Ziel er am schnellsten anvisieren kann. Von wem sie beschossen werden, wissen sie auch, etc. Damit will ich Euch nicht beleiern :wacko:

      Die Frage, die mich dabei gerade beschäftigt: Wer greift wann wen an? Wann fliegt man Formation, konzentriert das Feuer auf ein Ziel etc.
      Wichtig ist hierbei, daß jeweils Teams im Spiel sind. Also die Einheiten müssen korrdiniert werden bzw. sich selbst koordinieren. Hat jemand sich schonmal mit sowas beschäftigt, zum Beispiel im Rahmen eines Strategiespiels? Ich nämlich nicht.
      Was ist, wenn die Einheiten unterschiedlich stark sind? (sonst wäre es ja zu einfach, grins) Welche Ziele was für Waffen und wieviel Feuerkraft erfordern, ist schon wichtig.
    • Strategiespiele sind etwa mit Schach zu vergleichen jede figur/einheit hat ihre Besonderheiten..

      Also meiner Meinung nach währen da 2 Möglichkeiten:

      für Gegnerische KI:

      1. Möglichkeit du schreibst einen berechnungs Algorithmus,
      der die gegnerischen schiffe mit deinen vergleicht(z.B. das die kleinen aufklährungsschiffe nutzlos gegen einen MEGA TODESSTERN sind) und daraus die effektivste Möglichkeit wählt (z.B. flüchten ..)

      das würde aber zwangsweise dazu führen dass:
      1. mehr rechenzeit benötigt wird.
      2. der KI Gegner unschlagbar währe(wenn die Berechnungen zuende geführt würden).

      das könnte man verhindern indem man einen Spielbaum entwickeln würde, der die Gruppierten Einheiten nimmt und mit ihnen nur bis zu x Berechnungen pro Gruppe macht, dann den besten/zweitbesten/drittbesten Zug nehmen je nach Schwierigkeitsgrad.


      2. Möglichkeit eine Priority Queue(Prioritäts schlange)

      Je nach ziel der KI werden Unterziele kategoriesiert jedes Unterziel hat nach wichtigkeit des Gesamtziels eine Priorität, dann müßte "nurnoch" berechnet werden wie das Ziel am effektivsten abgearbeitet wird -> wieder in Subkategorien unterteilen.

      Dann berechnet man welche gegebenen Einheiten/was auchimmer am meisten dazu dient die Sub-Subkategorie Bedingungen zu erfüllen.
      Dementsprechend werden die Prioritäten abgeändert und durchgeführt.
      Voila du hast eine basis KI.

      Btw: fände ich es langweilig wenn die Spieler Einheiten intelligent währen und immer die effektivste Möglichkeit selbst wählen würden(fühlt man sich ja wie in nem Film <.<;) also mach das besser nur bei computergesteuerten Einheiten :D
    • Richtig, eine Prioritätsschlange... oder so ähnlich.
      Man solllte auf jeden Fall für jede Geschwader/Schiffs-Art eine Datenbank von Potenziellen Zielen, Prioritäten und (wenn vorhanden) die Waffen bestimmen, mit denen das Ziel angegriffen wird.

      Gehen wir mal davon aus, dass Du hier wirklich das Star Wars-Szenario nimmst, dann hast Du etwa (in kleinerer Form und ein bißchen angepasst):
      X-Wings
      Y-Wings
      A-Wings
      Calamari

      Tie Fighter
      Tie Interceptor
      Tie Bomber
      Star Destroyer (Imperial Class)

      Gehen wir jetzt mal den X-Wing durch:
      Der X-Wing kämpft vor allem gegen Geschwader, hat aber auch Potenzial was größeres wegzupusten. Er kann ziemlich einfach Tie Fighter platt machen, Tie Interceptors auch einigermaßen, Tie Bomber extrem einfach. Er hat unter anderem die Aufgabe die Y-Wings zu schützen, da sie ja effizient gegen große Ziele bestückt sind. Folgende Leiter wäre also ganz gut:
      1. > Tie Fighter (als Schutz der Y-Wings - minimaler Einsatz von Raketen)
      2. > Tie Bomber (um den Calamari zu schützen)
      3. > Tie Interceptor (um sich selbst zu schützen - Einsatz von Raketen empfehlenswert)
      4. > Star Destroyer (aber nur wenn Torpedos vorhanden sind)

      Und beim Kampf gegen Geschwader sollte jeder Pilot möglichst ein eigenes Ziel haben, da so die größte Kampfeffizienz gewährleistet ist.

      Als zweites Beispiel nehmen wir mal den Tie Bomber:
      1. > Calamari (da die Bomber mit ihren Torpedos am besten dazu geeignet sind > nur Angreifen wenn Torpedos vorhanden sind)
      2. > X-Wing (um sich selbst zu schützen)
      3. > A-Wing (ebenfalls, doch niedrigere Priorität, da diese schwieriger zu zerstören sind)
      4. > Y-Wing (geringe Priorität, da andere Einheiten sich auf diesem Geschwader konzentrieren)

      Unter Berücksichtigung solcher Faktoren müsstest Du also ein ähnliches Modell für dein Spiel aufbauen. Wenn ich jetzt völlig an dem vorbeigeschossen habe, was Du meintest, konkretisier doch bitte nochmal was Du meinst.