Seite 1 von 1

Einheitenbewegung

Verfasst: 14.09.2011, 10:58
von Lurnon
Hallo zusammen,
ich arbeite gerade an einem rundenbasierten Strategiespiel. Dafür realisiere ich den Boden 2d (mit Kacheln aber das ist nicht weiter relevant) und die Figuren 3d. Ich würde jetzt gern Bewegungskosten einbauen je nachdem über welchen Bodentyp man läuft, allerdings gibt es dabei folgende Festlegungen 1)Pixelgenau 2) die Figuren können sich frei bewegen sind also nicht dazu gezwungen immer von einer Kachel zu einer anderen zu laufen, sondern können auch auf zwei gleichzeitig zum stehen kommen und ähnliches. Nun meine Frage, gibt es in der Hinsicht schon effiziente Algorithmen /Methoden mit denen man das am besten umsetzen kann?
Mein grober Gedanke war bisher für jeden Pixel die Bewegungskosten zu festzulegen, für die Figur eine 2d Pixelmaske zu generieren die in etwa ihre Projektion auf die Bodenebene darstellt (da die Figur ja durchaus größer als 1 Pixel ist) und dann den Durchschnitt der Kosten mittels der Pixelmaske zu berechnen. Aber ist das effizient?

Gruß
Lurnon

Re: Einheitenbewegung

Verfasst: 14.09.2011, 11:30
von IlikeMyLife
Ich würde dir auf jeden Fall raten, dieses über einen Prototypen hinweg zu Programmieren und mal zu testen.
( sollte ja nicht viel arbeit machen )

An sich ist die Überlegung recht gut.
Wenn du deine Kacheln auf dem Boden 10x10 Pixel groß hast, brauchst du ja nicht jeden Pixel gegen zu Rechnen, sondern nur
die Kacheln, auf denen der Charakter steht. Du brauchst lediglich eine Erkennungsabfrage mit einbauen, die besagt, ob
der Charakter bereits auf einer Kachel steht um zu vermeiden, dass eine Kachel mehrfach berechnet wird.

Re: Einheitenbewegung

Verfasst: 14.09.2011, 11:52
von joggel
Was man vlt. auch machen könnte:
Die Gebiete in Polygone aufteilen. Dann könnte man doch polygonbasierte Wegfindung benutzen.
http://w5.cs.uni-sb.de/publication/file ... inding.pdf
was ich eben auch noch gefunden habe (by TGGC):
http://www.games-net.de/hosted/tggc/ind ... t=5&page=3

[Edit]
Bzw. diese Wegfindung (polygonbasierte) irgendwie mit Bewegungskosten verbinden.

Re: Einheitenbewegung

Verfasst: 15.09.2011, 11:14
von ponx
polygonbasiert hätte auch den Vorteil dass deine Bewegungskosten unabhängig von der Grafik-Auflösung werden

Re: Einheitenbewegung

Verfasst: 15.09.2011, 14:37
von Chromanoid
http://code.google.com/p/recastnavigation/ könnte dazu auch interessant sein.

Re: Einheitenbewegung

Verfasst: 16.09.2011, 20:01
von pUnkOuter
Ich würde da auch virtuelle Informationen drüberlegen, und das nicht pixelbasiert machen.