Scopri il tuo collo di bottiglia
Alcune centinaia di oggetti in movimento non dovrebbero essere un problema. Tuttavia, potrebbero esserci alcune centinaia di oggetti in collisione. Ci vorranno alcuni test, ma credo che il collo di bottiglia che hai sia la collisione.
A proposito, di quanti oggetti stiamo parlando? Qual è la piattaforma? Cento oggetti per un gioco per cellulare non equivalgono a cento per un gioco Web o cento oggetti per un gioco desktop.
Prova lo stesso gioco ma con le collisioni tra gli oggetti tagliati disabilitati e vedi se riesci a ritardare quantità simili di oggetti. In tal caso, significa che la mera quantità di oggetti è la causa del problema; in caso contrario, le collisioni sono il problema.
Questo informerà la tua decisione su cosa farai per migliorare le prestazioni. Non tutte le idee di seguito verranno applicate e dovrai comunque eseguire i test.
Non parlerò dell'ottimizzazione per una grande quantità di oggetti lontani dal giocatore, poiché il problema sembra sorgere quando si interagisce con gli oggetti.
c'è un problema quando li fai spostare.
Se il problema si verifica quando si interagisce con gli oggetti, non è chiaro come la rimozione di oggetti non visibili lo risolverà ... tuttavia, suppongo che potrebbe aiutare.
Dirò solo che se gli oggetti lontani dal giocatore sono un problema, potresti iniziare con livelli più piccoli o cercare di dividere il gioco in blocchi che puoi caricare e scaricare a seconda di dove sta andando il giocatore.
Fuori dai limiti
Credo che quando si tratta di ripulire le macerie, la prima cosa da fare è rimuovere gli oggetti fuori limite. Ad esempio, il pezzo che è caduto in una fossa. Se non è possibile che il giocatore sia in grado di arrivarci per vederlo, non c'è motivo di tenerlo in giro.
Tornerò su questo.
Renderlo più realistico (parte 1)
Quando si taglia il legno con una sega, un'ascia o uno strumento simile, si perde materiale (segatura, trucioli, ecc.). Anche se tagli con un laser, il laser brucerà del legno. Inoltre, per cose che non sono in legno, di solito ci saranno deformazioni attorno al taglio, sgretolatura, ecc.
Quello che sto dicendo è che il taglio non è perfetto e un po 'di materiale andrà perso. Puoi modellarlo nel tuo gioco. Quel magico taglio rosso ha spessore. Rimuovi quello spessore dagli oggetti (aggiungi effetti particellari se ti senti troppo in colpa).
Ciò significa che non sarai in grado di tagliare tutto ciò che è più piccolo di quello spessore, infatti, tentando di farlo lo rimuoverà dal gioco. È buono! Significa che c'è un limite superiore alla quantità di macerie che ci sarà, e c'è un modo meccanicamente valido per ripulirlo nel gioco.
Cambia marcia per piccoli oggetti
Funzionerà meglio se le collisioni sono il problema.
Una volta che un oggetto è troppo piccolo, i dettagli delle diverse angolazioni ha meno rilevanza. Potresti passare a un meccanico di collisione meno preciso. Ad esempio, è possibile utilizzare i collider Circle.
Puoi trattare anche oggetti più piccoli senza collisioni tra loro; considera solo la collisione tra loro e gli oggetti agente (come l'avatar del giocatore o i personaggi controllati dall'IA).
Infine, oggetti molto piccoli potrebbero trasformarsi in polvere (effetti particellari).
Renderlo più realistico (parte 2)
Funzionerà meglio se le collisioni sono il problema.
Il materiale si deforma e si rompe sotto pressione. Se ti ritrovi con oggetti lunghi con uno spessore molto ridotto, suddividili in oggetti più piccoli in modo che possano sfruttare la soluzione sopra.
Possiamo far finta che abbia uno spessore troppo piccolo che si sbriciola e si rompe quando lo colpisci.
Unisci oggetti
Funzionerà meglio se il numero di oggetti è il problema.
Un trucco comune che molti giochi usano per gestire grandi quantità di caduta che potrebbero danneggiare le prestazioni è di raggruppare le gocce insieme.
Potresti provare qualcosa di simile per piccoli oggetti vicini l'uno all'altro. Li hanno fatti diventare un singolo oggetto. Tuttavia, non intendo mettere insieme i pezzi. Intendo creare un singolo oggetto per gestire la loro fisica; puoi ancora rappresentare i singoli pezzi che componevano l'oggetto, magari usando tecniche affini agli effetti delle particelle.
Renderlo più realistico (parte 3)
Hai sentito parlare del vento? C'è vento nel mondo reale.
Usa il vento per allontanare piccoli oggetti.
So che può sembrare contro intuitivo, perché significa che i piccoli oggetti non si riposano, almeno non subito. Leggi di seguito prima di esprimere il tuo giudizio.
Puoi usare il vento per allontanare piccoli oggetti prima - o non appena - iniziano ad accumularsi. Che funzionerà meglio se stai usando ottimizzazioni per piccoli oggetti (ad esempio combinandoli o rimuovendo le collisioni tra loro).
Inoltre, se puoi usare il vento per spingere gli oggetti ai box o comunque fuori dai limiti, puoi usare come scusa per rimuovere gli oggetti. Ti avevo detto che sarei tornato su questo. Anche se non lo fai, può servire come una scusa per rimuovere piccoli oggetti che sono troppo lontani dal giocatore, fingi che il vento si sia liberato di loro mentre il giocatore non stava guardando.
Puoi rimuovere alcuni oggetti mentre il giocatore non sta guardando, hai la mia benedizione.
Inoltre, ora hai una scusa per aggiungere vento, che puoi aggiungere vento come parte di altre meccaniche o ostacoli del gioco. Potresti anche aggiungere nella narrazione lo spirito del vento che cerca di mantenere pulite le cose, se sei così incline.
Nota : non è necessario innescare il vento quando ci sono macerie da pulire (anche se funzionerebbe), probabilmente è possibile che il vento avvenga a intervalli casuali.
Beavers!
Arriva qualche fastidioso castoro e ruba il tuo legno!
Ora hai un tipo nemico!
Inoltre, naturalmente, rimuovono il legno mentre non stavi guardando. Puoi persino progettarlo in modo da tornare a vedere un castoro che fugge via con un pezzo di legno che era una pila. Ciò renderebbe un momento memorabile, spiegherà perché il legno è scomparso e risolverà tutti i problemi di prestazione che affronti, tutto in una volta.
Sono tutti compromessi
Ci sono limitazioni della piattaforma o degli strumenti che hai scelto, anche il tempo e il budget che devi sviluppare per giocare sono una limitazione. Non si può fare una perfetta simulazione della realtà, eppure . Nessuno può .
Ogni sviluppatore lavora entro i limiti che la sua piattaforma target e gli strumenti che gli avevano imposto in quel momento, e i migliori giochi hanno dovuto fare dei compromessi per rendere il gioco divertente e coinvolgente ... anche se ciò significa meno realismo, in effetti, spesso sono divertenti e coinvolgenti perché non realistici.
Lascia che la creatività provenga da questi limiti.
Tuttavia, puoi anche rendere il tuo gioco più realistico , selezionando le parti della realtà che sono convenienti per il tuo sviluppo. Considera che a volte rimuovere oggetti che sono lontani dal giocatore è la parte del costo di fare un gioco divertente.