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
Einheitenbewegung
Forumsregeln
Wenn das Problem mit einer Programmiersprache direkt zusammenhängt, bitte HIER posten.
Wenn das Problem mit einer Programmiersprache direkt zusammenhängt, bitte HIER posten.
-
- Establishment
- Beiträge: 212
- Registriert: 08.05.2011, 09:59
- Benutzertext: Feel Free
Re: Einheitenbewegung
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.
( 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
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.
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.
- ponx
- Establishment
- Beiträge: 217
- Registriert: 04.05.2008, 12:52
- Echter Name: Andy Ponx
- Wohnort: Hamburg
- Kontaktdaten:
Re: Einheitenbewegung
polygonbasiert hätte auch den Vorteil dass deine Bewegungskosten unabhängig von der Grafik-Auflösung werden
- Chromanoid
- Moderator
- Beiträge: 4273
- Registriert: 16.10.2002, 19:39
- Echter Name: Christian Kulenkampff
- Wohnort: Lüneburg
Re: Einheitenbewegung
http://code.google.com/p/recastnavigation/ könnte dazu auch interessant sein.
Re: Einheitenbewegung
Ich würde da auch virtuelle Informationen drüberlegen, und das nicht pixelbasiert machen.
Ein Zeiger ins Blaue ist wie ein Wegweiser nach <SEGFAULT>. Wenn du denkst, mein Name hat was mit abgefuckter Kleidung und bunten Haaren zu tun, dann kehr besser um.