1 registered members (M_D),
1,430
guests, and 3
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
geradeaus ins verderben
#362659
03/08/11 23:11
03/08/11 23:11
|
Joined: Feb 2010
Posts: 482 in deinem Kopf
Otter
OP
Senior Member
|
OP
Senior Member
Joined: Feb 2010
Posts: 482
in deinem Kopf
|
Hallo Freunde!Ich weis, das thema KI hatten wir gerade erst, aber ich brauch dringend eine idee, damit mein Koopa nicht in sein verderben stürtzt. Es gibt da so eine function die ein unsichbares "ding" erstellt, welches permanent rechnet ob es in einem block steckt oder nicht. Ich hab völlig vergessen wie diese zeile heißt... ich hoffe ihr wisst welche "function" ich meine. Links und rechts unter den Füßen des kleinen kerls könnte ich dann bestimmen wann's schluss ist mit Vorwärts geradeaus. Allerdings -und das ist der eigentliche grund dieses Threads- frage ich mich ob es nicht auch anders geht. Wenn ich mich recht erinnere wurde diese "function" als langsam beschrieben. Und das kann ich mir bei 20 Gegnern gleichzeitig nicht erlauben. Rettet den Koopa! OTTER
Be my UBB-Buddy, without any reason!
|
|
|
Re: geradeaus ins verderben
[Re: Otter]
#362662
03/08/11 23:19
03/08/11 23:19
|
Joined: Sep 2003
Posts: 5,900 Bielefeld, Germany
Pappenheimer
Senior Expert
|
Senior Expert
Joined: Sep 2003
Posts: 5,900
Bielefeld, Germany
|
Wenn die Gegner nur immer den gleichen Weg hinundhergehen, bräuchtest nur einmal die Endpunkte feststellen, und speicherst sie dann in einem ihrer Skills. Du könntest sie aber auch einfach generell einen c_trace vor sich herunterschicken lassen, wenn der nur kurz ist, z.B. ein-zwei Blocks lang, dürfte er auch nicht zu langsam sein. Gegner, die weit außerhalb des Views sind, könnten auch "abgeschaltet" werden.
|
|
|
Re: geradeaus ins verderben
[Re: Pappenheimer]
#362669
03/09/11 00:28
03/09/11 00:28
|
Joined: Jan 2002
Posts: 4,225 Germany / Essen
Uhrwerk
Expert
|
Expert
Joined: Jan 2002
Posts: 4,225
Germany / Essen
|
Also wenn Du die Standardbeleuchtung von GS benutzt würde ich Dir empfehlen einfach entity->floor_dist auszuwerten. Die wird ohnehin berechnet und dann kannst Du Sie einfach auslesen. Wenn Sie viel größer als der Betrag von entity->min_z ist, dann ist der Koopa am Abgrund und sollte umdrehen. Die Funktion die Du meinst ist wahrscheinlich c_trace oder c_content.
Wenn das ganze nicht allzu dynamisch sein soll und sich der Koopa nur in einer Dimension bewegt, dann kannst Du auch einfach beim Laden des Levels ein paar Testtraces machen und dann speichern wo die Begrenzungen für ihn sind. Das hätte den Vorteil, dass es nicht so aussieht als ob er schon hal runterfallen würde, wenn er umdreht.
Always learn from history, to be sure you make the same mistakes again...
|
|
|
Re: geradeaus ins verderben
[Re: Damocles_]
#362683
03/09/11 08:59
03/09/11 08:59
|
Joined: Feb 2010
Posts: 482 in deinem Kopf
Otter
OP
Senior Member
|
OP
Senior Member
Joined: Feb 2010
Posts: 482
in deinem Kopf
|
c_content war was ich gesucht hab. ^^
Gute Ideen, aber was haltet ihr von einer kombination: Am beginn des levels läst jeder koopa einen "test-trace" von seiner position nach links und rechts prüfen wie weit der abstand zum abgrund ist. Das wird dann in skills gespeichert und er muss nicht ständigen neu geprüft werden. Sobald ein block in seiner nähe zerstört wird, startet er wieder seine "test-strahlen" um den neuen weg zu berechnen.
Ich glaube das sollte funktionieren OTTER
Be my UBB-Buddy, without any reason!
|
|
|
Re: geradeaus ins verderben
[Re: Damocles_]
#362751
03/09/11 15:21
03/09/11 15:21
|
Joined: Jan 2002
Posts: 4,225 Germany / Essen
Uhrwerk
Expert
|
Expert
Joined: Jan 2002
Posts: 4,225
Germany / Essen
|
Ja, das ist eine prima Lösung. Du musst dann nur eine Liste von allen Koopas führen, und jeden Koopa über die Zerstörung eines Blocks benachrichtigen.
BTW.: Epic Artwork. Ich liebe den Gesichtsausdruck der Koopas. :-)
Always learn from history, to be sure you make the same mistakes again...
|
|
|
Re: geradeaus ins verderben
[Re: Uhrwerk]
#362887
03/09/11 21:50
03/09/11 21:50
|
Joined: Feb 2010
Posts: 482 in deinem Kopf
Otter
OP
Senior Member
|
OP
Senior Member
Joined: Feb 2010
Posts: 482
in deinem Kopf
|
YUHU ERFOLGSERLEBNIS!^^ Alles funktioniert im moment wie es soll! Zumindest bis ich einen block zerstöre und ihm damit für kurze zeit den pointer "deadly_box" übergebe. (damit gegner in der nähe der box geschädigt werden)
Also wenn "deadly_box" != NULL ist, wird dieser test-trace wieder aktiviert. Unglöcklichweise werd ich den blöden pointer nach dem zerstören des ersten blocks nicht mehr los und er ist die ganze zeit != NULL. Auch wenn der ursprüngliche block schon längst entfernt wurde. Damit komme ich zur simplen frage: wie entferne ich einen pointer?
@Uhrwerk: das sind meine ersten gehversuche mit einem zeichenpad.^^ Ich glaube aber das ich langsam besser werde.
Be my UBB-Buddy, without any reason!
|
|
|
Re: geradeaus ins verderben
[Re: Widi]
#362893
03/09/11 22:09
03/09/11 22:09
|
Joined: Feb 2010
Posts: 482 in deinem Kopf
Otter
OP
Senior Member
|
OP
Senior Member
Joined: Feb 2010
Posts: 482
in deinem Kopf
|
o___O' Okay.... von ein dutzent varianten ist mir das nicht eingefallen... peinlich danke widi!Das wars dann wohl wieder fürs erste. Danke für eure hilfe, alles funktioniert prima! Der Koopa darf leben .................... für den momentmfgOTTER
Be my UBB-Buddy, without any reason!
|
|
|
Moderated by mk_1, Perro, rayp, Realspawn, Rei_Ayanami, rvL_eXile, Spirit, Superku, Tobias, TSG_Torsten, VeT
|