Categorie
Domande di Internet

Ex sviluppatori di giochi, qual è un segreto di cui le persone dovrebbero conoscere?

Se esegui il codice Konami durante l'inizio del combattimento finale in BotW Link ottieni una mitragliatrice con munizioni infinite.

Su, giù, su, giù, sinistra, destra, sinistra, destra, inizio.

Non un ex sviluppatore.

Ha rinunciato alla speranza di entrarci molto tempo fa.

Sviluppatori sovraccarichi, sottopagati, mentalmente tesi che fanno del loro meglio mentre i dirigenti li licenziano a caso e negano qualsiasi bonus mentre prendono milioni da un prodotto che non hanno mai avuto direttamente in mano fabbricazione.

Anche i videogiochi necessitano totalmente di micro transazioni perché nonostante i dirigenti siano pagati più del budget effettivo degli studi. è semplicemente troppo costoso creare giochi senza mercati osceni ovviamente.

Il codice di gioco generalmente viene eseguito in due cicli:

Codice dipendente dalla frequenza fotogrammi:

In Unity questo è il ciclo di “aggiornamento” Tutto il codice eseguito in questo ciclo è in balia del framerate del gioco. Peggio è il rendimento del gioco, più sembra tutto più bello.

Loop “fisso”:

Un ciclo fisso è un codice che viene eseguito indipendentemente dal frame rate, ed è generalmente impostato dallo sviluppatore, ma funziona MOLTO MOLTO più velocemente del ciclo di aggiornamento, migliaia di volte più veloce MA anche molto più coerente indipendentemente dalle prestazioni del computer.

Il loop fisso è generalmente il punto in cui si desidera inserire il codice fisico. Vuoi che la tua simulazione fisica funzioni nel modo più fluido possibile. Vuoi assicurarti che la posizione del proiettile sia tracciata il più possibile per garantire un colpo.

Se esegui il rilevamento della fisica dei proiettili attraverso un ciclo dipendente dal fotogramma, corri il rischio che superi il bersaglio … anche se avrebbe colpito il bersaglio … invece passa direttamente attraverso il bersaglio.

Quindi, se hai un proiettile che si muove di 1 km al secondo, in quel 1 secondo in un ciclo dipendente dal fotogramma, il tuo proiettile viene controllato solo se è entrato in collisione con qualcosa 60 volte in un secondo. Se fai i conti, ci sono GRANDI lacune in cui quel codice non viene controllato. Sembrerebbe che avresti dovuto centrare il tuo obiettivo, ma per qualche motivo no.

Questo non è un problema nel codice a ciclo fisso poiché esegue questi calcoli molto più velocemente.

Questo è anche un motivo importante per cui giochi come Skyrim / Fallout e Dark Souls vengono bloccati su un determinato frame rate. Se aumenti il ​​frame rate, aumenti la simulazione fisica, tutto si muove più velocemente ecc.

Poi ci sono giochi che rilevano tutti gli input nel Frame Rate Dependent Loop, Pokemon Go ne è un esempio (ma anche molti giochi per PC lo fanno). Avevo un telefono che era 144 hz, non sono mai riuscito a far girare la pokeball su quel telefono, perché stavano calcolando la distanza tra il mio ultimo dito e l'attuale input tra l'ultimo e il fotogramma corrente. Quindi sul mio 30 o 17 Hz telefono, nessun problema, ma a meno che non fossi un impastatrice industriale, non potrei girare il dito abbastanza velocemente per quel gioco!

Questo è un blocco di testo generalmente semplificato, ci sono tantissimi modi per fare tutto quanto sopra, ma Unreal Engine, Unity, Godot ecc. Usano tutti gli stessi metodi / simili per far funzionare i giochi. Ci sono anche tonnellate di altri “stati” e loop che i motori di gioco hanno integrato in cui il codice può essere eseguito per aiutare con varie cose.

Non è un bug, è una caratteristica.