![]() |
ki, kein plan davon
hi
ich mache mit nem freund zusammen (bzw eher mein freund, ich helfe ihm gelegentlich mal) einen 3D-ego-shooter in BlitzBasic nun hamwer bots,. man kann (sinnlos) durch die gegend ballern usw... nun kommt die frage der ki wie macht man sowas? doch wohl kaum: if gegner innähe dann baller drauf hat da wer auch nur einen ansatz für sowas? |
Re: ki, kein plan davon
Als erstes musst du für einen Bot ausrechnen, wohin er gehen muss. Wenn er den Spieler z.B. erschießen muss, dann soll er sich den kürzesten Weg zum Spieler ausrechnen. Problem: Der Spieler bewegt sich auch.
Sobald der Bot beim Spieler ist, musst du noch die Richtung ausrechnen, in die er schießen muss. Dabei gibt es musst du in den drei Dimensionen denken (oder den zwei Kopfbewegungsrichtungen). Das alles musst du für jeden Bot machen. Und hier kommen noch einige zusätzliche Probleme: Wenn mehrere Spieler (oder verfeindete Bots) im Spiel sind, dann hat die Verteidigung natürlich Priorität. Das heißt, der Bot muss auch überprüfen, ob jemand auf ihn zuläuft. Weiters kann auch eine Angriffsstrategie oder -taktik mit einfließen. Weiters, beim Schießen muss u.a. auf friendly fire geachtet werden. Das bedeutet, du darfst einen Feind nicht anschießen, wenn ein "Freund" dazwischen läuft usw. Bezüglich der Programmierung kann ich dir nicht viel sagen, außer dass du für jeden Bot einen Thread brauchen wirst. Achja, und es wird sehr kompliziert. Ich hab mal einen Computergegner für ein 2-Player-Snake programmiert, glaub mir, das war hart genug. Greetz alcaeus |
Re: ki, kein plan davon
Schau mal auf der Herstellerwebsite nach, womöglich gibts ja Tuturials oder anderes Material.
|
Re: ki, kein plan davon
wie läuft das bitte in cs ab, würd mich mal interessieren
|
Re: ki, kein plan davon
negaH bitte antworte doch bitte auf diesen thread :)
-> NN !!! |
Re: ki, kein plan davon
ich hab eine pdf namens "Künstlicher Intelligenz - Theorie, Realität, Probleme" gefunden, wer sie will -> PN (hab meine gründe dafür)
[edit] sogar noch eine zweite pdf |
Re: ki, kein plan davon
Ein möglicher Ansatz der das ganze Problem etwas vereinfacht ist das Spielfeld in Felder aufzuteilen und diesen dann Werte zuzuordnen. je nach Höhe des Wertes bewegt sich der Bot dann darauf zu oder weg...
Das hört sich erstmal einfach an aber wie immer liegt der Haken im Detail... Bei der Bewertung der Felder muss man alle Informationen mit verschieden Faktoren einfließen lassen... Nimmt man zum Beispiel nur die Nähe des Gegners[=N(x)] und den zu verteidigenden Ort[=P(x)] dann gilt pro Feld(auf 0/0 bezogen): Feld[x,y]:=N(x)+P(x) mit N(x)=a/(e^x)//Eine e Funktion würde ich hier nehmen, da je näher der Gegner desto vielfach gefährlicher :shock: P(x):=b/x // Für den Ort würde eine lineare Funktion reichen denke ich... Mit den Parametern a und b bist du nun in der Lage die Wertigkeiten nachzuregeln bis Du eine ausgeglichene Verteilung hast. Eventuell sind andere Funktionen noch besser geeignet... da heissts probieren. Außerdem muss ja auch noch mit einfließen ob irgendwelche Items oder Aufgaben zu erfüllen sind. Dann kriegen diese Einflüsse ebenfalls ihre eigene Funktion verpasst. Nachteil dieser Methode: Das ist am Ende auf jeden Fall nicht das was eine KI sein sollte... Inteligent! Aber für die ersten Schritte ist das imho durchaus eine akzeptable Lösung für kleinere Spiele... :zwinker: |
Re: ki, kein plan davon
naja, der bisherige stand des spiel:
*aba nicht lachen :dp: * du bist einfach nur ne kamera die gegner sind kugeln, die sich nicht bewegen sie ballern quer über die karte es gibt keine hps etc... das würd erst ma reichen... aber was is mit so wänden und so die bots sind ja nicht allwissend, wo die gegner sind und so.... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz