I arbetsbeskrivningar ser jag ofta positioner som heter ”Gameplay Programmer.” Vad gör människor i den positionen?

Kommentarer

Svar

När företag pratar om att anställa en spelprogrammerare är det de talar om en programmerare som kommer att ansvara för koden som direkt berör på spelupplevelsen. Det vill säga, programmeraren kommer att vara ansvarig för att faktiskt konstruera spelen, snarare än motor eller större spelsystem. Men utöver det varierar saker och ting mycket:

Vissa företag förväntar sig att spelprogrammerare implementerar användargränssnittet . Vissa gör inte. Vissa företag förväntar sig att de implementerar AI-kod, andra inte. Vissa förväntar sig att de implementerar ljudkod, andra inte. För att vara ärlig är ”gameplay” i gameplay-programmerare bransch stenografi för ”allt som vi inte har anlitat en specialist att göra”. Så dessa programmerare måste vara väldigt mångsidiga och måste kunna lära sig nya discipliner snabbt.

Jag tillbringade nästan femton år som spelprogrammerare i den kommersiella industrin, i fem olika företag.

Min erfarenhet var att i vissa företag anses en spelprogrammerare vara en junior- eller nybörjarposition; programmerare som bara arbetar med ett enskilt spel, trots allt, behöver inte vara så sofistikerade som de som arbetar med system som behöver stödja många olika spel samtidigt, som motorprogrammerare behöver. I den här typen av företag, om en spelprogrammerare gör det riktigt bra, kan han befordras till motorteamet någon gång, om han kan bevisa sitt värde. Eller så kan han bli specialist, om han visar lämplighet för ett visst område.

I andra företag anses en spelprogrammerare vara en medelnivåposition; programmerare som arbetar med ett enskilt spel måste ha en del användbar erfarenhet och vara pålitlig. Ofarna programmerare kan få oönskade jobb att skära tänderna på (dataledningar, verktyg osv.), och så småningom få flytta upp till ett ”spelprogrammerare” -jobb. I den här typen av system, en spelprogrammerare som fortsätter att klara sig ganska bra kan gå upp i ett projekt dership-roll, eller annars på motorteamet.

I ännu andra företag är en spelprogrammerare anses vara en ledande befattning och också vara en halv designposition; dessa programmerare förväntas vara utmärkta, beprövade programmerare, men också ha starka designkänslor och kvalifikationer, eftersom de ”direkt berör koden som starkast påverkar spelarens erfarenhet av spelet. I denna typ av system kommer en riktigt bra spelprogrammerare sannolikt att förbli en spelprogrammerare för alltid – detta anses vara den mest värdefulla positionen som han kan fylla.

Som en allmän tumregel, desto bättre företagets spel, ju mer senior en position de anser att spelprogrammerare är (och därför desto svårare blir det vara att faktiskt landa ett sådant jobb).

Svar

Jag tycker alltid att det hjälper att illustrera med exempel.

  • En spelprogrammerare skulle få uppgifter i linje med: implementera närstridssystemet, implementera mekaniken för hälsregenerering eller implementera spelarens hoppkontroller.

  • En motorprogrammerare (vad du skulle kalla någon som inte specifikt var en spelprogrammerare) skulle få uppgifter i linje med: implementera uppskjuten belysning eller ett animationssystem eller ett nätverkslager.

Nyckeldistin ction är den av vem ”kunden” är. För spelprogrammerare är det designteamet – deras uppgift är att göra designen till verklighet. För motorprogrammerare är det i allmänhet andra programmerare . Motorprogrammerare tillverkar teknik och system, som spelprogrammerare och innehållsskapare sedan kan använda för att förverkliga designen.

Motorprogrammerare skriver kod som till stor del är spelagnostisk – samma teknik kan ofta användas i flera spel. Spelprogrammerare tenderar att skriva kod som är mycket specifik för spelet som görs. Och det överlappar alltid – ibland för att implementera spelet behöver du ny motorkod.

Spelkodning är inte svårare eller enklare än motorkodning.Det är dock definitivt en något annorlunda färdighet; du behöver ofta vara mer kreativ och kunna bodge lösningar. Ditt mål är inte att skapa det perfekta återanvändbara systemet (det perfekta för motorprogrammerare) utan att skapa den bästa spelimplementeringen. Så vad som kan vara en tillgång i motorprogrammering (uppmärksamhet på detaljer och väl konstruerade strukturer) kan vara ett hinder i spelprogrammering (där anpassningsförmåga och iterationstid är viktigare). En bra spelprogrammerare vet när man ska göra det rätt (när designen är solid och koden kommer att användas på många ställen), och när man ska göra det snabbt (när designen fortfarande är utarbetad och din kod har en god chans att kasseras en gång testat).

Framför allt måste spelprogrammerare kunna samarbeta med designteamet på en nivå som motorprogrammerare inte gör. Bortsett från de uppenbara kommunikationsförmågorna betyder det att du måste vara bekant med andra speldesigner mycket mer än motorprogrammerare gör, så att när en designer säger ”få det att fungera som Zelda” vet du vad de pratar om.

För att lära dig att bli en motorprogrammerare bör du lära dig mer om en teknik och lära dig hur den fungerar och kanske implementera din egen version av den; spelet skulle bara vara en arena för att visa tekniken.

För att lära dig att vara en spelprogrammerare skulle du ta någon annans motor och använda den på så många olika sätt som du kan . Med andra ord, om du vill vara spelprogrammerare, gör spel, inte teknik .

Svar

Exakt hur det låter, en programmerare som implementerar och underhåller spelmekanik.

http://en.wikipedia.org/wiki/Game_programmer#Gameplay_programmer

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *