Solidity Definitions

Zur Erklärung: Tile Shapes beschreiben die Form von soliden Dingen im Spiel, die keine Spielfiguren sind. Obwohl ein Level nur aus Hintergrundgrafiken aufgebaut ist, können die Spielfiguren mit ihnen interagieren. Das erste was man in dieser Form kennenlernt, ist der Erdboden, auf dem der Spieler steht. Tiles, die Boden symbolisieren, sind gewöhnlich vollkommen undurchlässig, das heißt solide. Wenn man sich das mal in Farben vorstellt, wäre das Boden-Tile vollkommen schwarz, während ein durchlässiges Tile wie z.B. der Himmel weiß wäre.

Tiles sind immer viereckige Grafiken, aber meistens sind zur Interaktion auch andere Formen gewünscht, wie Hügel zum Beispiel. Einen einfachen Hügel kann man hinaufgehen, darauf stehen und auch wieder hinuntergehen. Das macht zwei weitere Formen: die linke und die rechte Seite des Hügels. Ich gehe in meinen Beispielen davon aus, dass der Spieler von links nach rechts durch den Level läuft. Wenn er auf den Hügel hinauf will, muss er (diagonal) nach oben laufen können. Stellt euch eine Linie vor, die von der unteren linken Ecke des Tiles in die obere rechte Ecke läuft. Die entstandene untere Hälfte des Tiles wird mit Schwarz gefüllt, weil es ja Hügelerde ist, die obere Hälfte ist weiß. Beim Abstieg ist es umgekehrt: Die Diagonale verläuft von links oben nach rechts unten, die untere Hälfte ist schwarz.

Nun kommt es manchmal vor, dass im Spiel auch Höhlen existieren. Der Spieler läuft durch einen Gang, während über und unter ihm Erde ist. Wir haben noch kein Tile kennen gelernt, dass eine an- und absteigenden Höhlendecke darstellen kann. Von der Art her brauchen wir die selbe Form wie beim Hügel: zwei Tiles die diagonal geteilt sind. Aber diesmal werden die oberen Hälften mit Schwarz gefüllt.

Früher oder später musste ich mich auch mit dem Thema Tile Shapes beschäftigen. Die mitgelieferten sind für den Anfang gut geeignet, aber in jedem komplexeren Spiel tauchen Sonderformen auf. Vor allem da ich gleich mal angefangen habe Felsen-Tiles zu malen, die nur zur Hälfte solide sind (der Neunerblock). Egal ob man hierfür nun angibt, dass das Tile ganz durchlässig oder ganz solide sein soll, glücklich wird man damit nicht. Extrem seltsam sieht es aus, wenn man solide wählt, dann kann der Spieler die Felsen nie berühren sondern läuft in der Luft herum.

Für diesen Fall müssen neue Tile Shapes erstellt werden, und SGDK2 unterstützt dies hervorragend. Mit Absicht werden anstatt eines Schwarz-Weiß-Bildes zur Definition mathematische Formeln benutzt. Das macht es für jemand mit nicht so guten Mathekenntnissen schwerer, die Vorteile allerdings sind groß: Die Berechnung verläuft viel schneller wenn die Position des Spielers mit der errechneten Form des Tiles verglichen werden, als wenn das Spiel Pixel-Berührungen auslesen muss. Außerdem können mit Funktionen auch alle erdenklichen Formen bereitgestellt werden, z.B. Kreise und Kurven aller Art, es ist also keine Einschränkung.

Mistraal Scripten 6Ich habe also angefangen, bin aber noch nicht damit fertig. SGDK2 braucht für die Berechnung einer Tile Shape vier Funktionen: für jeden Eckpunkt der soliden Form eine. Es wirkt zwar einfach, wenn man z.B. für einen Punkt in der Bildmitte ›Höhe durch 2‹ angibt, aber es existieren dabei Feinheiten, die ich noch nicht ganz verinnerlicht habe.

Advertisements

%d Bloggern gefällt das: