1 registered members (Akow),
1,403
guests, and 9
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
KI - Tutorial
#144322
07/29/07 14:41
07/29/07 14:41
|
Joined: Feb 2004
Posts: 217 Wennigsen, Germany
Gordon_Shumway
OP
Member
|
OP
Member
Joined: Feb 2004
Posts: 217
Wennigsen, Germany
|
Hi !!! Ich habe mir, nachdem ich das Forum aufmerksam verfolge, gedacht ein Tutorial über das Erstellen von KIs zu schreiben, da ich immerwieder mit Bedauern feststellen muss, wieviele Projekte genau an dem Punkt ihr jähes Ende finden. Ich hoffe, dass die Zeit, die ich darin investiert habe, sich gelohnt hat und einige die Scheu vor dem Erstellen einer KI etwas genommen wurde. Viel Spaß damit und gutes gelingen. Gordon Shumway Herunterladen lässt es sich unter: http://armadamods.de/2662/File/KI-Tut-german.pdf
|
|
|
Re: KI - Tutorial
[Re: Gordon_Shumway]
#144324
07/29/07 15:25
07/29/07 15:25
|
Joined: May 2005
Posts: 2,713 Lübeck
Slin
Expert
|
Expert
Joined: May 2005
Posts: 2,713
Lübeck
|
Danke, für diese recht aufschlussreichen, leicht zu verstehenden Ausführungen und Erklärungen zur Umsetzung einer KI. Interessant, wäre noch, welche Alternativen es zu den FSM (welche man eigentlich auch sehr gut mit der zuvor aufgeführten Lösung mit dem Zufall kombinieren kann) gibt und, wie du ja zum Schluss erwähnst, die Wegpfindung, was ja ein sehr wichtiger Bestandteil einer KI ist und wie ich finde auch dar komplexeste (es wäre toll wenn mir hier jemand das Gegenteil beweisen könnte^^). Okay, Codebeispiele könnten vielleicht auch ganz nützlich sein, allerdings können diese auch leicht zu Verwirrung führen. Eine übersetzung ins Englische war irgendwie das erste, woran ich dachte nachdem ich sah, das es auf Deutsch ist. Also wenn du die Zeit hast es zu übersetzen, wäre dies bestimmt gut. Allerdings solltest du an einen neuen Thread dafür aufmachen, da alleine der Titel von diesem (KI ist schließlich nicht besonders englisch ) warscheinlich einige nichtdeutschsprachige Personen etwas abschrekt. Schön wären übrigens auch noch Hinweise auf weiter Informationsquellen zum Thema KI (Links, Bücher, ...) Nochmals vielen Dank, Slin
|
|
|
Re: KI - Tutorial
[Re: JazzDude]
#144326
07/29/07 16:52
07/29/07 16:52
|
Joined: Jan 2003
Posts: 4,305
Damocles
Expert
|
Expert
Joined: Jan 2003
Posts: 4,305
|
Schön die Beispiele mit den state-machines und dem Kommunikationssystem.
Bei der erstellung von einer KI für ein Spiel ist es am besten, wenn man anfangs versucht, möglichst viel mit den Klassikern wie state-machines, und mit "vorprogrammierten" Reaktionen auf beobachtete Eigenschaften der Umwelt (zB Health < 50%, Ammo > 20 -> suche und renne zu Medipack) zu reagieren, und den entsprechenden State zu wählen.
Denn man kann schon sehr gute Spiele-KI mit einfachen Mitteln erreichen.
Erweiterte Konzepte wie Fuzzy-logic, Prioritäten-Stacks, Neuronale Netze und lernende KIs sollte man erst implementieren, wenn man mit den klassischen Mitteln keine guten Erfolge mehr erreichen kann. Denn es wird dann recht schnell sehr kompliziert.
----
Das Pathfinding ist natürlich ein zentraler Teil einer KI, aber im Endeffekt ist es nur eines der Tools, die eine intelligente Einheit nutzt, um in seiner Welt zurecht zu kommen. Pathfinding selber ist keine "KI", sondern es ist nur die Methode für die Ansprüche einer KI (von Punkt A nach Punkt B gelagen), eine Lösung zu liefern. Die entscheidung wo das Ziel liegt, und welchen Parametern der Weg genügen muß, muß die eigendliche KI liefern.
Bevor man sich mit den eigendlichen Algorythmen eines Pathfindings (A*- auf Grids, Nodebasierte Systeme) beschäftigt, muß man erst genau verstehen in welcher Umgebung das Pathfinding angewendet wird. Und da gibt es je nach Spieltyp unterschiedliche Lösungen. (zB ist Pathfinding für RTS und FPS recht unterschiedlich)
|
|
|
Re: KI - Tutorial
[Re: Damocles]
#144329
07/29/07 17:27
07/29/07 17:27
|
Joined: May 2005
Posts: 2,713 Lübeck
Slin
Expert
|
Expert
Joined: May 2005
Posts: 2,713
Lübeck
|
Vielleicht solltest du mal eine Sammlung solcher Tipps/Gedanken/... erstellen Ich fand auch deinen post zu den Multiplayerkonzepten sehr interessant. Fals der Teil deines ersten Posts mit dem Pathfinding auf mich bezogen war: Mir ist klar, das Pathfinding nicht die KI ist, aber es ist trotzdem wie du ja schon schriebst, ein wichtiges "Tool" für die eigentliche KI. Und genau dieses Tool macht mir bisher die Hauptprobleme für eine eigene KI. Wenn du dazu irgendwelche brauchbaren Links hast, wäre es toll, wenn du die posten könntest, da ich darüber sehr gerne noch mehr erfahren möchte als das bischen, das bisher da ist... Ich hab mal ein sehr einfaches Script für pathfinding entworfen, es hat allerdings viele Macken und ist sehr langsam. Vielleicht sollte ich mich aber jetzt mit Lit-C nochmal an mehr versuchen. Das sollte schon noch einige Vereinfachungen/Verkürzungen bringen Aber erstmal muss ich mein derzeitiges Projekt zuende bringen, welches übrigens auch FSMs für die KI nutzt^^. Wenn der player in der eichweite des Gegners ist schießt dieser ansonsten fliegt er auf seinem 3DGS Path weiter .
|
|
|
Re: KI - Tutorial
[Re: JoGa]
#144331
07/29/07 18:16
07/29/07 18:16
|
Joined: Jan 2003
Posts: 4,305
Damocles
Expert
|
Expert
Joined: Jan 2003
Posts: 4,305
|
Schöner Link! , sollte man sticky machen. Ich hab ja schon früher mal ein KI - sektion hier im Forum vorgeschlagen, neben dem reinen c-script forum.
----
Slin, was ich anmerken wollte ist, das Pathfinding immer sehr speziell ist, je nach Spieltypus. Also "Vorbereitung" für ein Pathfinding muß man erstmal definieren, wie die Spielmechanik funktioniert.
So wird ein Shooter sehr viel anders bezüglich des Pathfindings aufgebaut, als ein 2D RTS. Beim Shooter geht es darum in einer recht komplexen 3 Dimensionalen Umgebung einen begehbaren Weg zu finden. So werden normalerweise Nodes platziert, die zwischen den benachbarten Nodes vom Bot ohne große Hürden direkt erreicht werden können. Der komplexere WEg durch das Level wird dann durch das Pathfinding vorgegeben, als Abfolge von Nodes, die es zu erreichen gilt.
Bei einem RTS ist die Spielwelt meist 2 Dimensional. Es gibt einmal das Bodenlevel, und den frei begehbaren Luftraum. In dem Fall nimmt man aber einen Ansatz der auf einem Rastersystem basiert, da man nicht 10000 Nodes platzieren kann, und 3 Dimensionale Wegfindung nicht nötig ist. Das Raster definiert (zB Größe 128x128) ob ein "Kästchen" im Raster begehbar ist, oder nicht. Die Wegfingung kann somit völlig unabhängig von Kollisionsabfragen im "WED-Level" sein.
|
|
|
|