In functiebeschrijvingen zie ik vaak posities die “Gameplay Programmer” worden genoemd. Wat doen mensen in die positie?
Reacties
- gamedev.stackexchange.com/questions / 5538 / …
Antwoord
Wanneer bedrijven praten over het inhuren van een gameplay-programmeur , dan hebben ze het over een programmeur die verantwoordelijk is voor code die rechtstreeks raakt op de game-ervaring. Dat wil zeggen, de programmeur is verantwoordelijk voor het daadwerkelijk bouwen van de spellen, in plaats van de engine of grotere spelsystemen. Maar verder variëren de dingen enorm:
Sommige bedrijven verwachten dat gameplay-programmeurs de gebruikersinterface implementeren . Sommige niet. Sommige bedrijven verwachten dat ze AI-code implementeren, andere niet. Sommigen verwachten dat ze audiocode implementeren, anderen niet. Om eerlijk te zijn, is de “gameplay” in gameplay-programmeur een afkorting voor “alles waarvoor we geen specialist hebben ingehuurd”. Deze programmeurs moeten dus zeer veelzijdig zijn en snel nieuwe disciplines kunnen leren.
Ik ben bijna vijftien jaar gameplay-programmeur geweest in de commerciële industrie, bij vijf verschillende bedrijven.
Mijn ervaring was dat in sommige bedrijven een gameplay-programmeur wordt beschouwd als een junior- of instappositie; programmeurs die alleen aan een individueel spel werken, hoeven tenslotte niet zo geavanceerd te zijn als degenen die werken aan systemen die veel verschillende spellen tegelijk moeten ondersteunen, zoals engine-programmeurs dat moeten. In dit soort bedrijf, als een gameplay-programmeur het echt goed doet, kan hij op een dag worden gepromoveerd tot het motorteam, als hij zijn waarde kan bewijzen. Of hij kan een specialist worden als hij blijk geeft van bekwaamheid voor een bepaald gebied.
In andere bedrijven wordt een gameplay-programmeur beschouwd als een positie op gemiddeld niveau; programmeurs die aan een afzonderlijk spel werken, moeten enige nuttige ervaring hebben en betrouwbaar zijn. Onervaren programmeurs kunnen ongewenste banen krijgen om hun tanden in te zetten (datapijplijnen, tools, enz.), en uiteindelijk kunnen ze doorgroeien naar een baan als “gameplay-programmeur”. In dit soort systeem, een gameplay-programmeur die het redelijk goed blijft doen, kan doorgroeien naar een projectlate derschapsrol, of anders in het motorteam.
In nog andere bedrijven is een gameplay-programmeur beschouwd als een senior positie, en ook als een half-design functie; van deze programmeurs wordt verwacht dat ze uitstekende, beproefde programmeurs zijn, maar ook sterke ontwerpgevoeligheden en kwalificaties hebben, aangezien ze rechtstreeks de code aanraken die de ervaring van de speler met het spel het sterkst beïnvloedt. In dit soort systemen zal een echt goede gameplay-programmeur waarschijnlijk voor altijd een gameplay-programmeur blijven – dit wordt beschouwd als de meest waardevolle positie die hij kan vervullen.
Als algemene vuistregel geldt: hoe beter de games van het bedrijf, hoe hoger een positie die zij gameplay-programmeur beschouwen (en daarom, hoe moeilijker het wordt be om zon baan daadwerkelijk te krijgen).
Answer
Ik vind het altijd handig om een voorbeeld te illustreren.
-
Een gameplay-programmeur zou taken krijgen in de trant van: het implementeren van het melee-vechtsysteem, het implementeren van het herstelmechanisme voor de gezondheid of het implementeren van de sprongbesturing van de speler.
-
Een engine-programmeur (wat je iemand zou noemen die niet specifiek een gameplay-programmeur was) zou taken krijgen in de trant van: implementatie van uitgestelde verlichting, of een animatiesysteem of een netwerklaag.
Het belangrijkste onderscheid ction is die van wie de “klant” is. Voor gameplay-programmeurs is het het ontwerpteam – hun taak is om het ontwerp werkelijkheid te laten worden. Voor engine-programmeurs is dit meestal andere programmeurs . Engine-programmeurs maken technologie en systemen die gameplay-programmeurs en makers van inhoud vervolgens kunnen gebruiken om het ontwerp te realiseren.
Engine-programmeurs schrijven code die grotendeels game-agnostisch is – dezelfde technologie kan vaak in meerdere games worden gebruikt. Gameplay-programmeurs hebben de neiging om code te schrijven die heel specifiek is voor het spel dat wordt gemaakt. En er is altijd overlapping – soms heb je voor het implementeren van de gameplay een nieuwe engine-code nodig.
Gameplay-codering is niet moeilijker of eenvoudiger dan engine-codering.Het is echter beslist een iets andere vaardigheidsset; je moet vaak creatiever zijn en in staat zijn om bodge oplossingen te vinden. Je doel is niet om het perfecte herbruikbare systeem te maken (het ideaal voor engine programmeurs), maar om de beste game-implementatie te creëren. Dus wat een troef kan zijn bij het programmeren van motoren (aandacht voor detail en goed ontworpen structuren), kan een belemmering zijn bij het programmeren van gameplay (waar aanpassingsvermogen en iteratietijd belangrijker zijn). Een goede gameplay-programmeur weet wanneer hij het goed moet doen (wanneer het ontwerp solide is en de code op veel plaatsen zal worden gebruikt), en wanneer hij het snel moet doen (wanneer het ontwerp nog wordt uitgewerkt en je code een goede kans heeft nadat ze zijn getest).
Bovenal moeten gameplay-programmeurs kunnen samenwerken met het ontwerpteam op een niveau dat engine-programmeurs niet hebben. Afgezien van de voor de hand liggende communicatieve vaardigheden, betekent dit dat je veel meer bekend moet zijn met andere game-ontwerpen dan engine-programmeurs, zodat wanneer een ontwerper zegt laat het werken als Zelda, je weet waar ze het over hebben.
Om te leren om een engine programmeur te zijn, zou je “dieper ingaan op een technologie en leren hoe het werkt, en misschien je eigen versie ervan implementeren; de game zou gewoon een arena zijn om de technologie te laten zien.
Om te leren gameplay-programmeur te worden, zou je de engine van iemand anders nemen en deze op zoveel mogelijk verschillende manieren gebruiken . Met andere woorden, als je een gameplay-programmeur wilt worden, maak games, niet technologie .
Antwoord
Precies zoals het klinkt, een programmeur die spelmechanismen implementeert en onderhoudt.
http://en.wikipedia.org/wiki/Game_programmer#Gameplay_programmer