Cosa significa essere uno sviluppatore di giochi? [chiuso]

2

Sono uno sviluppatore .NET e principalmente costruisco GUI, ma naturalmente anche C # puro a causa dell'architettura e delle esigenze a livello di database.

Per me, gli sviluppatori di giochi nelle discussioni venivano spesso definiti semplicemente "sviluppatori di giochi". Trovo che sia un po 'troppo superficiale e sono curioso di sapere cosa sia uno "sviluppatore di giochi".

Cosa dovremmo essere, a loro volta, da uno sviluppatore di giochi? Ci sono mai conversioni da una direzione all'altra e quali sono le principali differenze in un normale processo di sviluppo?

    
posta Independent 11.04.2011 - 08:49
fonte

4 risposte

9

La differenza tra i giochi di programmazione rispetto alla programmazione aziendale (client / server) è che il gioco è basato in tempo reale , mentre l'altro è basato su richiesta / risposta / evento.

Questo rappresenta un approccio di programmazione completamente diverso e un set mentale. Nei giochi si ha un ciclo di esecuzione limitato che deve calcolare e rendere la grafica > 30 volte al secondo, aggiornando anche il modello fisico e gestendo l'input dell'utente. Tutto questo mentre si caricano continuamente asset complessi (modelli 3D, trame e suoni) da file o rete.

Questo significa che il tuo codice deve essere in grado di fare tutto questo entro 0,03 secondi affinché il gioco funzioni senza intoppi. Quindi il tuo codice deve essere in grado di calcolarlo a passi usando l'integrazione.

Per le abilità, devi conoscere il tuo C / C ++ e inoltre non puoi avere paura della matematica (algebra lineare).

È anche molto importante tenere a mente le prestazioni. Ad esempio, se hai un mondo di gioco che semplicemente non può stare nella RAM. Immagina un mondo di gioco esterno in cui gli oggetti lontani nell'orizzonte siano rappresentati da pochi pixel, ma possono essere costituiti da migliaia di poligoni. Non è possibile eseguire il rendering a causa della limitazione della CPU o della RAM, quindi è necessario trovare un modo per renderli più semplici a seconda della distanza dalla telecamera. Altrimenti, non è necessario eseguire il rendering di materiale all'interno di una casa se la fotocamera lo sta guardando dall'esterno (a meno che non si riesca a vedere attraverso Windows, nel qual caso è necessario essere ancora più intelligenti). Questo è chiamato culling ed è solo una area del problema che si deve affrontare quando si programmano i giochi.

Poi abbiamo elaborazione del suono, calcoli fisici, caricamento del modello 3D, animazioni, effetti particellari, fulmini, HUD, collisioni ...

    
risposta data 12.04.2011 - 12:17
fonte
6

Anche all'interno di "Sviluppo giochi", vedrai una serie di titoli di ruolo basati su ciò che effettivamente fa la persona. Programmatore grafico, programmatore di motori, programmatore di gameplay, ecc. Ognuno di questi tende ad avere specifici campi d'interesse che si traducono liberamente tra le aziende.

Quindi sì ... "Game Developer" è un po 'vago. Non puoi davvero dire cosa significa qualcuno quando lo dicono. Ma lo stesso vale per "Software Developer", "Doctor", "Lawyer" e molte altre professioni.

    
risposta data 11.04.2011 - 09:28
fonte
2

Uno sviluppatore di applicazioni aziendali si preoccupa di più della correttezza dei suoi calcoli, mentre uno sviluppatore di giochi si preoccupa maggiormente della velocità dei suoi calcoli. È meglio che un'app business si arresti in modo anomalo che dare risultati errati. È proprio il contrario con un gioco (meglio avere risultati fuzzy rispetto a un CTD). La maggior parte delle applicazioni di business sono state sviluppate pensando a problemi di manutenzione, mentre i progetti di gioco spesso sono considerati one-shot. Anche se pianificando in anticipo un sequel, sai che non puoi riutilizzare la maggior parte delle risorse (come musica, modelli, ecc.) E scriverà di nuovo ampie parti della base di codice.

Vedo le principali differenze derivanti da tali differenze nelle priorità. Inoltre, gli sviluppatori di giochi utilizzano i gadget più interessanti sulla scrivania, almeno dalla mia esperienza:)

    
risposta data 28.07.2011 - 16:17
fonte
0

Per sviluppare i giochi devi provarci da una prospettiva diversa.

Un solo esempio è che il giocatore non si muove mai, devi muovere il mondo attorno al giocatore.

Ritengo che sia una questione di spirito impostare quanti più "programmi di business" sono interessati alla velocità e all'efficienza allo stesso livello di un gioco.

I "programmi di business" non pensano, sia che si tratti del tuo codice di costruzione 8 o di invasori spaziali, che tu debba avere una comprensione rudimentale di IA.

In un gioco il programma è progettato per fallire un po 'di tempo, questa è la principale differenza tra la programmazione del gioco e la "normale programmazione".

    
risposta data 12.04.2011 - 16:25
fonte

Leggi altre domande sui tag