Perché gli studi di gioco hanno bisogno di programmatori grafici se utilizzano motori di gioco?


55

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?


15
Se vuoi che il tuo gioco sia esattamente lo stesso di tutti gli altri usa solo un motore. Se vuoi che sia in qualche modo diverso, usi il motore come punto di partenza, quindi modificalo. Uso un motore di gioco (jmonkey engine) ma ho anche scritto shader per sovrascrivere alcuni dei suoi comportamenti predefiniti per le cose a cui tenevo particolarmente)
Richard Tingle,

29
È come chiedere perché hai bisogno di un ingegnere civile se gli operai edili costruiranno il ponte. Il ponte è molto più che schiaffeggiare cemento e metallo. C'è molta fisica dettagliata e analisi dei materiali che gli operai edili non conosceranno. Per un ponte di qualsiasi complessità e / o carico serio, cercare di costruire senza quella conoscenza non è probabile che vada bene. Allo stesso modo, la conoscenza di uno sviluppatore di software su come funzionano i computer e il motore sarà preziosa nella costruzione di un gioco. (In casi estremi, avrai bisogno di conoscenze hardware di basso livello.)
jpmc26

2
@RichardTingle Tecnicamente scrivere uno shader in realtà non modifica il motore, ma fornisce nuovi contenuti per il motore.
Pharap,

11
Correlati: Perché le aziende hanno bisogno di matematici e ingegneri se dispongono di calcolatrici e computer?
xDaizu,

1
piuttosto, scrivere uno shader non è certo un ingegnere grafico. @ShuvoSarker - "O ogni motore di gioco ha il suo modo di farlo" certo, "ingegneria di basso livello" per i giochi potrebbe comprendere un numero qualsiasi di abilità. (il titolo "programmatori di grafica" non significa nulla. Potrebbe essere semplicemente * qualcuno che fa le "cose ​​relative alla grafica" in Unity "o potrebbe significare essenzialmente come stai pensando" cose complicate di basso livello 'oltre il motore "").
Fattie,

Risposte:


94

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:

inserisci qui la descrizione dell'immagine

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:

  • Ruota il cartellone nello shader di vertice
  • Disegna un cerchio ruotato nello shader di frammenti.

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 commenti non sono per una discussione estesa; questa conversazione è stata spostata in chat .
Josh

65

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 '.


I commenti non sono per una discussione estesa; questa conversazione è stata spostata in chat .
Josh

20

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.


7

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

  1. 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.

  2. 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.

  3. 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.


Rende le loro opere banali?
Shuvo Sarker,

2
Avendo creato giochi per oltre 30 anni, ora vedo che c'è un sacco di lavoro trivalente nello sviluppo del gioco. Ma non direi che il lavoro dei programmatori grafici sia trivalente. In effetti, se ne hai davvero bisogno, probabilmente non è trival.
Gman,

1
@immibis Sembra che il tuo bilanciamento del gioco sia banale, con il quale non sono d'accordo, come dovrebbe essere fatto, altrimenti potrebbe rovinare il gioco. Trivial significa che ha poca importanza.
Grumpy dice di reintegrare Monica il

2
@GrumpyCrouton un'attività banale non ha nulla a che fare con la sua importanza. un compito banale significa che è quasi troppo semplice per essere chiamato anche un compito. inoltre, la progettazione dell'equilibrio è difficile, implementarne una parte è in effetti banale.
Brian H.

1
@GrumpyCrouton la chiave ha poco valore come hai detto, non stiamo parlando di ciò che l'attività sta realizzando, stiamo parlando dell'attività stessa, che ha poco o nessun valore. cambi letteralmente il valore di una costante e il gioco è fatto.
Brian H.

4

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.


3

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.


-8

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!


Questo ignora completamente la domanda, motivo per cui le persone hanno bisogno di programmatori grafici per progetti in motori come Game Maker.
The Great Duck
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.