Zurück   Flashforum > Flash > ActionScript > Softwarearchitektur und Entwurfsmuster

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25-06-2003, 11:33   #1 (permalink)
◘ ◘
 
Benutzerbild von beachmeat
 
Registriert seit: Dec 2001
Ort: Amsterdam
Beiträge: 6.126
[Nachdenken] Autorennen KI

Aloha

Ich soll ein Autorennen machen, bei dem Gegner mitfahren....
Jetzt überlege ich wie ich es möglichst easy anstellen kann eine mini KI einzubauen.

Das Autorennen ist ein Top Scroller bei dem mittles Hittest gecheckt wird ob man sich auf der Fahrbahnfläche befindet.

Die KI soll folgendes leisten:

Strecke fahren mit abbremen vor Kurven etc...
Kollisionen ausweichen wenn von hinten kommend.
nach Kollision wieder auf Strecke zurück.

Da ich keinerlei Daten habe über den Verlauf der Strecke, sondern ja mit hitTest check wos langgeht, muss ich das alternativ lösen.
Ich habe gedacht das ich ein Array anlege mit x/y/Speed Koordinaten wie die optimale Fahrlinie ist, und ständig vergleiche, inwiefern ich mich davon entferne.

Habt ihr noch andere Lösungsansätze?
__________________
jeden Tag frisch
beachmeat ist offline   Mit Zitat antworten
Alt 25-06-2003, 12:00   #2 (permalink)
Nett hier ...
 
Benutzerbild von makese
 
Registriert seit: Nov 2002
Ort: Berlin
Beiträge: 643
...

hallo


vorschlag:

leg doch an den kurven zielpunkte fest die nacheinander abgefahren werden sollen

,,,wenn die karre nahe am ziel ist (jedesziel noch nen slide wert) soll sie sliden ... eventuell noch ne bremse oder speedwunsch für die nächste gerade und dann gibts bis zum nächsten zielpunkt wieder ne beschleunigung

,,, bei kollison mit deiner karre speed runter random in ne richtung fahren (eventuell anhand von vorheriger richtung) schön abchecken ob nicht durch ne wand gefahren wird und wieder zum nächsten zielpunkt fahren

,,, noch ein paar random mäßige moves zwischen durch (links rechts ausscheren) ..... :-)



wär mein vorschlag

makese
__________________
warum sind wir nicht alle ein bisschen wikiwiki
makese ist offline   Mit Zitat antworten
Alt 25-06-2003, 12:02   #3 (permalink)
◘ ◘
 
Benutzerbild von beachmeat
 
Registriert seit: Dec 2001
Ort: Amsterdam
Beiträge: 6.126
Hmm ist ne Idee werd ich mal drüber nachdenken - hört sich aber sehr random an

Das Kurvenfahren dürfte hier auch stressig zu schreiben sein...mit dem Array ginge das wohl besser...hmm aber hat was...muss ichma checken
__________________
jeden Tag frisch

Geändert von beachmeat (25-06-2003 um 12:03 Uhr)
beachmeat ist offline   Mit Zitat antworten
Alt 25-06-2003, 12:04   #4 (permalink)
.
 
Benutzerbild von SunboX
 
Registriert seit: Sep 2002
Ort: Auerbach / Mittweida
Beiträge: 912
Kleine Verbesserung ala Lotus (486er):

...Wenn Gegner von hinten kommt, ihm vor die nase fahren (zeitverzögert, da sonst zu schwierig/unlösbar), entspricht auch auscheren
__________________
..:: mein weblog ::.. ..:: meine homepage ::.. ..:: VisualDRUGS ::..
Zitat:
Geschrieben von emax
iterativ arbeiten ist menschlich, rekursiv dagegen göttlich :D
Künstliche Intelligenz ist leichter zu ertragen, als natürliche Dummheit!
SunboX ist offline   Mit Zitat antworten
Alt 25-06-2003, 12:16   #5 (permalink)
◘ ◘
 
Benutzerbild von beachmeat
 
Registriert seit: Dec 2001
Ort: Amsterdam
Beiträge: 6.126
was meinst Du mit "ihm vor die Nase fahren" ?
__________________
jeden Tag frisch
beachmeat ist offline   Mit Zitat antworten
Alt 25-06-2003, 12:34   #6 (permalink)
.
 
Benutzerbild von SunboX
 
Registriert seit: Sep 2002
Ort: Auerbach / Mittweida
Beiträge: 912
Also, wenn du fährst, dass dann die KI-Gegner dir vor dein Auto fahren und den weg versperren (Kampflinie). Das sollte jedoch zeitverzögert sein, damit sie dir nicht vor dem Auto "kleben". Je nach schwierigkeitsgrad, kann man die zeit dann ja heruntersetzen. Bei Lotus war das so, das man genau hinter dem Gegner fahren mußte und erst im letzten Moment zum überholen ausscherte. Jetzt klar? Weiß nicht, wie ich es sonst erklären soll.
__________________
..:: mein weblog ::.. ..:: meine homepage ::.. ..:: VisualDRUGS ::..
Zitat:
Geschrieben von emax
iterativ arbeiten ist menschlich, rekursiv dagegen göttlich :D
Künstliche Intelligenz ist leichter zu ertragen, als natürliche Dummheit!
SunboX ist offline   Mit Zitat antworten
Alt 25-06-2003, 12:44   #7 (permalink)
◘ ◘
 
Benutzerbild von beachmeat
 
Registriert seit: Dec 2001
Ort: Amsterdam
Beiträge: 6.126
ahh alles klar.....uhh ja schaun mer mal
Danke auf jeden!
__________________
jeden Tag frisch
beachmeat ist offline   Mit Zitat antworten
Alt 25-06-2003, 17:20   #8 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
kannst du die Strecke vor dem Rennen schnell mit ner "TestKoordinate" abfahren, und mit HitTest feststellen, wie die Strecke verläuft?
Janoscharlipp ist offline   Mit Zitat antworten
Alt 25-06-2003, 17:45   #9 (permalink)
◘ ◘
 
Benutzerbild von beachmeat
 
Registriert seit: Dec 2001
Ort: Amsterdam
Beiträge: 6.126
Also ich hab halt einen MC der auf hittest gecheckt wird.
Ich wollte nun eine Runde mit dem Auto fahren und die Werte wo ich langfahre in eine Array pushen - und dann quasi daran die Gegner bewegen...

Oder was meintest Du?
__________________
jeden Tag frisch
beachmeat ist offline   Mit Zitat antworten
Alt 25-06-2003, 17:49   #10 (permalink)
zeitreisender
 
Benutzerbild von emax
 
Registriert seit: Aug 2001
Ort: Hannover
Beiträge: 1.577
es gab doch da diese pathfinder experimente. das wäre hier
genau das richtige.

im prinzip guckst du mit einem ghost dem auto vorraus. der
ghost muss immer zwischen den straßenbegrenzungen bleiben.
der ghost bildet mit dem auto eine virtuelle gerade, die den
rand ebenfalls nicht kreuzen darf. je länger diese gerade
wird, also der ghost weiter vorrausgucken kann, ohne irgendwo
anzustoßen, desto schneller kann auch dein auto fahren.
bei einer kruvigen passage wird die geschwindigkeit entsprechend
langsamer, da der ghost keine langen geraden bilden kann.

der ghost achtet natürlich auch auf von vorne kommende autos.(überholen)

warum willst du überhaupt daß die KI von hinten kommenden
autos ausweicht? ich kenne kein spiel wo das der fall ist.

ach ja ..theoretisch ist das alles so einfach
__________________
Website: www.thomas-vogel.de

Geändert von emax (25-06-2003 um 17:51 Uhr)
emax ist offline   Mit Zitat antworten
Alt 25-06-2003, 17:53   #11 (permalink)
.
 
Benutzerbild von SunboX
 
Registriert seit: Sep 2002
Ort: Auerbach / Mittweida
Beiträge: 912
@ emax, meinst du meinen Vorschlag? Nicht ausweicht -> Kampflinie! (genau das Gegenteil)
__________________
..:: mein weblog ::.. ..:: meine homepage ::.. ..:: VisualDRUGS ::..
Zitat:
Geschrieben von emax
iterativ arbeiten ist menschlich, rekursiv dagegen göttlich :D
Künstliche Intelligenz ist leichter zu ertragen, als natürliche Dummheit!
SunboX ist offline   Mit Zitat antworten
Alt 25-06-2003, 17:57   #12 (permalink)
zeitreisender
 
Benutzerbild von emax
 
Registriert seit: Aug 2001
Ort: Hannover
Beiträge: 1.577
ja klaro kampflinie
bei z.b. micromachines kriegt der vornefahrende immer nen
fetten schubser vom hinteren auto und muss aufpassen, daß
er nicht aus den bahn fliegt.
__________________
Website: www.thomas-vogel.de
emax ist offline   Mit Zitat antworten
Alt 25-06-2003, 17:58   #13 (permalink)
.
 
Benutzerbild von SunboX
 
Registriert seit: Sep 2002
Ort: Auerbach / Mittweida
Beiträge: 912
des fezt! krieg ich ne kopie wenns fertig ist? *fg*
__________________
..:: mein weblog ::.. ..:: meine homepage ::.. ..:: VisualDRUGS ::..
Zitat:
Geschrieben von emax
iterativ arbeiten ist menschlich, rekursiv dagegen göttlich :D
Künstliche Intelligenz ist leichter zu ertragen, als natürliche Dummheit!
SunboX ist offline   Mit Zitat antworten
Alt 25-06-2003, 18:02   #14 (permalink)
◘ ◘
 
Benutzerbild von beachmeat
 
Registriert seit: Dec 2001
Ort: Amsterdam
Beiträge: 6.126
Ajo - danke Emax, das mit der Geschwindigkeit anhand der Länge der Linie ist eine sehr gute Idee!

Da werd ich mal weitergrübeln...ach ja und na klar meinte ich nicht ausweichen, sondern Überholmanöver
Und Kampflinie


Zitat:
Geschrieben von emax


ach ja ..theoretisch ist das alles so einfach
japp..lol

Das Problem ist hierbei zum Beispiel das ich gleich mal 2 hittest mehr habe - Ghost und Auto - wobei ich den Ghost wohl anhand ner optimal Linie fahren lasse uh und das überholen.
Und woran soll der wissen in welche Richtung es überhaupt geht hui da muss ich nochmal denken denken denken..und nebenbei Diplom schreiben
__________________
jeden Tag frisch

Geändert von beachmeat (25-06-2003 um 18:07 Uhr)
beachmeat ist offline   Mit Zitat antworten
Alt 25-06-2003, 18:36   #15 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
wenn du die Schnittpunkte vom Streckenrand mit deiner Geraden kennst, kannst du das ja leicht feststellen.
Aber wie lässt sich überhaupt diese Gerade verwirklichen?
Janoscharlipp ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 15:36 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele