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.)