Udvikling af computerspil er processen med at skabe computerspil.
Udviklingen af computerspil kan udføres af en person eller af en virksomhed (team af udviklere). Kommercielle spil er skabt af udviklingsteams ansat af samme firma. Virksomheder kan specialisere sig i produktion af spil til personlige computere , spillekonsoller eller tablet-computere . Udviklingen kan være finansieret af et andet, større firma - forlaget . I slutningen af udviklingen distribuerer forlaget spillet og påtager sig de dermed forbundne omkostninger. Den modsatte tilgang er en sådan udvikling, når virksomheden selvstændigt (uden deltagelse af udgivere) distribuerer kopier af spil, for eksempel ved hjælp af digital distribution .
De største budgetspil kan koste titusinder af amerikanske dollars at udvikle , og i løbet af de sidste 2 årtier er disse budgetter vokset støt, ligesom antallet af udviklingshold og udviklingstider. Så i slutningen af halvfemserne kunne et spil til PlayStation-konsollen til slutkøberen laves af et hold på 10 personer om året, til PlayStation 2 (første halvdel af 2000'erne ) et hold på 30-50 personer og to års udvikling var nødvendige, i 2012 tale Det handlede allerede om teams på over 100 udviklere og en periode på omkring tre år. Ifølge Alex Moore, en spildesigner hos Sumo Digital , ville spil i 2012 koste $1.800, hvis prisen på et spil til slutforbrugeren voksede i samme forhold; med andre ord, for at få indtjent øgede budgetter og samtidig bevare de samme priser i butikkerne, skal forlag sælge mange flere kopier af spil [1] .
Et stort budgetspil til to platforme - Xbox 360 og PlayStation 3 - kostede i gennemsnit $20 millioner i 2012, og for at det kunne betale sig, skulle det sælge omkring to millioner eksemplarer [2] .
I begyndelsen af 1980'erne, med fremkomsten af de første hjemmecomputere og videospilkonsoller , kunne en enkelt programmør klare næsten alle de opgaver, der var involveret i spiludvikling. Moderne spiludvikling kræver en bred vifte af færdigheder og supportpersonale. For at arbejde på ét projekt kræves hele teams, som normalt omfatter repræsentanter for en række specialiseringer.
Spiludvikling overvåges af interne og eksterne producenter [3] [4] . Eksternt er dem, som udgiveren har tildelt udviklingsteamet for at kontrollere udviklingsfremskridt og overvåge budgetudgifter [5] . Interne producenter er dem, der arbejder i studiet, der udvikler spillet. De administrerer udviklingsteamet, tidsplaner, fremskridtsrapporter, ansætter og tildeler medarbejdere og så videre [4] [6] . Producentansvar omfatter public relations , forhandling, kontraktunderskrivelse, kommunikation mellem personale og interessenter, tidsplan og budgetvedligeholdelse, kvalitetssikring, beta-test og lokaliseringsstyring [4] [7] . En person med denne stilling kan også omtales som en projektleder, projektleder eller direktør [4] [7] .
Et computerspilsudgiver er en virksomhed, der udgiver/udgiver computerspil. Spil kan enten være skabt af et forlag eller udviklet af et andet firma. Ligesom bog- eller dvd-filmudgivere er computerspilsudgivere ansvarlige for produktion og markedsføring af deres produkt, herunder markedsundersøgelser og alle aspekter af annoncering.
Typisk finansierer udgivere udvikling, nogle gange ved at betale en computerspiludvikler (udgiveren kalder dette outsourcet udvikling), og nogle gange ved at betale et internt udviklingspersonale kaldet et studie. Derfor har de også en tendens til at eje rettighederne til spillet. Store pc-spilsudgivere distribuerer også de spil, de udgiver, mens nogle mindre udgivere i stedet hyrer distributionsselskaber (eller større pc-spilsudgivere) til at distribuere de spil, de udgiver.
Andre funktioner, der typisk udføres af en udgiver, omfatter betaling for enhver licens, spillet bruger (musiklicens, brandinglicens osv.), betaling for lokalisering af spillet, oprettelse af grafiske designelementer såsom designet af spillets æske og cover, og etc.
Store udgivere kan også forsøge at øge effektiviteten på tværs af alle interne og eksterne udviklingsteams ved at levere tjenester såsom lyddesign og kodepakker til offentlige funktioner.
Da udgiveren normalt finansierer udviklingen af spillet, forsøger de normalt at styre udviklingsrisikoen med producenterne eller projektlederne. Dette giver dig mulighed for at overvåge udviklingen af udviklerne og om nødvendigt hjælpe. De fleste pc-spil lavet af en tredjepartsudvikler betales med periodiske forskud til royalties . Disse forskud udbetales, når udvikleren når bestemte udviklingsmilepæle.
Uafhængige udviklere skaber spil uden en udgiver og kan vælge deres egen distributionsmetode. Nogle gange henvender uafhængige udviklere sig til udgivere for at hjælpe dem med at promovere og/eller distribuere et spil.
Udviklingsteams kan variere i størrelse fra små teams på to eller tre personer, der laver afslappede spil derhjemme, til hundredvis eller endda tusindvis af medarbejdere, der skaber spil i stor skala [8] . Virksomhederne deler delopgaverne med spiludvikling. De enkelte stillinger kan være forskellige, men rollerne i branchen er de samme [9] . Udviklingsteamet består af flere medarbejdere [10] . Nogle af dem kan have flere roller; på samme måde kan flere opgaver udføres af den samme person [9] . Holdets størrelse kan variere fra 20 til 100 eller flere personer, afhængigt af spillets omfang. Mest af alt i holdet af kunstnere, så programmører, så spildesignere, så lydspecialister, samt to-tre producere, der overtager ledelsen. Folk i disse stillinger arbejder fuld tid. I andre stillinger, såsom testere, kan medarbejdere være ansat på deltid [11] . Lønningerne for disse stillinger afhænger af medarbejderens erfaring og placering. Lønnen for en nybegynder programmør i USA er i gennemsnit omkring 70.000 dollars om året, og lønnen for en erfaren programmør er 125.000 [12] .
Udviklingsteamet omfatter stillingerne anført nedenfor [9] .
SpildesignerEn spildesigner er en person, der designer gameplayet ved at udtænke og designe spillets regler og struktur [13] [14] [15] . Udviklingsteams har normalt en ledende spildesigner, som koordinerer arbejdet for andre spildesignere. Det er dem, der har den bedste forståelse af, hvordan spillet vil være [16] . En af en spildesigners opgaver er at tænke over, hvordan historien vil foregå i spillet, tænke over dialoger, kommentarer, cut-scenes , spilemballage ved salg, tips og så videre [17] [18] [19] . I store projekter er der ofte separate spildesignere til forskellige dele af spillet, for eksempel en spildesigner til spilmekanik , brugergrænseflade , karakterer , dialog osv.
KunstnerKunstneren tegner, hvordan spillet vil se ud [20] [21] . I kunstafdelingen er der som udgangspunkt en direktør eller leder, som også er med til at sikre, at visionen om spillet blandt kolleger er sammenfaldende. Direktøren leder afdelingen, planlægger og koordinerer deres handlinger inden for hele udviklingsteamet [20] .
En kunstners værk kan være 2D- eller 3D-orienteret . 2D-kunstnere kan skabe konceptkunst [22] [23] , sprites [24] , teksturer [25] [26] , baggrunds- og terrænbilleder [22] [26] og brugergrænseflade [24] . 3D-kunstnere kan skabe modeller eller mesh [27] [28] , animationer [27] , 3D-miljøer [29] og kinematik [29] . Kunstnere udfylder nogle gange begge roller (2D og 3D).
ProgrammerEn spilprogrammør er en softwareingeniør , der primært udvikler computerspil eller relateret software (såsom spiludviklingsværktøjer ). Alt arbejde med kildekoden udføres af programmører [30] [31] . Typisk er der en eller flere ledende programmører [32] , som implementerer den indledende kodebase , planlægger projektets fremtid og koordinerer andre programmører.
En spilprogrammør kan have travlt med at udvikle aspekter såsom [30] :
En niveauspildesigner er en person, der skaber niveauer , mål eller missioner for computervideospil ved hjælp af spiludviklingsværktøjer eller andre programmer [33] [34] . Disse kan være offentligt tilgængelige kommercielle 3D- eller 2D-designprogrammer eller specialdesignede niveaueditorer, der er oprettet til et bestemt spil.
Niveauspildesignere arbejder med både ufærdige og færdige versioner af spillet. Spilprogrammører udvikler normalt niveaueditorer og spiludviklingsværktøjer, som niveauspildesignere kan bruge. Dette sparer spildesignere fra at skulle få adgang til eller ændre spilkoden. Spildesignere kan bruge et programmeringssprog på højt niveau og/eller scriptet til at definere interaktionen mellem spilleren og AI. I modsætning til niveauredigeringsværktøjerne, der nogle gange er tilgængelige for spillerfællesskabet, arbejder niveauspildesignere ofte med håner og prototyper, der sigter mod konsistens og layoutklarhed, og dette arbejde kan udføres, før illustrationen er færdig.
LydteknikerLydteknikere er teknikerne, der er ansvarlige for lydeffekterne og lyden gennem hele spillet. De styrer nogle gange skabelsen af stemme og andre lydsæt [35] [36] . Komponister, der skaber den musikalske del af spillet, er en del af udviklingsteamet, der arbejder med lyd, selvom dette arbejde ofte er outsourcet . Spilskabere bestiller også musik fra musikproducenter.
TesterKvalitetssikring udføres ved test. Testeren analyserer computerspillet og dokumenterer de defekter og fejl , han finder , hvilket er en del af hele kvalitetskontrolprocessen. Testning kræver generelt god computerviden og analytisk kompetence [26] [37] .
Testerne tjekker, at spillet matcher det, der er designet: det skal fungere efter hensigten og være sjovt for spilleren [38] . Dette inkluderer test af alle funktioner, kompatibilitet, lokalisering osv. Selvom test er nødvendigt gennem hele udviklingsprocessen, kan det være dyrt og bruges ofte kun aktivt under projektafslutning.
En spilmotor er et sæt programmer, der udfører de mest komplekse, ressourcekrævende og rutinemæssige opgaver, som alle spilprogrammører tidligere har stået over for. Grafikoutput, pathfinding, konvertering af modeller fra 3D-editorer til spillet, fysikberegninger, kollisionsberegninger, optimering af brugen af processorressourcer og meget mere, som tidligere krævede et ikke skrøbeligt matematisk apparat fra spilprogrammøren og viden om en lav- sprog på niveau, der er det mindst CPU-intensive - nu tilgængeligt lige ud af æsken
Siden omkring 2010'erne har der været en eksplosiv stigning i kvaliteten og faldet i prisen på spilmotorer, hvilket gør det muligt for spilprogrammøren at fokusere på at skabe spilmekanik, outsource implementeringen af grafik, fysik, lyd, netværkskode og andre komplekse ting. til skaberne af spilmotorer. Politikken for virksomheder, der producerer de mest massive spilmotorer, er rettet mod at maksimere fremtidige og almindelige spilprogrammørers fortrolighed med deres motor, hvilket skaber en gunstig situation for virksomheden på arbejdsmarkedet.
I dag, takket være spilmotorer, er en nybegynder programmør, uden dyb viden om matematik, programmeringssprog, uden særlige økonomiske omkostninger, i stand til at forsøge at skabe et spil, der ikke er ægte efter standarderne fra begyndelsen af 2000'erne - forudsat at han finder ud af en kunstner og en spildesigner.
Da hele teams af udviklere har arbejdet på spil, er det blevet nødvendigt at dokumentere udviklingsprocessen. På den ene side letter dette til en vis grad søgningen efter kolleger og investeringer, på den anden side giver det dig mulighed for at planlægge et budget og koordinere udviklingen. Indholdet og listen over dokumenter varierer betydeligt afhængigt af udviklerens niveau, men her er 3 hoveddokumenter:
Spiludviklingsprocessen omfatter normalt følgende trin:
Faserne kan variere afhængigt af virksomhedens præferencer og projektets karakteristika.
Efter at den oprindelige idé med spillet har taget form, er det nødvendigt at vurdere produktionsrisici og budgetter og løse personaleproblemer.
Den nødvendige mængde indhold tages i betragtning, tids- og pengeomkostningerne for det er estimeret. Det afgøres hvilket niveau og hvor mange kunstnere og hvor længe det kræves at hyre til spillet. Der er et valg af den bedst egnede spilmotor til spillet, niveauet af grafik, som det vil trække, er estimeret. Niveauet af spilprogrammører vurderes, om de kan trække den mest kritiske spilmekanik til spillet, AI og så videre. Der skabes prototyper af de mest kritiske spilfunktioner.
Der udarbejdes et polygonalt budget - hvor mange polygoner kan bruges på spilentiteter, hvor mange entiteter kan være samtidigt i rammen, hvor mange polygoner kan der efterlades til miljøet. I tilfælde af et multiplayer-spil evalueres serverens potentielle ydeevne: hvor mange spillere kan være i den 1. session, hvor mange spillere kan placeres samtidigt på en shard. Der udarbejdes et økonomisk budget: hvor meget bruger vi om måneden på kunstnere, spildesignere, programmører; Hvor mange måneder vil det tage at udvikle sig?
I det mere almindelige tilfælde, hvis bygherren og udgiveren er forskellige virksomheder, skal ideen foreslås ledelsen, godkendes og forelægges forlagene til overvejelse. En fungerende demo kan hjælpe her, men det kræves ikke af en velrenommeret udgiver med et godt omdømme. Findes et interesseret forlag, kan produktionen begynde. I dag er ideen om et spil sjældent overbevisende, medmindre udgiveren er interesseret i det.
Hvis udvikleren også er udgiver, eller hvis de begge er afdelinger i samme virksomhed, er det kun topledelsen, der skal give godkendelse. Afhængig af forlagets størrelse kan der dog gå adskillige forsøg, indtil ideen rejser sig gennem alle ledelseslagene.
Repræsentanten for projektet er normalt en spildesigner , men det kan også være en person fra spilindustrien i enhver anden stilling. Før fuldskala produktion begynder, skal spildesigneren skrive et designdokument , et detaljeret dokument, der beskriver konceptet og gameplayet . Det kan også indeholde nogle foreløbige skitser (skitser, tegninger) af forskellige aspekter af spillet. Nogle spildesignere inkluderer endda en groft fungerende prototype i designdokumentet, der viser et eller flere aspekter af spillet. Typisk kombinerer et designdokument alle eller de fleste af materialerne i det originale design. Designdokumentets hovedtræk er dets "levende" - faktisk bliver det ikke færdiggjort, før spillet er under udvikling. Det kan ændre sig hver uge, nogle gange hver dag. Derfor, selvom et designdokument skal eksistere i en eller anden form, før fuldskala produktion begynder, er det næsten aldrig et komplet design, selvom det kan beskrive mange aspekter af alle stadier af et fuldt designet spil.
Inden et godkendt design er tilgængeligt, kan kerneteamet af programmører og kunstnere begynde at arbejde med ideer. Programmører kan udvikle indledende prototyper for at demonstrere en eller flere funktioner, som nogle forhandlere ønsker at se i spillet. Eller de begynder måske at udvikle en ramme, som i sidste ende vil blive brugt af spillet. Kunstnere kan tegne skitser som et springbræt til at udvikle rigtige spilaktiver. En producent kan arbejde deltid på et spil i starten, men øger hans arbejdsbyrde, efterhånden som udviklingen skrider frem.
På stadiet af hovedproduktionen udføres en enorm mængde arbejde. Programmører skriver kildekode , kunstnere tegner grafik ( sprites eller 3D-modeller af spilelementer). Lydteknikere udvikler lydeffekter, og komponister skriver musik til spillet. Niveaudesignere skaber niveauer, og forfattere skriver dialog til scriptede scener og NPC'er .
Alt imens tilføjer og ændrer spildesigneren spildesignet for at afspejle spillets nuværende vision. Nogle funktioner eller niveauer kan blive fjernet, nogle tilføjet. Kunstnerisk fortolkning kan udvikle sig, og plottet (forhistorien) kan ændre sig. Der kan både være en ny målgruppe og en ny målgruppe . Alle disse ændringer skal dokumenteres, og de fleste af dem skal fremgå af designdokumentet.
Med hensyn til tid tager spillets første niveau længst tid at udvikle sig. Da niveaudesignere og kunstnere bruger værktøjerne til at skabe niveauer, kræver de funktioner og ændringer af de interne værktøjer. Med introduktionen af nye funktioner kan nogle niveauer blive forældede, så der kan laves forskellige rettelser til spillets første niveau. På grund af spiludviklingens dynamiske natur kan designvisionen på første niveau desuden ændre sig over tid. Det er ret almindeligt at bruge mere end 12 måneder på første niveau for i alt tre års spiludvikling. Efterfølgende niveauer kan udvikles meget hurtigere, efterhånden som listen over funktioner bliver mere komplet, og spillets vision bliver klarere.
Testere deltager i spillet, når noget "spilbart" dukker op. Det kan være et niveau eller en delmængde af spillet, som kan bruges på enhver rimelig måde. Tidlig test af et spil tager en relativt lille brøkdel af en enkelt testers tid; testere kan være ansvarlige for flere spil til enhver tid. Efterhånden som udviklingen nærmer sig sin afslutning, kan ét spil begynde at optage al testernes tid - og endda overarbejde - når de forsøger at teste nye funktioner, som der er regressionstest for . I dag er test afgørende for spil, fordi en enkelt ændring på grund af kompleksiteten af de fleste af dem kan føre til katastrofale konsekvenser.
I det sædvanlige tilfælde består support i at frigive patches for at rette fejl fundet efter spillets udgivelse. Men i tilfælde af massivt multiplayer online-spil (MMO'er) , kan support svare til eller endda overgå produktionen i både arbejdskraft og tid, da en succesfuld MMO konstant skal udvikle sig og udvide for at undgå spillerafgang.
Nogle aspekter af computerspilproduktion, såsom at skabe og vælge musik og lyde, stemmeskuespil eller motion capture, kræver ofte store og ikke altid passende økonomiske investeringer, som måske ikke er overkommelige for udvikleren (dette kan kun være effektivt, hvis udvikleren skaber flere spil på samme tid og har interne afdelinger til gennemførelse af konkrete opgaver). Det er ikke rentabelt for virksomheder at ansætte medarbejdere til at udføre disse opgaver, så de fleste udviklere tyr til tjenester fra co-executors for at fuldføre en del af deres projekt - de outsourcer dem [39] [40] .
Planer for outsourcing overvejes på præproduktionsstadiet; det er herefter, at de nødvendige tids- og økonomiske omkostninger til det arbejde, der skal udføres uden for udviklingsselskabet, beregnes.