Gamestudio Links
Zorro Links
Newest Posts
Zorro 2.70
by jcl. 09/29/25 09:24
optimize global parameters SOLVED
by dBc. 09/27/25 17:07
ZorroGPT
by TipmyPip. 09/27/25 10:05
assetHistory one candle shift
by jcl. 09/21/25 11:36
Plugins update
by Grant. 09/17/25 16:28
AUM Magazine
Latest Screens
Rocker`s Revenge
Stug 3 Stormartillery
Iljuschin 2
Galactic Strike X
Who's Online Now
5 registered members (Dico, AndrewAMD, TipmyPip, NewbieZorro, Grant), 15,791 guests, and 5 spiders.
Key: Admin, Global Mod, Mod
Newest Members
krishna, DrissB, James168, Ed_Love, xtns
19168 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Pathfinding #128286
05/05/07 22:21
05/05/07 22:21
Joined: Jun 2004
Posts: 134
127.0.0.1
V
Vampir Offline OP
Member
Vampir  Offline OP
Member
V

Joined: Jun 2004
Posts: 134
127.0.0.1
Hallo
Versuche zurzeit ein kleiner vereinfachter Dungeon Keeper 2 Klon zu schreiben.
Das wichtigste bei jedem RTS ist ja das Pathfinding. Hab schon die grobe struktur
vom ersten Testlevel. Jetzt versuche ich erstmals ein Dummy Imp einen Felsblock
abbauen zu lassen. Und da soll jetzt das Pathfinding kommen.
Hab mir die Tuts vom AUM 30 angesehen. Fast der ganze Code ist fürs Pathfindig und
das für 4 Npc's ergibt 722 Zeilen Code!!! Ich zweifle,
ob ich dieses Problem meistern werde. Jetzt meine Fragen:
- Gibt es keine vereinfachung? Zb schon fertige Scripts oder DLLs, "so dass man nur noch nodes einfügen kann"?
- Bringt es sehr viele Vorteile auf Lite-C umzusteigen (für ein RTS)?.
- Wo finde ich evtl noch Tuts zu PF?

Dungeon Keeper 2 ist zum Glück in einem viereck-Raster, das sollte das ganze vereinfachen.
Danke für jeden Tip!
mfg
Vampir


My english is version 0.1 BETA. wow gamecard 4 president
Re: Pathfinding [Re: Vampir] #128287
05/06/07 00:16
05/06/07 00:16
Joined: Jan 2002
Posts: 4,225
Germany / Essen
Uhrwerk Offline
Expert
Uhrwerk  Offline
Expert

Joined: Jan 2002
Posts: 4,225
Germany / Essen
Hallo Vampir.

Zunächst möchte ich Dir einfach mal mit auf den Weg geben, dass gutes Pathfinding komplex ist und 722 Zeilen Code sind nicht sehr viel. Die Zeilen Code sollten auch nicht von der Anzahl der Entities abhängen. Für eine Entity solltest Du genau so viel Code brauchen wie für Tausend.
Das wichtigste hast Du ja bereits selber erkannt, nämlich dass Dungeon Keeper Blocks verwendet, die neben einander stehen. Dass vereinfacht das Pathfinding schon mal immens.

Quote:

Gibt es keine vereinfachung? Zb schon fertige Scripts oder DLLs, "so dass man nur noch nodes einfügen kann"?




Du kannst natürlich Pathes in WED setzen, das ist aber mit Sicherheit hier kein guter Ansatz. Überhaupt möchte ich Dir davon abraten, Nodes von Hand zu setzen. Dungeon Keeper ist ein Spiel mit dynamischem Terrain, dementsprechend solltest Du auch das Pathfinding realisieren. Nimm die Blocks einfach als Nodes. Als potentielles Tool sollte auch die Intense AI für dich in Frage kommen, wobei ich nicht sicher bin, inwiefern die für ein RTS geeignet ist.

Quote:

Bringt es sehr viele Vorteile auf Lite-C umzusteigen (für ein RTS)?.



Ganz grundsätzlich ja. Wenn sich das Projekt noch in einem frühen Stadium befindet solltest Du evtl darüber nachdenken zu wechseln. Alleine die structs machen einem das Leben an vielen Stellen leichter, da man sich das nervige von Hand durchlaufen der Arrays und verwalten der Offsets schenken kann. Zudem sollte Lite-C auch deutlich mehr Performanz bieten.

Quote:

Wo finde ich evtl noch Tuts zu PF?



Was ich Dir sehr empfehlen kann ist das A* Tutorial von Phillip Walser. Das ist wirklich sehr gut. Sollte hier im Forum zu finden sein. Wenn ich mich richtig erinnere, hat auch Locoweed auf seiner Seite was zu dem Thema.

Noch ein Rat: Kümmere dich erst um eine saubere Implementierung des Pathfindings und lass dich nicht irritieren, wenn es zu langsam läuft. Optimiere den Code erst zum Schluss. (Was wiederum auch nicht heissen soll, dass du Geschwindigkeit von Anfang an ausser acht lassen sollst. Nur optimiere den Code nicht, bevor Du ihn nicht vollständig implementiert hast und eine Optimierung notwendig ist.)


Always learn from history, to be sure you make the same mistakes again...
Re: Pathfinding [Re: Uhrwerk] #128288
05/07/07 17:37
05/07/07 17:37
Joined: Jun 2004
Posts: 134
127.0.0.1
V
Vampir Offline OP
Member
Vampir  Offline OP
Member
V

Joined: Jun 2004
Posts: 134
127.0.0.1
Hi
Vielen Dank für dieses sehr gute Post. Hab dein Post schon lange gelesen, aber antworte erst jetzt. Bin dabei den Code in Lite-C zu übersetzen, aber habe damit noch einige Probleme.
Mir bleibt nichts anderes überig, als mich richtig mit dem Thema auseinander zu setzen. Dann werde ich wohl alle PF Tuts von AUM durcharbeiten. Habe das Tut A* Tutorial leider nirgends gefunden , oder suche ich falsch?

PF ist doch eigentlich immer ähnlich. Man braucht ein start, nodes und ein ziel. Deshalb dachte ich, es gäbe evtl schon ein fertiges Script, so dass man es nur noch includen muss, den nodes die node-function aus dem inkludierten Script vergeben und ne function starten wie zb find_path(my,you); DAS wäre doch mal parktisch
Wahrscheinlich wunschdenken.


My english is version 0.1 BETA. wow gamecard 4 president
Re: Pathfinding [Re: Vampir] #128289
05/07/07 23:25
05/07/07 23:25
Joined: Jan 2002
Posts: 4,225
Germany / Essen
Uhrwerk Offline
Expert
Uhrwerk  Offline
Expert

Joined: Jan 2002
Posts: 4,225
Germany / Essen
Du solltest auf gar keine Fall extra Entities benutzen für die Nodes. Nimm einfach vier Array Elemente. Drei für die Koordinaten und einen als Bitset für die Richtungen in die Du laufen kannst.

Das Pathfinding Tutorial von Phillip hab ich leider nur noch in ausgedruckter Form. Aber Locoweeds PathGuru basiert glaube ich auf diesem Skript. Schau mal hier:

http://www.thekidgame.com/Locoweed3DGS/pathfinding.htm


Always learn from history, to be sure you make the same mistakes again...
Re: Pathfinding [Re: Uhrwerk] #128290
05/08/07 17:10
05/08/07 17:10
Joined: Jun 2004
Posts: 134
127.0.0.1
V
Vampir Offline OP
Member
Vampir  Offline OP
Member
V

Joined: Jun 2004
Posts: 134
127.0.0.1
Quote:

...und einen als Bitset für die Richtungen in die Du laufen kannst.




Hä? Das versteh ich nicht ganz.

----------

Das Tut ist zwar englisch, aber das meiste versteh ich.

Danke

Last edited by Vampir; 05/08/07 17:18.

My english is version 0.1 BETA. wow gamecard 4 president

Moderated by  HeelX, Lukas, rayp, Rei_Ayanami, Superku, Tobias, TWO, VeT 

Gamestudio download | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1