← Back to team overview

rpg-mediaproject team mailing list archive

Kollisionserkennung

 

Hey,
Patrick und Ich hatten die Idee Kollision nicht über Tile-Layer in gleicher
höhe wie dem Helden zu realisieren, sondern über einen ganz eigenen Layer.
Dieser Layer ist nur für die Kollision zuständig, dieser sollte umgesetzt
werden indem es ein extra TileSet für diesen Layer gibt, dessen Tiles für
passierbar, nicht passierbar, nur von oben passierbar usw. stehen, dieser
Layer wäre nicht mitgezeichnet worden.
Ich habe diese Idee noch einmal überdacht und bin zu dem Schluss gekommen,
dass diese Idee doch nicht so gut ist.
Der Grund ist, dass es zu viele Möglichkeiten gibt, wie ein Tile passierbar
sein kann, z.B. rechts und links aber nicht oben und unten, nur rechts und
oben aber nicht links und unten uswusf..

Meine neue Idee ist nun folgende, statt einem extra Layer mit extra TileSet
Kollisionseigenschaften zu verpassen, verpassen wir den allgemeinen
TileSets Kollisionseigenschaften. Z.B. ist Graß immer von allen Seiten
passierbar, aber ein Stück oberes Ufer nicht nach unten aber von Rechts und
Links. (So macht es der RPG Maker übrigents auch.) Ob diese Eigenschaften
nur bei den Layern berücksichtigt werden welche unter dem Helden liegen
oder auch bei den über dem Helden, müssten wir noch abstimmen.

Damit brauchen wir keinen Layer mehr der in der selben höhe wie der Held
ist und keinen extra Kollisionslayer.
Ein weiterer Vorteil wäre, dass man sich bei dem Bau der Map arbeit (und
damit weniger Fehler) ersparen würde.
Falls wir mehrere Layer unter dem Helden haben, wird die Passierbarkeit
durch die Konjunktion beider Eigenschaften gebildet:
z.B.
links passierbar ∩ links passierbar = links passierbar
links passierbar ∩ links unpassierbar = links unpassierbar
usw..

Diese Konjunktion könnte durch Bit-Operationen erfolgen und wäre
dementsprechend relativ schnell, theoretisch könnte diese Operation auch
bereits bei dem Laden der Map erfolgen und müsste nicht zur Laufzeit
geschehen, ob dies sinnvoll ist sollten aber wir noch einmal gemeinsam
klären.

Die Möglichkeit den Tiles diese Eigenschaften zu geben, bietet Tiled
bereits, ist aber ein wenig umständlich, ich würde daher noch ein kleines
Tool basteln mit dem wir dies noch angenehmer machen können, ähnlich wie
bei dem RPG-Maker siehe:
http://img120.imageshack.us/img120/1480/16069489km9.png

Was haltet ihr von der Idee?

Grüße, Pascal