Visst har man all rätt att vredgas över utvecklarteam som inte gjort noggranna tester av sitt verk. Men är kunskapen liten om ett spels olika utvecklingsfaser, från blyertsskisser till polygonmodeller, finns risken att man angriper fel personer med fel klagomål. Vem ska stå till svars om ett problem verkar ologiskt eller olösligt? Vem har slarvat när spelet och hårdvaran inte är riktigt överens?
Det enklaste sättet att bena ut svaren är att ta reda på vem som gör vad i utvecklingen och hur ett spel egentligen kommer till. Frågan tog mig till ett vinterkyligt mötesrum i centrala Stockholm. Där diskuterade jag spelutveckling, bland fantasymodeller och konsolkomponenter, med Robert Pettersson och Martin Waern på Grin.
EFTERTEXTER
I och med att spel blir större och tekniskt mer avancerade, blir eftertexterna löjeväckande långa. De stora utvecklarna verkar nästan slussa in resurser till avdelningar gällande precis allt från animation av smältande is, till catering. Varav alla är underställda den store visionären och auteurens vakande öga - producenten. Är studion av mindre storlek och manskapet mindre brukar dock ansvarsområdena överlappa varandra. Men kärnuppgifterna är desamma.
Varje spel har en game designer, personen som håller i trådarna. Game designern lägger upp en spelidé, står för större delen av manuset och handlingen, och måste sedan försöka styra in resten av teamet på samma spår.
Game designer har på senaste tiden blivit synonymt med producent. Självklart är det inte mer än logiskt att programmerare efter x antal år i branschen lyckas klättra högst upp på företagsstegen. Viktigt att komma ihåg är att en producent teoretiskt sett inte måste ha kunskaper inom spelprogrammering. Snarare om hur ett företag sköts.
Concept artists och grafiker sköter den visuella delen. Concept artists tar fram detaljerade ritningar på allt i spelet - karaktärer, vapen, fordon, växter, möbler. Det är också deras uppgift att göra målningar för kommersiellt syfte. Till exempel box art eller skisser att visa för tänkbara finansiärer.
Grafikernas uppgift å andra sidan är att visualisera konceptritningarna till användbara pusselbitar för scriptarna att jobba med. 3D-grafiker sköter, vilket hörs på namnet, utformningen av alla tredimensionella objekt och 2D-grafiker sköter platta objekt, till exempel texturer.
Grafikerna och concept artisterna basas ofta av en art director, den drivande kraften på den grafiska avdelningen.
Art directorn håller ett vakande öga på allt från menyernas look till texturteman. På små företag som Grin sköts dock all typ av grafisk visualisering av samma grafiker.
Programmerarna, människorna som sitter och stirrar in i spaltkilometer av kod, delas upp i två läger; programmerare och scriptare. Även här väljer många utvecklare att inte särskilja på typerna. Men det rör sig om två olika sysslor. Scriptare har en förenklad programmeringssyssla.
De tar grafikernas färdiga modeller, använder dem i spelet, bygger upp speldimensionen, bestämmer i vilken ordning allt händer i spelet, vilka dörrar som går att öppna och så vidare.
Innan scriptarna kan börja pussla ihop spelet måste programmerarna först se till att det överhuvudtaget går. En stabil grafikmotor måste matematiskt skruvas ihop och spelet måste vara kompatibelt med plattformen.
Hur ett spel funkar är en andrahandsprioritering för programmerare. Att det funkar är deras huvudansvar.
Ytterligare jobb finns det åt level designers som bygger upp banor, ljudmästare som sköter musik och ljud och animatörer för cut scenes. Sist till verket skrider testare, oftast utifrån, som spelar igenom spelet med den mest kritiskt möjliga blicken. Finkammar de spelets omgivningar ordentligt kan det bli mycket extrajobb för teamet. Har däremot ett halvdant jobb gjorts är det dem vi bör skylla ett spels buggar på.
FRÅN A TILL O
Tre stadier bockas av under utvecklingen: Alfa, Beta och Master. Lika många faser går utvecklingen igenom innan ett spel åker till tryck.
I designfasen formas idén till spelet. Game designern arbetar fram ett synopsis, en kort beskrivning av spelet med handling, mål, musik och utseende. Synopsis är både till för resten av teamet att veta vad de ska arbeta med och för att försöka väcka någon förläggares intresse. När en förläggare hittats kan noggrannare planering göras. Concept artists arbetar fram ritningar på exakt allt i spelet. Ska spelet ha en historia skrivs ett manus och ett schema för det fortsatta arbetet måste sättas upp.
För att inte rusa in i någon förhastad produktion sätter man upp klara mål och begränsningar som alla sedan jobbar efter i nästa fas; produktionsfasen.
Programmerare, grafiker, musiker och level designers sätter igång med sina arbeten och så småningom också scriptare. Om handlingen ska berättas med cut scenes, börjar animatörerna fila på dem. Allt görs parallellt.
Arbetet börjar sällan helt från grunden då spelmotorer kan återvinnas och anpassas efter speltypen.
Ungefär en femtedel in i produktionen börjar det bli tal om en första spelbar version, en alfakod. Opolerad och buggig fungerar den som en milsten mellan utvecklare och förläggare för att stämma av att arbetet går planenligt.
När produktionsfasen börjar lida mot sitt slut brukar nästa version av spelet, betan, vara färdig. Betan är i princip en opolerad master. Allt har nått slutfasen och inga nya element ska tillkomma.
I slutfasen åker sovsäckar och liggunderlag fram på kontoret. Det har blivit dags för crunchen, den sista och mest intensiva delen av utvecklingen. Under en kort men intensiv period måste allt vikas ihop och sättas på plats. Buggar ska bort, eventuella placeholders bytas ut och allt måste testas innan spelets slutliga version, mastern, når butikshyllorna.
Hur lång tid hela utvecklingen tagit beror till stor del på hur mycket pengar förläggarna varit villiga att skjuta till. Väljer de att göra en Tripple A-titel, spel som ska hårdlanseras, får utvecklarna en större budget och längre tid på sig. Men för en liten utvecklare som Grin är det ovanligt med Tripple A-titlar.
- Det är svårt att göra något nyskapande. Förläggare är sällan ute efter en nyskapande idé utan vill helst ha en vidareutveckling av ett redan populärt koncept. Så en Tripple A-titel är inte endast önskvärd för oss av ekonomiska skäl, utan också för ett ökat förtroende. Även om fler krav ställs på spelet lägger sig inte förläggarna i själva utvecklingen, förklarar Robert Pettersson.
PROBLEMLÖSNING
Tre timmar utvecklingssnack senare, börjar vi alla tre bli ganska möra och frusna i det lilla konferensrummet. Innan det blir dags att tänka på refrängen går vi in på själva roten av spelutveckling; problem. Hela utvecklingsprocessen i sig är en stor matematisk ekvation, med nya variabler som dyker upp varje dag.
Tid och pengar är ganska självklara problem som alla företag måste ta itu med. Det första problemet man som spelutvecklare oftast stöter på, är hårdvarans minne.
För mycket grafik och avancerade effekter belastar också processorn vilket gör bilduppdateringen hackig.
Den absolut enklaste metoden att hitta problem är förstås att låta testare spela igenom spelen grundligt på slutet. För att inte lämna för mycket av bakläxorna till crunchen kör man under hela utvecklingen regelbundna diagnoser med ett så kallat profileringsprogram. Profileraren synar spelet och visar sedan det som ett träd där scriptare eller programmerare går in på de grenar som blinkar rött.
Problemen är också relativa. Varje plattform har sina begränsningar och fördelar som måste tas i beaktande.
Konsoler har begränsningar, men en unison standard. Funkar det på en Xbox, funkar det på alla. Pc-datorer ger å andra sidan utvecklarna möjligheten att ta ut svängarna, samtidigt som det finns tusentals olika datortyper. Vid produktioner av pc-spel är därför hårdvarutester av stor vikt. Förutom det absolut, tipp topp, senaste ska spelet fungera på äldre burkar med olika sorters ljudkort, grafikkort och operativsystem.
Efter denna genomgång kan några bli blödiga och trappa ner på kritiken inför nästa inhandlat spel. Självfallet ska man ge varje spel och speltillverkare en chans.
Men glöm inte att inget - ingen bristande ekonomi, ingen försenad deadline, inget dåligt internt samarbete, ingen sömnlös natt - ursäktar ett dåligt spel.
Text och foto: Kasper Nowakowski
Artikeln finns att läsa i sin helhet i Player1 nummer 6 för 2004.
Här kan du prenumerera på tidningen.
Det här betyder orden
Rendering, scriptare, bump mapping. det kan vara lätt att gå vilse i djungeln av tekniska termer. för att rensa upp bland de tätbevuxna snåren har player1 sammanställt en liten ordlista med några av de vanligaste orden.
AI: Artificiell Intelligens, programmet som blåser konstgjort liv i en NPC.
BOT [roBOT]: En NPC med en AI som försöker efterlikna spelmönstret hos en mänsklig spelare. Ordet används nästan uteslutande inom förstapersonsskjutare.
Bump mapping: Teknik för att ge illusionen av tredimensionella detaljer i en tvådimensionell textur. Till exempel skrovlighet, vågor eller taggar.
DOF [Depth of Field]: Skärpedjup, en grafisk effekt som efterliknar en riktig kameras oförmåga att fånga alla objekt i en komposition med perfekt skärpa. Används numera flitigt i cut scenes.
Code/Kod: Slangord för textstycke med programspråk.
Crunch: Den sista och stressigaste utvecklingsfasen. Under crunchen prioriteras jobb framför sömn och personlig hygien.
Cut scene: Filmsekvens i ett spel. Kan antingen vara gjord med spelets egna grafik, in-game grafik, eller av förenderad CG grafik.
Dev: Förkortning av antingen development eller developer. "Devva" är svengelsk slang för att utveckla.
FOV [Field Of View]: Spelkamerans vinkel, det vill säga hur mycket man ser. Fungerar ungefär som en riktig kamera; är vinkeln för vid eller liten blir bilden förvrängd. I Need For Speed Underground till exempel är det en extrem vidvinkel som får gatorna att blixtra förbi när lustgasen kopplas in.
FPS [Frames Per Second]: Måttenhet på ett spels framerate, på svenska bilduppdatering. Ett spel med låg fps har en dålig bilduppdatering, vilket får spelet att "hacka". På en vanlig teve är 60 bilder per sekund maximal fps.
Fulhack: En temporär nödlösning på ett problem. Detta görs när tidsbrist uppstår och teamet behöver gå vidare med sånt som inte riktigt är klart. Fulhacken har man sedan för avsikt att byta ut i crunchen.
Halo/Glare/Flare: En bild satt vid en ljuskälla för att ge effekten av linsöverstrålning, upplysta konturer och dylikt.
HUD [Head Up Display]: All information som vanligtvis ligger i kanterna av spelskärmen. Livsmätare, ammunitionsmätare, val av vapen, karta, radar etc.
In-game: Händelse eller sekvens från ett spels spelbara delar, alltså inte mellansekvenser.
LOD [Level Of Detail]: Detaljnivå på modeller i spel. En oumbärlig teknik för att förbättra ett spels fps är att visa objekten med hög detaljrikedom först när de närmar sig spelarkameran.
Mocap: Förkortning av motion capture, en teknik för att spela in verkliga rörelser till modeller i spelet. I en kroppsdräkt utrustad med sensorer utför en person de önskade rörelserna, omringad av specialbyggda kameror. Sensorerna bildar sedan ett skelett som kan användas i spelets karaktärer.
Modell: Ett tredimensionellt objekt eller karaktär.
Motion blur: Rörelseoskärpa, en effekt som får objekt i hastig rörelse att se suddiga ut.
Motion trail: En grafisk effekt som får föremål och modeller att lämna spår efter sig i luften. Motion trail används ofta i fightingspel och kan ses bland
annat i Soul Calibur-serien.
NPC [None Player Character]: En med- eller motspelare som inte kontrolleras av spelaren.
Partiklar: En viktig beståndsdel i många grafiska effekter. Partiklar används till att göra eld, vattenstänk, gnistor, snö, blod m.m.
Placeholder: En temporär ersättare för ofärdiga objekt i ett spel. Scriptarna sätter in placeholders i spelet som grafiker sedan byter ut mot de färdiga objekten.
Polycount: Det samlade antalet polygoner på ett objekt, ett rum, en bana eller samtidigt i bild. Viktigt att utan sanningshalt skryta med när ny hårdvara lanseras.
Polygon: De trianglar (samt i vissa historiska sammanhang fyrkanter) som utgör ett 3D-objekts minsta beståndsdel. Var från början ofyllda, och har sedan utvecklats via enfärgade polygoner och texture mapping till dagens komplexa shaders.
Programmering/Programmerare: Hjärnorna bakom all mjukvaruteknik ett spel är byggt på. Programmerarna behöver egentligen inte bry sig om vad som ska hända i ett spel. Deras uppgift ligger i att det faktiskt kan hända. Grafiken måste renderas, spelet måste vara kompatibelt med hårdvaran och scriptarna måste ha komponenter att arbeta med.
Realtid: Realtid avser allt som inte är förrenderat. Ingame är ofta all grafik renderad i realtid, och många utvecklare gör påkostade realtids-cut scenes för att visa hur avancerad deras renderare är.
Rendera: När datorn räknar ut alla objekt och bakgrunder tillsammans med ljussättning och effekter så att det formar en bild. Bilder och filmsekvenser kan renderas antingen i realtid eller i förväg, beroende på ändamål - men trenden har länge gått mot att allt mer görs i realtid.
Scripting/Scriptare: Enklare men mer spelnära del i programmeringen av ett spel. Scriptare skriver instruktioner till spelmotorn som avgör vad som ska hända i spelet, samt när, hur och varför.
Shader: Dels avancerad texture mapping (pixelshading), dels en beskrivning av renderarens övergripande egenskaper (exempelvis "cel shading", en renderingsteknik som försöker efterlikna handtecknade bilder). En pixelshader kan kombinera vanlig texture mapping med bump mapping och reflektions- samt ljuseffekter för att åstadkomma mer naturtrogna och/eller fantastiska material, som inte var möjliga med gårdagens enkla texturer. Med s.k. multitexturing lägger man flera texturer med olika egenskaper på varandra för att åstadkomma ungefär samma sak.
Skybox/skysphere: En bild som ligger runt spelvärlden för att skapa djup och utrymme, i form av exempelvis en himmel.
Spelmotor: Spelets hjärta och hjärna som hanterar alla script och sköter renderingen. Ett spel utan motor är som en bil utan motor; en kaross som står stilla.
Sprite: Sprite kan ha två betydelser beroende på om det är ett 3D- eller 2D-spel. I 3D-termer är en sprite en yta alltid vänd mot kameran, även kallad billboard. Den vanligare betydelsen av sprite förekommer dock i 2D-sammanhang, då man avser ett tvådimensionellt objekt som är fritt rörligt över skärmen.
Texture mapping: Teknik för att lägga en bild på en polygon.
Voice Over: Allt inspelat tal som används i spel. Utförs på samma sätt som i animerad film. Skådespelare spelar in all dialog i en studio och det är sedan upp till scriptarna att placera in dialogen i spelet.
Volumetrisk skuggning: En processorintensiv teknik som ger skuggor "volym" och tillåter att de med realistiskt resultat följer alla detaljer i bilden.

















































