ZFX
ZFX Neu
Home
Community
Neueste Posts
Chat
FAQ
IOTW
Tutorials
Bücher
zfxCON
ZFXCE
Mathlib
ASSIMP
NES
Wir über uns
Impressum
Regeln
Suchen
Mitgliederliste
Membername:
Passwort:
Besucher:
4442161
Jetzt (Chat):
16 (0)
Mitglieder:
5239
Themen:
24223
Nachrichten:
234554
Neuestes Mitglied:
-insane-

ZFX
Coding-Foren
Algorithmen und Datenstrukturen
KI in Raumschlachten
Normal
AutorThema
joeydee Offline
ZFX'ler


Registriert seit:
23.04.2003

Hessen
KI in RaumschlachtenNach oben.
Hat jemand Ahnung oder kennt jemand Links vom Einsatz Künstlicher Intelligenz in Raumschlachten?
Ich suche nach einfachen Regeln, wie Computergegner den Spieler angreifen, wie nahe sie heranfliegen, wann sie abdrehen und den nächsten Angriff starten, Ausweichmanöver gegenüber Spielerlaser usw.
Mich interessiert mehr die Theorie als Codeschnipsel.
Kann jemand helfen?
27.05.2003, 11:51:46 Uhr
dfactor.de
joeydee Offline
ZFX'ler


Registriert seit:
23.04.2003

Hessen
Re: KI in RaumschlachtenNach oben.
Wenn man lang genug sucht...
Wen das außer mir auch interessiert, sollte sich das nicht entgehen lassen: http://www.steeringbehaviors.de

Ist schon ziemlich genau das was ich gesucht habe. Die Algos die da beschrieben werden dürften sich als Grundlage für eine 3D-"Schlacht" eignen.

Wenn noch jemand andere Vorschläge hat, immer her damit!
27.05.2003, 20:28:44 Uhr
dfactor.de
Swordfighter Offline
Administrator


Registriert seit:
25.02.2002

England
Re: KI in RaumschlachtenNach oben.
http://www.red3d.com/cwr/
Verschiedene Ressourcen zu Boids & Steering

Ansonsten schlag ich das Buch
Game AI Wisdom und die Game Programming Gems Buecher vor - da findet sich einiges zu kooperativem Verhalten, u.a. taktische Entscheidungsfindung etc.
29.05.2003, 16:47:30 Uhr
Swordfighter's Realm
joeydee Offline
ZFX'ler


Registriert seit:
23.04.2003

Hessen
Re: KI in RaumschlachtenNach oben.
Jepp, die Seite hab ich inzwischen auch schon gefunden. Ich denke mit den genannten Web-Ressourcen kann ich mir ein brauchbares System entwickeln.

Was mich nur wundert, im Web gibts Tuts zu allen möglichen Techniken. Aber für eine simple Raumschlacht hab ich nichts konkretes gefunden. Dabei gibts die in 3D-Echtzeitgames schon mindestens seit "Elite" auf dem C64, das war vor 16 Jahren!!! Wenn ich mir den Rechner von damals anschaue (64k Memory, 1 Mhz Taktrate), kann der Algo doch nicht so kompliziert sein. Würde mich mal interessieren wie die das gelöst haben.
30.05.2003, 07:59:02 Uhr
dfactor.de
Richard Schubert Offline
DX-Berater


Registriert seit:
05.12.2002

Berlin
85557876 rs@directx9.de
Re: KI in RaumschlachtenNach oben.


das leigt vielleicht daran, dass es jeder selbst machen will. KI is doch eins der spaßigsten sachen. da würd ich mir nit reinfuschen lassen.

(nur sone theorie, einfach nich beachten)
30.05.2003, 11:41:55 Uhr
DirectX 10
joeydee Offline
ZFX'ler


Registriert seit:
23.04.2003

Hessen
Re: KI in RaumschlachtenNach oben.
Natürlich will ich mir in meine KI genausowenig "reinpfuschen" lassen deswegen such ich hauptsächlich Erklärungen und Anregungen und keinen fertigen Code. Mit irgendwas muss man ja mal anfangen. Am liebsten wäre mir so ein kleines Tutorial, das die Grundzüge erklärt, wie es das z.B. auch für komplexe Dinge wie BSP, Terrain-ROAMing, Octrees usw. gibt.
Wahrscheinlich werd ich dann mal eins schreiben müssen, vorausgesetzt ich bekomm das überhaupt mal auf die Reihe

Vielleicht ist es auch ein ungeschriebenes Gesetz, von dem ich nichts weiß, dass die KI als "Seele" eines Spiels nie preisgegeben werden darf... (auch nur so eine Theorie)

Über die genannten Bücher konnte ich leider nichts herausfinden, das auf eine ausreichende Behandlung meines Gebiets hinweist. Oft werden ja nur Pfad-Algos wie A* erläutert, was für mich eher unbrauchbar ist. Auf gut Glück kaufen is nich.

btw, ich hab grad nachgelesen, dass die Boids-Simulation von Craig Reynolds (Link von Swordfighter) und die Elite-Engine wohl im selben Jahr veröffentlicht wurden. Entweder wurde das sehr schnell abgekupfert und in 3D umgesetzt, oder beides basiert auf gleichen schon vorher bekannten Grundlagen, oder es sind zwei völlig unterschiedliche Ansätze.
30.05.2003, 12:54:44 Uhr
dfactor.de
Swordfighter Offline
Administrator


Registriert seit:
25.02.2002

England
Re: KI in RaumschlachtenNach oben.
Zitat:
das leigt vielleicht daran, dass es jeder selbst machen will. KI is doch eins der spaßigsten sachen. da würd ich mir nit reinfuschen lassen.

(nur sone theorie, einfach nich beachten)

Behalt diese Theorie bloss fuer Dich, sonst verliere ich noch meinen Job

Was die KI in fruehen spielen angeht, findet man dort oft den cleveren Einsatz von gewichteten Zufallsgeneratoren...
a) 1 Fighter aendert zu 75% zufaellig seine Richtung - die anderen 25% fliegt er in Richtung Spieler
b) ein anderer Fighter aendert zu 50% zufaellig die Richtung - die anderen 50% fliegt er in Richtung Spieler
undsoweiter...

Durch das Zusammenspiel "erscheint" dem Spieler das Verhalten der Gegner "intelligent" - insbesondere deshalb, weil die Gegner voneinander unterschiedlich reagieren zu scheinen.
Aehnlich wie mit optischen Taeuschungen, bei denen das Gehirn nicht vorhandene Bildinformation sozusagen ins Blickfeld projiziert, projiziert das Gehirn in diesem Fall die Erwartung von intelligentem Verhalten auf die Gegner.
30.05.2003, 13:08:47 Uhr
Swordfighter's Realm
joeydee Offline
ZFX'ler


Registriert seit:
23.04.2003

Hessen
Re: KI in RaumschlachtenNach oben.
Das mit dem Zufall und der "Erwartung" des Gehirns glaube ich dir, Swordfighter. Du hast geschrieben, der "clevere" Einsatz - genau dieses "clever" suche ich! Wenn ich die Anleitung zu einem guten Zufalls-Algo finden würde, der 3D-Schiffe einigermaßen realistisch steuern kann, wäre mir auch das erstmal recht.

In Elite sind mindestens drei Verhalten implementiert die nicht allein auf Zufall basieren dürften:
1. Richtung zum Spieler finden und auf ihn zufliegen (und feuern, sobald er in Reichweite ist)
2. mit niemandem zusammenstoßen
3. Wenn der Gegner vom Spieler beschossen wird, Richtung ändern
evtl. 4.: Nicht feuern, wenn eigene Schiffe in der Schusslinie sind

Punkt 1 ist nicht so einfach wie in 2D, da simples Ausrichten nach einem Vektor "unmögliches" Steuerverhalten des Schiffs mit sich bringen kann (es kann z.B. wie das Spielerschiff nur rollen und nicken, aber nicht um die Hochachse drehen, es soll also nach "Fliegen" aussehen und nicht nach "Schieben"). Es läuft darauf hinaus, dass ich zwei Steuervektoren habe (einen für's Rollen, einen für's Nicken), die aber nicht einfach zu bestimmen sind! Bin dran, aber das Ergebnis gefällt mir noch nicht so sehr. Und dann noch einen Steuerbetrag für die Geschwindigkeit, aber den hab ich schon raus.

Punkt 2 hört sich auch einfacher an als es ist. Erstmal natürlich einfach ne Mindestdistanz wahren, wie ein Bounding-Sphere-Test, nur größer (ich sag mal "Private Sphere").
Und dann? Nehmen wir an, es wird ein festes Ziel angegriffen (z.B. Raumstation): Der Gegner soll dann ja nicht davor stehenbleiben, sondern abdrehen und erneut angreifen (die Regel, dass er ein besseres Ziel darstellt je langsamer und je näher am Gegner er ist, muss also auch integriert werden). Also hat er nach kurzer "Ausweich-Flucht" die Mindestdistanz schon wieder hinter sich (Sphere-Test negativ) und versucht wieder beizudrehen. Ist aber noch viel zu nah dran und umkreist die Station nur (oder macht sonst irgendwelchen Unsinn), ohne sie je ins Schussfeld zu bekommen...
Also wirds doch etwas komplexer: Anvisieren, Anfliegen, Ausweichen, Wegfliegen, wieder Anvisieren...

Punkt 3 und 4 dürften noch die einfachsten sein, ist jedesmal einfach ein Line-Sphere-Test
30.05.2003, 16:18:43 Uhr
dfactor.de
Swordfighter Offline
Administrator


Registriert seit:
25.02.2002

England
Re: KI in RaumschlachtenNach oben.
hmmm - wird auf die Steuerung von Raumjaegern nicht in Zerbies Band 1 eingegangen - im Thema fuer die KI der Gegner in WingCaptain ?!

Ich kann erst am Samstag Abend oder Sonntag darauf antworten, da ich im Moment zu viel zu tun hab...
30.05.2003, 20:26:09 Uhr
Swordfighter's Realm
joeydee Offline
ZFX'ler


Registriert seit:
23.04.2003

Hessen
Re: KI in RaumschlachtenNach oben.
Stimmt, auf der Detailseite von Zerb's Band 1 ist von einer Wegpunkt-Engine die Rede. Kann mir jemand in 3 Sätzen erklären, was das in etwa ist?
30.05.2003, 21:27:13 Uhr
dfactor.de
Richard Schubert Offline
DX-Berater


Registriert seit:
05.12.2002

Berlin
85557876 rs@directx9.de
Re: KI in RaumschlachtenNach oben.


du setzt einfach punkte im Raum durch die das schiff fliegen soll. so können die schiffe sicher zwischen statischen körpern hindurchfligen.

da die ai-schiffe ja genauso zu steuern sind wie der spieler am Computer selbst steuert, kannst du das doch direkt übernehmen. sie haben den ersten wegpunkt auf dem weg zum ziel (raumstation) anvisiert. nun muss man in diese richtung navigieren pitch, roll und yaw. jedefalls kann man ab einer bestimmten schwelle beschleunigen ab 5-20% (muss man ausprobieren was gut funzt) der perfekten anvisierung. irgendwann kommt das aischiff dann an diesem wegpunkt an .. dann wird dieser glöscht und das nschiuff kann zum nexten punkt fliegen.

so kann man auch wenn man zu nah an der station sein sollte wieder neue punkte setzen um wieder wegzufliegen. und dann wieder neue um wieder auf sie zuzufliegen.

man könnte die waypoints dann natürlich noch erweitern, sodass sie auf dynamische hindernisse reagieren oder sogar ausweichmanöver erzeugen.
30.05.2003, 23:15:42 Uhr
DirectX 10
joeydee Offline
ZFX'ler


Registriert seit:
23.04.2003

Hessen
Re: KI in RaumschlachtenNach oben.
Danke für die Erklärung. Ich werd jetzt mal ein bissel rumprobieren. Wenn noch jemand was zum Thema findet, immer rein damit
31.05.2003, 19:41:36 Uhr
dfactor.de
rosseaux Offline
ZFX'ler


Registriert seit:
25.12.2002

Nordrhein-Westfalen
122757892
Re: KI in RaumschlachtenNach oben.
Nimm einfach mein Source tsk.zip von meinem 3D Weltraum Shooter als Vorlage für die KI. Dieses Projekt von mir ist eh mehr oder weniger als ein eigenständigs Projekt tod. Ich überlege mir schon seit langem, ob ich darüber ein Tut schreiben soll, oder nicht. Malchauen, ob und wann ich dafur Zeit hae weil ich gerad an einer Egohoooterengine progge.
29.06.2003, 14:57:49 Uhr
Benjamin Rosseaux
joeydee Offline
ZFX'ler


Registriert seit:
23.04.2003

Hessen
Re: KI in RaumschlachtenNach oben.
Danke, ich hab mir gestern mal die Demo angeschaut. Werd mir am Wochenende mal den QT ansehen. Inzwischen hab ich aber schon ne ganz zufriedenstellende KI zusammengebastelt.
01.07.2003, 07:40:17 Uhr
dfactor.de
Normal


ZFX Community Software, Version 0.9.1
Copyright 2002-2003 by Steffen Engel