Ci sono convenzioni e / o metodi più noti intorno ai sistemi di coordinate nelle mappe di gioco? L'origine è solitamente posizionata al centro della mappa? O vive in un angolo e la mappa è costruita in un singolo ottante dello spazio 3D?
Ci sono convenzioni e / o metodi più noti intorno ai sistemi di coordinate nelle mappe di gioco? L'origine è solitamente posizionata al centro della mappa? O vive in un angolo e la mappa è costruita in un singolo ottante dello spazio 3D?
Risposte:
La maggior parte dei giochi posiziona l'origine della mappa in un angolo. Il motivo principale di ciò è che le tilemap sono spesso archiviate internamente in array bidimensionali e la maggior parte dei linguaggi di programmazione non consente indici di array negativi. Ci sono molte discussioni su quale angolo dovrebbe essere l'origine, ma non considero nessuno degli argomenti particolarmente forti. Alla fine è solo una preferenza personale. Consiglierei di usare lo stesso angolo utilizzato dall'API grafica per ridurre al minimo il mal di testa.
Le eccezioni sono spesso giochi che consentono mappe che crescono all'infinito in tutte le direzioni. Non funziona correttamente senza indici negativi, quindi un semplice array 2d è fuori discussione. Dovrai archiviare i dati della tua mappa in una struttura di dati più complessa. In questa situazione di solito ha più senso posizionare l'origine nella posizione iniziale.
In teoria la posizione dell'origine non ha importanza. Tutte le operazioni matematiche eseguite quando viene eseguito il rendering della mappa o quando gli oggetti si spostano sulla mappa funzionano correttamente, indipendentemente da dove l'origine sia effettivamente.
Tuttavia, in pratica c'è una ragione per cui potresti voler fare in modo che il centro della mappa sia l'origine - e questa è una precisione limitata dei valori in virgola mobile.
Con i numeri in virgola mobile più si ottiene da 0, minore è la precisione nelle cifre più piccole.
Mentre lavoravamo su un gioco open world che aveva una mappa molto grande, in realtà abbiamo riscontrato problemi in cui la fisica e altre cose avrebbero iniziato a guastarsi man mano che ti allontanavi dalle origini.
La soluzione consisteva nel fare dei trucchi in cui l'origine era sempre abbastanza vicina al giocatore, teletrasportando in modo intelligente le cose (il giocatore, le tessere della mappa, la telecamera ecc.) In giro per non allontanarsi troppo dall'origine.
Non importa davvero. Ciò che alcune persone cambiano nel loro sistema di coordinate è spesso l'asse y. Invece di avere (0,0) in alto a sinistra, preferiscono averlo in basso a sinistra per facilitare la fisica.