Nella sezione crediti dei giochi a cui gioco, ci sono nomi di programmatori grafici . Se hanno utilizzato un motore di gioco, perché hanno bisogno di un programmatore grafico ? Il motore di gioco non sta facendo il suo lavoro?
Nella sezione crediti dei giochi a cui gioco, ci sono nomi di programmatori grafici . Se hanno utilizzato un motore di gioco, perché hanno bisogno di un programmatore grafico ? Il motore di gioco non sta facendo il suo lavoro?
Risposte:
Anche con un motore, ottenere qualcosa da visualizzare sullo schermo nel modo desiderato non è sempre banale. Ci saranno molti casi in cui è richiesto qualcuno con conoscenze di programmazione per visualizzare correttamente la grafica. Queste persone possono essere chiamate programmatori grafici nei titoli di coda (il programmatore grafico non è un titolo certificato o protetto e la differenza tra titoli diversi può variare molto in base all'azienda).
Facciamo un esempio concreto. Abbiamo bisogno di un cerchio rotante animato, come segue:
Alcune delle nostre opzioni sono:
1 Posiziona il cerchio su un cartellone, scrivi uno script per ruotare il cartellone.
2 Usa una gif animata come sorgente.
3 Fai tutto in uno shader, che consente 2 diverse opzioni:
In 1. qualcuno deve scrivere quello script, che è una sorta di attività di programmazione che ha a che fare con la grafica. Per 2. non abbiamo bisogno di un programmatore, a meno che il motore - come la maggior parte - non supporti l'importazione di gif animate, nel qual caso qualcuno ha bisogno di programmare quella parte. In 3. qualcuno deve programmare lo shader, che potrebbe essere un artista o un programmatore.
EDIT per indirizzare i voti negativi:
I downvotes sembrano essere perché l'effetto è troppo semplice e quindi non verrebbe implementato da un "vero" programmatore grafico. Non so davvero da chi altro sarebbe implementato se ci fosse un programmatore grafico dedicato nel team, e di tanto in tanto implemento tali effetti di rotazione negli shader - sebbene di solito la rotazione sia solo una parte di un tutto più grande, come in questo esempio .
I motori di gioco sono come le cucine e gli sviluppatori (ovvero i programmatori) sono come i cuochi.
I motori di gioco offrono possibilità, mentre i programmatori sfruttano queste possibilità per le esigenze del gioco.
Pertanto, le società di giochi hanno bisogno di programmatori grafici per adattare le possibilità grafiche del motore alle esigenze del gioco.
Se il motore di gioco gestisse tutto, senza modificare, tutti i giochi prodotti da quel motore sembrerebbero uscire dallo stesso stampo: gli artisti possono produrre diversi modelli 3D e arte 2D su misura per la visione dei progettisti, ma il la personalizzazione in-game di questi elementi grafici sarà limitata a ciò che il motore offre immediatamente.
Tieni presente che mentre ti consentono di cambiare l'arte utilizzata, alcuni motori di gioco non offrono la possibilità di adattare gli altri aspetti grafici alle esigenze del gioco. Penso che RPG Maker sia stato così: ti ha permesso di cambiare l' arte, ma eri limitato in termini di come puoi modificare il tuo gioco per dargli un tocco molto distintivo. Questo potrebbe essere cambiato negli ultimi anni poiché non ho toccato quel software per un po '.
Il significato specifico della maggior parte dei titoli nel settore dei giochi varia ampiamente da studio a studio, quindi tienilo a mente. Ciò che costituisce la "programmazione grafica" in uno studio può significare davvero solo apportare modifiche allo shader o al materiale, dove in un altro studio potrebbe significare fare un lavoro di ottimizzazione di livello relativamente basso vicino all'API grafica sottostante, eccetera.
Detto questo, negli studi più grandi è relativamente raro prendere un middleware del motore e usarlo senza apportare alcuna modifica. Il più delle volte, gli aspetti specifici del motore dovranno essere modificati perché non soddisfano del tutto i requisiti o perché esiste un bug in quella versione e la società non può ancora eseguire l'aggiornamento a una versione più recente che potrebbe correggere l'errore, et cetera.
La grafica è un'area in cui le persone tendono a fare un bel po 'di modifiche. Potrebbe non comportare la riscrittura dell'uso di Direct3D o simili all'interno del motore, ma potrebbe comunque comportare la personalizzazione del lavoro o l'ottimizzazione degli shader, il miglioramento della gestione delle risorse grafiche per meglio spiegare i profili di utilizzo del gioco specifico, l'aggiunta di nuove funzionalità o opzioni di rendering, l'ottimizzazione del pipeline di risorse grafiche per adattarsi meglio al flusso di lavoro dello studio, ecc.
Inoltre, ci sono molti casi in cui uno studio vorrà integrare i middleware grafici aggiuntivi. Esistono pacchetti di middleware come Granite, Enlighten e TrueSky che offrono varie funzionalità grafiche (streaming delle trame, illuminazione globale, simulazione e rendering del cielo, ecc.). Tutti questi pacchetti middleware si integrano con Unreal, ma per integrarli è necessario lavorare. Alcuni di essi possono essere in conflitto tra loro o necessitare di alcune modifiche per lavorare bene insieme, poiché sono tutti sviluppati da diverse aziende. Anche i programmatori grafici saranno coinvolti in questo tipo di lavoro.
Puoi spedire i giochi senza un programmatore di grafica abbastanza facilmente oggi grazie a tutti i motori. Ciò di cui generalmente hai bisogno di un programmatore grafico sono cose come
ottimizzazione
Un programmatore grafico dovrebbe conoscere e / o imparare come funziona un determinato motore ed essere in grado di dirigere gli artisti o modificare i materiali o unire modelli o utilizzare altre tecniche ecc. Per ottenere migliori prestazioni dal motore.
comprensione e istruzione
Un artista vuole ottenere un certo effetto. Il programmatore grafico che capisce come funziona il motore può spiegare come ottenere tale effetto.
personalizzazioni ed effetti
Alcuni effetti potrebbero richiedere la programmazione. Gran parte del rendering di Bound è personalizzato.
Questo non è diverso dai film. Con centinaia di programmatori, un budget elevato e una cattiva scrittura potresti ottenere Star Wars: The Phantom Menace. Senza programmatori e buona scrittura potresti ottenere Primer. I programmatori (o altre persone tecniche) possono consentire cose nuove. I programmatori hanno portato il fango CG su Shrek, i capelli CG su Monsters Inc, Bullet Time su The Matrix, ecc. Ma i film stessi non riguardano gli effetti ed è del tutto possibile realizzare film sorprendenti senza effetti o nuove tecnologie personalizzate.
Lo stesso vale più o meno per i giochi ora. I programmatori grafici potrebbero consentire i fluidi in Pixel Junk Shooter o tutta la geometria dinamica di Bound, ma molti giochi possono essere realizzati con la tecnologia dei motori standard e senza programmatori grafici.
Molte volte, i motori di gioco non soddisfano il 100% dei requisiti e delle specifiche di un progetto di gioco. Ciò è particolarmente vero per i titoli con tripla A che spingono sempre oltre i limiti della tecnologia dei giochi. Se una parte della parte grafica del motore di gioco non corrisponde a ciò che gli artisti e i designer vogliono raggiungere immediatamente, potrebbero assumere un programmatore / specialista grafico che possa aiutarli a capire se le loro aspettative sono fattibili e se lo è, come raggiungerlo. Potrebbe comportare la modifica delle risorse dello shader / arte, la rielaborazione di parti del rendering o persino l'uso di un middleware. O una loro combinazione.
La maggior parte delle tecniche standard saranno implementate in qualsiasi motore commerciale decente, come FXAA, illuminazione, ombreggiatura cel, mappatura normale ecc., Ma non tutte.
Nel caso in cui un progettista di giochi abbia specificato che deve verificarsi un effetto particolare, o lo costruisci da ciò che è già lì, oppure codifichi un nuovo shader o modifichi il motore grafico per consentirlo. In entrambi gli scenari, è richiesto un programmatore grafico.
Definire il motore, quindi definire il motore grafico. Se stai usando un motore esistente per creare un gioco, non è lo stesso che scrivere un gioco da zero nel codice. Se attraverso il codice si può definire cos'è la grafica o il motore, non importa come lo si chiama se il codice è forte. La creazione di giochi in detto motore, i suoi limiti eo i suoi punti di forza si basano esclusivamente sull'abilità del / i programmatore / i. Usare qualcosa come Unity o persino Unreal o qualsiasi altro motore pro non definisce la tua abilità, i motori di gioco sono solo delle astrazioni che codificano, diciamo che il puro C ++ non lo è. Ad esempio, puoi assumere programmatori infernali anche agli artisti, ma ti limiteresti alla visione o ai limiti del motore. Quindi è meglio programmare da zero quindi usare qualcosa di già esistente. Il problema è che hai vinto ' t trovare risposte online come StackExchange Dubito che molte persone si siano addirittura preoccupate di programmare un gioco e tanto meno di aver finito un progetto 2d. Sto solo procrastinando un po ', nel senso che non molte risposte egoistiche lo spiegano. Il modo migliore è studiare e praticare!