Einheitenbewegung

Design Patterns, Erklärungen zu Algorithmen, Optimierung, Softwarearchitektur
Forumsregeln
Wenn das Problem mit einer Programmiersprache direkt zusammenhängt, bitte HIER posten.
Antworten
Lurnon
Beiträge: 4
Registriert: 08.03.2009, 18:47

Einheitenbewegung

Beitrag 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
IlikeMyLife
Establishment
Beiträge: 212
Registriert: 08.05.2011, 09:59
Benutzertext: Feel Free

Re: Einheitenbewegung

Beitrag 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.
joggel

Re: Einheitenbewegung

Beitrag 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.
Benutzeravatar
ponx
Establishment
Beiträge: 217
Registriert: 04.05.2008, 12:52
Echter Name: Andy Ponx
Wohnort: Hamburg
Kontaktdaten:

Re: Einheitenbewegung

Beitrag von ponx »

polygonbasiert hätte auch den Vorteil dass deine Bewegungskosten unabhängig von der Grafik-Auflösung werden
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4260
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Einheitenbewegung

Beitrag von Chromanoid »

http://code.google.com/p/recastnavigation/ könnte dazu auch interessant sein.
pUnkOuter
Establishment
Beiträge: 303
Registriert: 15.04.2002, 15:59

Re: Einheitenbewegung

Beitrag von pUnkOuter »

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