AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi KI Problematik: Gegnern ausweichen
Thema durchsuchen
Ansicht
Themen-Optionen

KI Problematik: Gegnern ausweichen

Ein Thema von Antigo · begonnen am 6. Apr 2006 · letzter Beitrag vom 8. Apr 2006
 
Antigo

Registriert seit: 14. Mär 2005
274 Beiträge
 
#1

KI Problematik: Gegnern ausweichen

  Alt 6. Apr 2006, 16:18
Hi,
Ich habe ein größeres Problem. derzeit programmiere ich an einem 2D Fussball Spiel und bin nun mit den grundlagen durch. Jetzt geht es daran die KI für die computer gesteuerten Spieler zu schreiben. Hier bin ich jetzt soweit, das der KI gesteuerte Gegner guckt wo der ball ist, daraus ein winkel, und aus dem winkel wiederrum eine richtung errechnet in die er gehen muss um den Ball zu kriegen. Soweit noch kein so großer problem.
Jetzt muss der KI Spieler aber gucken ob in der Richtung, in die er gehen will nicht schon ein anderer Spieler ist.
Bei der normalen Kollision, bei der nur überprüft wird ob ein anderer Spieler direkt vor einem ist, oder man an einer wand steht ist es relativ einfach. Ich berechne die Koordinaten an denen der Spieler wäre, wenn er vorwärts ginge, und gucke ob er dann auf einem anderen Spieler "drauf" wäre. Ist dies der fall darf man halt nicht gehen, sonst darf man es.
Hier ist es jetzt aber schwieriger, weil ich nach vorne schauen muss. Könnte der Spieler nur nach rechts und links, oben und unten gehen, wärs auch einfach, aber der spieler kann halt in jede Richtung gehen (bzw. in 60 verschiedene, irgendwo muss ja eine Grenze sein).
Hier mal ein Bild: die graue Zone ist die die frei sein muss, damit der spieler gehen kann. Ist jemand in dieser zone drin, oder grenzt an diese an, soll die ki solange die richtung verändern bis die graue Zone frei ist und sich dann dem Ball wieder annähern.
http://img20.imageshack.us/img20/6623/bild1sh.jpg

Hat vielleicht jemand eine Idee wie ich das überprüfen könnte. Ich hatte schon ein paar ideen aber irgendwie wär das zu aufwenig. Zum Beispiel hatte ich mir gedacht ich mache endlich viele kleine Schritte mit dem Spieler und gucke ob ich kollidieren würde. wenn das nicht passiert ist der weg frei, wenn doch wird die richtung geändert und wieder überprüft. Dafür müsste ich aber jedesmal den Spieler mit allen anderen Spielern verrgleichen und das in mehreren positionen. Das wär einfach zu viel.

Wär super wenn mir jemand helfen könnte.

danke im vorraus
Michael
"How should I know if it works? That's what beta testers are for. I only coded it."
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz