Kuenstiche Intelligenz ??? Hilfe!
Übersicht

![]() |
Black SpiderBetreff: Kuenstiche Intelligenz ??? Hilfe! |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Thematisch geht's ja nicht um Blitz3D. Deshalb hierher verschoben.
Viele Grüße Dein Blitzforum.de Service Team |
||
![]() |
Mr.Keks |
![]() Antworten mit Zitat ![]() |
---|---|---|
ki ist sehr stark vom spiel und der umgebung abhängig. könnte dir jetzt ohne genaueres nur mit allgemeingültigem, unbrauchbaren gelaber dienen ![]() |
||
MrKeks.net |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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. |
BlitzBasic303Betreff: RE: |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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ödelBetreff: Re: RE: |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 ![]() __________ ____________ |Nichts Tun| ![]() \ / \ \ keiner da Gefunden (RND klappt hier wieder) / \ ____ Angriff ![]() ___ / \ _ | / \ 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 ![]() |
||
c64 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@Black Spider
Schau mal unter Bot Fight nach Source liegt bei Bot.bb war eigentlich mal (ist) ein simples Beispiel. |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group