Gibt es irgendwelche Konventionen und / oder bekanntesten Methoden um Koordinatensysteme in Spielkarten? Liegt der Ursprung normalerweise in der Mitte der Karte? Oder lebt es in einer Ecke und die Karte wird in einem einzelnen Oktanten des 3D-Raums erstellt?
tilemap
maps
level-design
TaylorE
quelle
quelle
Antworten:
Die meisten Spiele legen den Kartenursprung in eine Ecke. Der Hauptgrund dafür ist, dass Tilemaps häufig intern in zweidimensionalen Arrays gespeichert werden und die meisten Programmiersprachen keine negativen Array-Indizes zulassen. Es gibt viele Diskussionen darüber, welche Ecke der Ursprung sein sollte, aber ich halte keines der Argumente für besonders schlagkräftig. Am Ende ist es nur eine persönliche Präferenz. Ich würde empfehlen, nur die gleiche Ecke zu verwenden, die Ihre Grafik-API verwendet, um Kopfschmerzen zu minimieren.
Ausnahmen sind oft Spiele, die Karten ermöglichen, die unendlich in alle Richtungen wachsen. Ohne negative Indizes funktioniert das nicht richtig, daher kommt ein einfaches 2d-Array nicht in Frage. Sie müssen Ihre Kartendaten in einer komplexeren Datenstruktur speichern. In dieser Situation ist es normalerweise am sinnvollsten, den Ursprung an der Startposition zu platzieren.
quelle
Theoretisch spielt der Ort des Ursprungs keine Rolle. Alle mathematischen Operationen, die Sie ausführen, wenn die Karte gerendert wird oder wenn sich Objekte auf der Karte bewegen, funktionieren einwandfrei, unabhängig davon, wo der Ursprung tatsächlich liegt.
In der Praxis gibt es jedoch einen Grund, warum Sie den Mittelpunkt der Karte als Ursprung festlegen möchten - und das ist die eingeschränkte Genauigkeit von Gleitkommawerten.
Bei Gleitkommazahlen ist die Genauigkeit der kleineren Ziffern umso geringer, je weiter Sie von 0 entfernt sind.
Während der Arbeit an einem Open-World-Spiel mit einer sehr großen Karte stießen wir tatsächlich auf Probleme, bei denen die Physik und andere Dinge zusammenbrechen würden, je weiter Sie sich vom Ursprung entfernen.
Die Lösung bestand darin, einen Trick zu machen, bei dem der Ursprung immer ziemlich nah am Spieler war, indem Dinge (der Spieler, die Kartenkacheln, die Kamera usw.) intelligent teleportiert wurden, um nicht zu weit vom Ursprung entfernt zu sein.
quelle
Es ist nicht wirklich wichtig. Was manche Menschen in ihrem Koordinatensystem ändern, ist oft die y-Achse. Statt (0,0) oben links zu haben, bevorzugen sie es, es unten links zu haben, um die Physik zu vereinfachen.
quelle