Nelle descrizioni delle mansioni, vedo spesso posizioni chiamate "Programmatore di gioco". Cosa fanno le persone in quella posizione?
Nelle descrizioni delle mansioni, vedo spesso posizioni chiamate "Programmatore di gioco". Cosa fanno le persone in quella posizione?
Risposte:
Quando le aziende parlano dell'assunzione di un programmatore del gameplay , quello di cui stanno parlando è un programmatore che sarà responsabile del codice che tocca direttamente l'esperienza di gioco. Cioè, il programmatore sarà responsabile della costruzione effettiva dei giochi, piuttosto che del motore o dei sistemi di gioco più grandi. Ma oltre a ciò, le cose variano molto:
Alcune aziende prevedono che i programmatori di gioco implementino l'interfaccia utente. Alcuni no. Alcune aziende si aspettano che implementino il codice AI, altre no. Alcuni si aspettano che implementino il codice audio, altri no. Ad essere onesti, il "gameplay" nel programmatore di gameplay è una scorciatoia del settore per "tutto ciò che non abbiamo assunto uno specialista per fare". Quindi questi programmatori devono essere molto versatili e devono essere in grado di apprendere rapidamente nuove discipline.
Ho trascorso quasi quindici anni come programmatore di gameplay nel settore commerciale, in cinque diverse società.
La mia esperienza è stata che in alcune società, un programmatore di gameplay è considerato una posizione junior o entry-level; i programmatori che lavorano solo su un singolo gioco, dopo tutto, non devono essere sofisticati come quelli che lavorano su sistemi che devono supportare contemporaneamente molti giochi diversi, come devono fare i programmatori di motori. In questo tipo di compagnia, se un programmatore di gameplay fa davvero bene, un giorno potrebbe essere promosso nel team dei motori, se può dimostrare il suo valore. Oppure potrebbe diventare uno specialista, se mostra un'attitudine per una determinata area.
In altre società, un programmatore di gameplay è considerato una posizione di livello medio; i programmatori che lavorano su un singolo gioco devono avere un'esperienza utile ed essere affidabili. Ai programmatori inesperti potrebbero essere assegnati lavori indesiderati su cui tagliare i denti (pipeline di dati, strumenti, ecc.), E alla fine potrebbero essere autorizzati a passare a un lavoro di "programmatore di gameplay". In questo tipo di sistema, un programmatore di gameplay che continua a fare abbastanza bene potrebbe passare a un ruolo di leadership del progetto, oppure al team del motore.
In altre società ancora, un programmatore di gameplay è considerato una posizione senior e anche una posizione a metà design; ci si aspetta che questi programmatori siano programmatori eccellenti e comprovati, ma anche con sensibilità e qualifiche progettuali forti, poiché toccano direttamente il codice che influenza maggiormente l'esperienza del giocatore con il gioco. In questo tipo di sistema, un programmatore di gameplay veramente bravo rimarrà probabilmente un programmatore di gameplay per sempre - questa è considerata la posizione più preziosa che possa ricoprire.
Come regola generale, migliori sono i giochi dell'azienda, maggiore è la posizione senior che considerano programmatore di gameplay (e quindi, più difficile sarà effettivamente ottenere un simile lavoro).
Trovo sempre che sia utile illustrare con l'esempio.
A un programmatore di gameplay verrebbero assegnati compiti come: implementare il sistema di combattimento corpo a corpo, implementare la meccanica di rigenerazione della salute o implementare i controlli di salto del giocatore.
A un programmatore di motori (quello che chiameresti qualcuno che non era specificamente un programmatore di gameplay) verrebbero assegnati compiti come: implementare l'illuminazione differita, o un sistema di animazione o un livello di rete.
La distinzione chiave è quella di chi è il "cliente". Per i programmatori di gioco, è il team di progettazione: il loro compito è quello di trasformare il design in realtà. Per i programmatori di motori, sono generalmente altri programmatori . I programmatori di motori realizzano tecnologie e sistemi che i programmatori di gameplay e i creatori di contenuti possono quindi utilizzare per realizzare il design.
I programmatori di motori scrivono codice che è in gran parte indipendente dal gioco: la stessa tecnologia può spesso essere utilizzata in più giochi. I programmatori di gioco tendono a scrivere un codice molto specifico per il gioco in corso. E c'è sempre una sovrapposizione: a volte per implementare il gameplay è necessario un nuovo codice motore.
La codifica del gioco non è più difficile o più facile della codifica del motore. È comunque sicuramente un set di abilità leggermente diverso; spesso devi essere più creativo ed essere in grado di eludere le soluzioni. Il tuo obiettivo non è creare il sistema riutilizzabile perfetto (l'ideale per i programmatori di motori), ma creare la migliore implementazione di gioco. Quindi ciò che può essere un vantaggio nella programmazione del motore (attenzione ai dettagli e strutture ben progettate) può essere un ostacolo nella programmazione del gioco (dove l'adattabilità e i tempi di iterazione sono più importanti). Un buon programmatore di gameplay sa quando farlo nel modo giusto (quando il design è solido e il codice verrà utilizzato in molti luoghi) e quando farlo rapidamente (quando il design è ancora in fase di elaborazione e il codice ha buone possibilità di essere scartato una volta testato).
Soprattutto, i programmatori di gameplay devono essere in grado di collaborare con il team di progettazione a un livello che i programmatori di motori non fanno. A parte le ovvie capacità comunicative, ciò significa che devi avere familiarità con altri design di giochi molto più di quanto facciano i programmatori di motori, in modo che quando un designer dice "fallo funzionare come Zelda", sai di cosa stanno parlando.
Per imparare a essere un programmatore di motori, dovresti approfondire una tecnologia e imparare come funziona, e forse implementare la tua versione di essa; il gioco sarebbe solo un'arena in cui mostrare la tecnologia.
Per imparare a essere un programmatore di gameplay, prendi il motore di qualcun altro e lo usi in tutti i modi possibili. In altre parole, se vuoi essere un programmatore di gameplay, crea giochi, non tecnologia .
Esattamente quello che sembra, un programmatore che implementa e mantiene meccaniche di gioco.
http://en.wikipedia.org/wiki/Game_programmer#Gameplay_programmer