Kuenstiche Intelligenz ??? Hilfe!

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Black Spider

Betreff: Kuenstiche Intelligenz ??? Hilfe!

BeitragSo, Jul 31, 2005 23:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey Leute,
ich progge schon seit einiger zeit mit Blitzbasic3D und ich komm in dem Thema einfach nicht weiter...
also ich hab keine ahnung wie ich eine vernuenftige KI erstellen soll. Ich weiss zwar wie sie handeln muesste (hab mir den "KI Denkanstoss" auf www.robsite.de durchgelesen),
doch beim erstellen hakts dann immer...
bitte helft mir!


Projekte:
Fly Fight
Blood of Time (stillgelegt)

Thx!!!
Coming soon:
http://img132.imageshack.us/im...im2ab6.gif

wunderkind

BeitragSo, Jul 31, 2005 23:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Thematisch geht's ja nicht um Blitz3D. Deshalb hierher verschoben.


Viele Grüße
Dein Blitzforum.de Service Team

Mr.Keks

BeitragSo, Jul 31, 2005 23:31
Antworten mit Zitat
Benutzer-Profile anzeigen
ki ist sehr stark vom spiel und der umgebung abhängig. könnte dir jetzt ohne genaueres nur mit allgemeingültigem, unbrauchbaren gelaber dienen Wink.
MrKeks.net
 

Dreamora

BeitragSo, Jul 31, 2005 23:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Am einfachsten ist es wohl wenn du dich ein wenig mit Rule Based AI, Finite State Machines (für die Zustände der KI) und Fuzzy Logic ( für eine unberechenbarere Entscheidungsfindung) beschäftigst. Es gibt im Netz auch einige interessante Pages dazu:

www.gameai.com
www.aboutai.net
www.igda.org/ai
www.generation5.org
http://ai-depot.com/Tutorial/RuleBased.html
www.aaai.org/AITopics/html/expert.html
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

BlitzBasic303

Betreff: RE:

BeitragMo, Aug 01, 2005 9:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Ich hab den Code von dir noch... Ich Arbeite gerade dran!

Schuldigung für OffTopic aber:
Black Spider wann hast du wieder zeit für Chat? Schick mir mal ne mail!
 

Dödel

Betreff: Re: RE:

BeitragMo, Aug 01, 2005 18:54
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic303 hat Folgendes geschrieben:
Schuldigung für OffTopic aber:
Black Spider wann hast du wieder zeit für Chat? Schick mir mal ne mail!


arrg, schreib doch einfach ne PM...

Einfache KI basiert einfach auf einigen Verhaltensmustern, die per Zufall abgespielt werden.

BSP:
Roboter hat 3 Möglichkeiten:

Feind angreifen,
wegrennen,
vestecken und abwarten

Dann Random
Und dann bei 1 angriff()
2 wegrennen()
3verstecken()

Je mehr Verhaltensmuster du hinzufügst, desto undurchschaubarer wirds. Dann kann man darauf auch weiter aufbauen (z.B. wenn der Robo wenig LP hat, ist es besser sich zu verstecken oder wegzurennen und es ist unwahrscheinlicher, dass er angreift.
Das ist dann sehr weit ausbaubar.



mfg
Dödel

Black Spider

BeitragDi, Aug 02, 2005 17:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke! Das hilft schon gewaltig...
Übrigens: es ist ein KI die (eigentlich) im Weltraum rumschwirrt, doch hier aufm Planeten...

wie kann man das denn machen, dass er ungefär so handelt (mit den RND´s klappts net so ganz, oder ich hab einfach ein Brett vorm Kopf Wink ):

__________ ____________
|Nichts Tun| Arrow |Gegnersuchen|
\ / \
\ keiner da Gefunden (RND klappt hier wieder)
/ \
____ Angriff Arrow Ausweichen
___ / \ _ |
/ \ Schaden Abchecken
/ \ _______/____ /____ |____ \
| keiner hat Schaden gegn. ich beide
| / / |
| _________/ / |
| Angriff mit anderer Waffe StarkerAngriff |
MIne Legen____ |
| \ Wessen Schaden ist Grösser?
| \ / | \
| eigener Schaden Grösser GegnS. größer |
| / |
|_____________________Zielgenauer Angriff |
/
Gegner Zerstört oder eigenschaden ZU gross
/
Nichts Tun (s.o.) Flucht
^ /
_|___________________Heilen
Coming soon:
http://img132.imageshack.us/im...im2ab6.gif

wunderkind

BeitragDi, Aug 02, 2005 17:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich weiß wohl, was du uns sagen willst, aber wenn du dir deinen Beitrag mal ansiehst, dann wird dir klar werden, dass das für andere total unverständlich ist Wink. Wenn du soetwas auf diese Art baust, dann am besten in einem einfach Texteditor und dann hier im Forum mit den Code-Tags umschließen.
 

c64

BeitragMi, Aug 17, 2005 13:06
Antworten mit Zitat
Benutzer-Profile anzeigen
@Black Spider
Schau mal unter Bot Fight nach Source liegt bei Bot.bb war eigentlich
mal (ist) ein simples Beispiel.

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMi, Aug 17, 2005 13:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Black Spider,
einfach nur RND für ein Endscheidungsmuster zu setzten reicht wohl nicht. Da kann es schon passieren, daß in einem Frame der Gegner angreifen will und im nächstem wieder ein Rückzug vornimmt.

Hier mal ein paar Ideen:
Immer wenn änderungen am eigenem Schaden der KI dann entscheidet dieser aufs neue was er tun soll und sich daran auch hält bis eventuell die Entscheidung wieder sinnlos geworden ist oder neue Gegebenheiten zB neue Gegner in näherer Reichweite gekommen sind. Aber auch hier gibt es jede Menge Probleme, zB Gegnerreichweite wechselt schnell ab (drei Raumschiffe um die KI herrum und die KI braucht beispielsweise 5 Sekunden um zu einem neuem Gegner hinzudrehen). So kann man zB Gegnerreichweite ist nicht Entfernung sondern die Zeit die man braucht um an die Gegner ran zu kommen verwenden. Dieses würde ich dann nach einem Punktesystem machen.

Beispiel:

Gegner 1 Panzerung = 70% = (100-70)*4 = +120
Gegner 1 Entfernung = -200
Gegner 1 Abweichwinkel von eigener Position = -160
Gegner 1 Position zur eigenen Basis (Heilung) = -400

Gegner 2 Panzerung = 10% = (100-10)*4 = +360
Gegner 2 Entfernung = -300
Gegner 2 Abweichwinkel von eigener Position = -80
Gegner 2 Position zur eigenen Basis (Heilung) = -120

Gegner 1 = +120-200-160-400 = -640
Gegner 2 = +360-300-80-120 = -140

-140 ist größer als -640, also wird Gegner 2 angegriffen und das obwohl dieser weiter weg ist.

Schlechte Eigenschaften werden zB mit negativen Zahlen und gute Eigenschaften mit positiven Zahlen Berechnet. Stark gewichtete Eigenschaften werden in die Gesammtsumme multipliziert (wie bei der Panzerung im Beispiel oben), und eher unwichtige Eigenschaften können dividiert werden. Wird eh notwendig sein, da beispielsweise Entfernung in 3D sehr kleine Werte hervorbringen können, aber auch enorm große. Hänkt letztendlich von der Skallierung der Welt ab.

Black Spider

BeitragMi, Aug 17, 2005 14:26
Antworten mit Zitat
Benutzer-Profile anzeigen
@hectic:
danke! Das hilft mir echt, denn meine springt erst weg, greift im gleichen moment an und heilt sich dann auch noch (und alles ist am zucken),
das hilft mmir für das, und auf jeden fall auch noch
für´s nächste Projekt!

Danke! ehrlich, Danke!!!
Coming soon:
http://img132.imageshack.us/im...im2ab6.gif

skey-z

BeitragMi, Aug 17, 2005 21:30
Antworten mit Zitat
Benutzer-Profile anzeigen
am einfachsten sind spiele immer umzusetzen, wenn man seine Gedankengänge auf papier bringt, also du überlegst dir welche situationen es geben soll/kann und dannach überlegst du dir wie du das problem lösen kannst, alles ruhig im Pseudocode.

im nächsten schritt überlegst du dir, wie die Befehle dafür lauten müssen und nimmst die oh und die Forensuche zur hilfe.

Es ist auch empfehlenswert dein Poblem mal in Google einzugeben, den es gibt kaum ein problem, was es nicht irgendwo im Internet schon gibt, auch wenn man mal länger suchen muss.
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group