So che l'efficienza è fondamentale nella programmazione del gioco e ho avuto alcune esperienze con il rendering di una "mappa" in precedenza, ma probabilmente non nel migliore dei modi.
Per un gioco 2D TopDown: (semplicemente renderizza le trame / tessere del mondo, nient'altro)
Supponiamo che tu abbia una mappa di 1000x1000 (tessere o altro). Se la tessera non è nella vista della telecamera, non dovrebbe essere renderizzata - è così semplice. Non è necessario eseguire il rendering di una tessera che non sarà visibile. Ma dal momento che hai oggetti 1000x1000 nella tua mappa, o forse meno, probabilmente non vorrai scorrere tutte le tessere 1000 * 1000 solo per vedere se si suppone che siano renderizzate o meno.
Domanda: Qual è il modo migliore per implementare questa efficienza? In modo che "rapidamente / più veloce" possa determinare quali tessere si suppone siano rese?
Inoltre, non sto costruendo il mio gioco attorno a tessere renderizzate con SpriteBatch, quindi non ci sono rettangoli, le forme possono avere dimensioni diverse e avere più punti, ad esempio un oggetto curvo di 10 punti e una trama all'interno di quella forma;
Domanda: Come si determina se questo tipo di oggetti è "all'interno" della vista della videocamera?
È facile con un rettangolo 48x48, basta vedere se X + Larghezza o Y + Altezza è nella vista della fotocamera. Diverso con più punti.
In poche parole, come gestire il codice e i dati in modo efficiente per non dover passare attraverso / scorrere un milione di oggetti contemporaneamente.