Spelutveckling genom problembaserat lärande i den allra första ...
Spelutveckling genom problembaserat lärande i den allra första ...
Spelutveckling genom problembaserat lärande i den allra första ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Spelutveckling</strong> <strong>genom</strong><strong>problembaserat</strong> lärande i<strong>den</strong> <strong>allra</strong> förstahögskolekursenThomas Larsson & Rikard LindellInstitutionen för datavetenskap (IDt)Mälardalens högskola (MdH)17 augusti 2004
FörordI ett led att förnya våra utbildningar mot ett bredare utbud med mer attraktivaoch tvärvetenskapliga program så startade vi ett nytt utbildningsspår inomramen för datalogiprogrammet, 120–160 poäng höstterminen 2003. Cirka 30 avde nya stu<strong>den</strong>terna valde att följa <strong>den</strong> nya inriktningen. För att erbjuda dessastu<strong>den</strong>ter något nytt redan från början, i enlighet med deras intresse, valdevi att radikalt förändra kursupplägget på <strong>den</strong> första kursen Introduktion tilldatavetenskap, 5p. Genom att arbeta i projektform med <strong>problembaserat</strong> lärandelät vi stu<strong>den</strong>terna utveckla ett eget datorspel efter egna idéer och med egenvaldaverktyg. Detta angreppssätt kändes lite vågat, med tanke på att det var <strong>den</strong><strong>allra</strong> första kursen och att ingen tidigare programmeringserfarenhet krävdes avstu<strong>den</strong>terna, men i slutändan visade det sig vara ett utmärkt sätt att lägga uppkursen på. Vilken tur att vi vågade prova!Vi vill speciellt tacka studierektor och kursansvarig Filip Sebek för ett fintsamarbete, din flexibilitet och <strong>den</strong> uppmuntran du gav då det gällde att <strong>genom</strong>förakursens med olika spår, där vi med våra stu<strong>den</strong>ter fick fria händer attarbeta med <strong>problembaserat</strong> lärande. Som vi alla närvarande vid det avslutandeseminariet i kursen kunde erfara, så var resultatet väl värt <strong>den</strong> möda och detextra arbete som det heterogena kursupplägget innebar. Vi riktar även ett tacktill Dan Levin för dina värdefulla kommentarer för att förbättra <strong>den</strong>na rapport.Slutligen, vill vi framförallt rikta ett speciellt tack till stu<strong>den</strong>terna på kursen,som med sin entusiasm och sitt hårda arbete presterade klart bättre än vi hadevågats hoppas på. Ni gjorde det till ett nöje för oss att få vara med i kursen.Hoppas ni fortsätter i<strong>genom</strong> utbildningen med samma glöd!Thomas Larsson & Rikard LindellVästerås, 16 augusti, 20043
INNEHÅLL 77 English is Fun 737.1 Inledning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737.2 Projektplan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 747.2.1 Olika typer av spel . . . . . . . . . . . . . . . . . . . . . . 757.2.2 Hur ska man definiera ordet spel? . . . . . . . . . . . . . 757.3 Vilka kriterier måste ett spel uppfylla? . . . . . . . . . . . . . . . 757.3.1 Vilka spelgenres finns det? . . . . . . . . . . . . . . . . . . 757.3.2 Vad skiljer datorspel från andra spel? . . . . . . . . . . . 757.4 Vad är det som gör ett spel bra? . . . . . . . . . . . . . . . . . . 767.5 Konceptprototyp . . . . . . . . . . . . . . . . . . . . . . . . . . . 767.6 Konceptutvärdering . . . . . . . . . . . . . . . . . . . . . . . . . 767.7 Implementering . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777.8 Utvärdering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787.9 Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
8 INNEHÅLL
Kapitel 1Upplägg, pedagogik, ochprojektuppgiftThomas Larsson och Rikard Lindell1.1 InledningProblembaserat lärande (PBL) har blivit ett begrepp på allas läppar och dethar rönt ett enormt intresse i delar av högskole- och universitetsvärl<strong>den</strong>, trotsatt de flesta anser att det inte är enklare eller sparar tid att <strong>genom</strong>föra kursermed hjälp av <strong>den</strong>na pedagogik. Framförallt har man tagit till sig PBL medöppna armar inom vård- och medicinutbildningar. PBL har även spridit sig tillexempelvis agronom-, lärar-, ekonomi- och juristutbildningar [29, 17].Även om problembaserad metodik på senare år har brett ut sig så finnsdet fortfarande ett behov av att variera <strong>den</strong> traditionella undervisningen medmer <strong>problembaserat</strong> lärande. Möjligheterna för detta inom vårt ämnesområdedatavetenskap är många och de fördelar som PBL kan ge bör undersökas ochutnyttjas. Ett nytt grepp på vårt Datalogiprogram, 120–160 poäng, är att bygga<strong>den</strong> <strong>allra</strong> första högskolekursen kring PBL. Vi har provat detta i vår förstakurs Introduktion till datavetenskap, 5 poäng. Kursen gavs på halvfart undertidsperio<strong>den</strong> 26 augusti till 22 oktober, 2003.Introduktionskursen innefattar moment som introduktion till användning avdatorer, datorns uppbyggnad, operativsystem och olika applikationsprogram ianvändarens perspektiv, problemlösning vid programkonstruktion, samt träningi skriftlig och muntlig framställning. Vi valde att använda en större projektuppgiftsom <strong>genom</strong>fördes med hjälp av PBL, omfattande fyra högskolepoäng. Denresterande poängen omfattade en första introduktion till programmeringsteknikmed Java, och <strong>den</strong> delen <strong>genom</strong>fördes på ett traditionellt sätt med föreläsningaroch laborationer.Syftet med <strong>den</strong>na rapport är att beskriva projektuppgiftens <strong>genom</strong>förandeoch de resultat som nåddes. Uppgiften gick ut på att stu<strong>den</strong>terna skulle utveckla9
10 KAPITEL 1. UPPLÄGG, PEDAGOGIK, OCH PROJEKTUPPGIFTen prototyp för ett datorspel, där de själva definierade vilket slags datorspel devill göra. Notera att det går bra att utveckla ett datorspel med hjälp av särskildaverktyg även om man som stu<strong>den</strong>t saknar tidigare programmeringserfarenhet,och trots att endast fyra heltidsveckor stod till förfogande.I de resterande avsnitten i detta kapitel ges först en kort beskrivning av PBLsom pedagogisk metodik, och sedan ges en mer detaljerat beskrivning av projektuppgiften.De resultat som stu<strong>den</strong>terna nådde presenteras sedan översiktligt,och kapitlet avslutas med våra slutsatser om kursens <strong>genom</strong>förande.I de efterföljande kapitlen återges stu<strong>den</strong>ternas egna projektrapporter, vilkatjänar som illustrativa och detaljerade exempel på hur spelutveckling kan gå tillutifrån olika perspektiv och förkunskaper, samt vilka resultat som kan erhållasunder ett utbildningsprograms introduktionskurs.1.2 Problembaserat lärandeProblembaserat lärande är en pedagogisk metod som bygger på att stu<strong>den</strong>ternasinlärning huvudsakligen sker <strong>genom</strong> aktivt arbete med realistiska och meningsfullaproblem. Ett större ansvar läggs på stu<strong>den</strong>terna, där de själva söker efterrelevant kunskap och sedan utvärderar och lär sig det som problemet kräver.Stu<strong>den</strong>terna samarbetar oftast i mindre arbetsgrupper eller basgrupper, där problemlöses, arbetet fördelas och olika strategier och lösningsförslag diskuterasoch ventileras.En eller flera lärare fungerar som handledare för basgrupperna och deltarvanligtvis i basgruppsmötena. Lärarens roll blir således handledarens ochrådgivarens med ämnesexpertis. Bland handledarens uppgifter innefattas ävenatt ett övergripande praktiskt ansvar tas då det gäller att balansera medverkanoch arbetsbörda för stu<strong>den</strong>terna i gruppen, hålla stu<strong>den</strong>terna kvar på ett rimligtspår, verka som medarbetare och kunskapssökare tillsammans med stu<strong>den</strong>terna,samt också bedöma och examinera.Handledarbegreppet markerar att det finns en tydlig skillnad gentemot <strong>den</strong>traditionella lärarens roll som ledare, instruktör och kunskapsförmedlare. Handledarensmål är istället att ‘leda vid han<strong>den</strong>’ och underlätta processen där stu<strong>den</strong>ternasjälva tar ansvar och initiativ för lärprocessen [13].En av de främsta fördelarna som brukar nämnas med PBL är att meto<strong>den</strong>främjar det livslånga lärandet. I dagens högteknologiska och föränderligasamhälle efterfrågas ny kunskap allt oftare, vilket sätter förmågan att ständigtutvecklas och lösa nya problem med hjälp av nyinhämtad kunskap i centrum.En annan fördel som brukar tas upp är att PBL bidrar till djupinlärning, ibjärt kontrast till att stu<strong>den</strong>ter endast läser för att kunna besvara vissa frågorpå en tentamen och sedan relativt snabbt glömmer bort vad de lärt sig, s.k.ytinlärning [27]. Ytterligare andra förväntade fördelar med PBL är att det ledertill ökad problemlösningsförmåga, högre grad av likhet mellan studieti<strong>den</strong>s arbetssättoch det i det efterföljande yrkeslivet, bättre förmåga att arbeta i teamoch förbättrad interpersonell kommunikation [29].
1.3. PROJEKTUPPGIFT 111.3 ProjektuppgiftProjektuppgiften gick ut på att stu<strong>den</strong>terna skulle utveckla en prototyp förett eget datorspel, efter en egen idé. Det var alltså projektgruppens uppgiftatt själva initialt definiera ett lämpligt projekt. Det föreslogs att spelprojektetkunde utföras inom ramen för någon av följande genrer:1. Arkadspel2. Puzzles3. Brädspel4. Rollspel5. Edutainment/UtbildningUtvecklingsprojektet skulle drivas av ett team bestående av cirka fyra personer.Gruppmöten anordnades regelbundet varje vecka, där också någon av lärarnadeltog som rådgivare och handledare.Innan det <strong>allra</strong> första mötet och innan stu<strong>den</strong>terna definierat några detaljerför sitt eget projektarbete, gavs följande frågor ut som en förberedelseuppgift föratt få igång stu<strong>den</strong>terna i ett så tidigt skede av kursen som möjligt och för attgöra diskussionen vid det <strong>allra</strong> första gruppmötet mer givande och innehållsrikt:1. Hur skall man definiera ordet spel?2. Vilka kriterier måste ett spel uppfylla?3. Vilka spelgenrer finns det?4. Vad skiljer datorspel från andra spel?5. Vilka är de klassiska datorspelen?6. Vad är det som gör ett spel bra?Stu<strong>den</strong>terna uppmuntrades att söka svar <strong>genom</strong> att jämföra egna erfarenhetermed <strong>den</strong> information som de kunde finna <strong>genom</strong> litteratursökning efter böcker,artiklar och webbsidor.1.3.1 ExaminationOmfattningen av projektet motsvarade fyra högskolepoäng, det vill säga 160timmar effektiv tid per person. Totalt hade teamet således 640 timmar till sittförfogande (beräknat på 4 deltagare).För att bli godkänd på projektet krävdes, förutom att var och en muntligtkunde redogöra för sin del i grupparbetet, ett aktivt och konstruktivt deltagandevid projektmötena, samt i slutändan också att varje grupp lämnade in envälskriven rapport som på ett övertygande sätt beskrev utvecklingsarbetet frånidé till en färdig spelbar prototyp av spelet. Dessutom krävdes att projektarbetetpresenterades vid ett seminarium inför lärare och övriga kursdeltagare.
12 KAPITEL 1. UPPLÄGG, PEDAGOGIK, OCH PROJEKTUPPGIFT1.4 UppgiftsbeskrivningSom stöd för arbetet gavs en uppgiftsbeskrivning ut där olika moment i utvecklingsarbetetbeskrevs översiktligt. Dessa moment beskrevs såsom de återges i deföljande avsnitten.1.4.1 ProjektplanProjektplanen skall innehålla en projektspecifikation där projektets inriktning,syfte och mål beskrivs på ett översiktligt sätt. I planen anges även milstolparför projektets <strong>genom</strong>förande med tydliga delmål. Där anges också vilka metoderni tänker använda för att uppnå delmålen, som till exempel brainstorming föratt kläcka idéer om spelet. Observera att projektplanen skall vara ett levandedokument som ni uppdaterar under arbetets gång vartefter det går framåt. Niskall också kunna visa upp dokumentet för ansvarig lärare under kursens gångså att det kan användas som ett diskussionsunderlag.1.4.2 LitteraturstudieNi förväntas göra en litteraturstudie, där ni tar reda på vilka typer av spel detfinns och vad de har för kännetecknande drag. Verifiera er egen spelidé och sätt<strong>den</strong> i relation till vad som tidigare gjorts med hjälp av böcker, rapporter, etc.Utnyttja också att ni har tillgång till bibliotekets artikeldatabas som ni finnervia högskolebibliotekets hemsida (www.mdh.se/bib/).1.4.3 KonceptprototypInnan ni ger er i kast med själva “programmeringen” så ska ni strukturera upphur spelet ska fungera. Det finns flera användbara metoder för detta, en ärstoryboarding. Dokumentera det ni kommer fram till samt varför.1.4.4 KonceptutvärderingAnalysera er konceptprototyp. Hur bra fungerar <strong>den</strong> och hur väl stämmer <strong>den</strong>överens med er idé? Förutom att ni analyserar prototypen tillsammans i gruppen,bör ni även vidga er och tala med andra utomstående personer om speletsupplägg och funktion för att få värdefull feedback eller återkoppling.1.4.5 ImplementationNär ni väl vet hur ert spel ska fungera, försök att skapa en fungerande prototyp.Ni kan använda olika multimediaverktyg för detta, som till exempel MacromediaFlash och Tribeworks iShell. Grafiskt innehåll kan ni skapa med till exempelGIMP eller Adobe Photoshop, och/eller <strong>genom</strong> att teckna eller använda digitalkamera.För er som redan kan programmera finns även Visual Basic, Java ochC/C++ att tillgå.
1.5. RESULTAT 131.4.6 UtvärderingUtvärdera ert spel. Några av de parametrar ni kan undersöka är spelglädje,originalitet, belönande, utmanande, hur lättlärt och estetiskt spelet är. Funderaockså över vilka andra parametrar man bör titta på och varför.1.4.7 RapportenVarje grupp skall redovisa projektarbetet i en tilltalande rapport om cirka 7–10sidor. Rapporten ska på ett strukturerat sätt beskriva hur ni har <strong>genom</strong>förtprojektet, vilket resultat ni uppnått och vilka slutsatser ni kan dra. Rapportenska även omfatta redogörelse för <strong>den</strong> teori ni lutar er mot, till exempel så skani redogöra för <strong>den</strong> genre ni valt och vad <strong>den</strong> omfattar.Iaktta god sed för rapportskrivandet, både när det gäller ämnesmässigt innehålloch språkbruk. Illustrera rapporten med bilder ur er applikation. Ta förvana att referera till passande litteratur som ni har använt er utav. Att däremotkopiera text eller bilder från olika källor är absolut förbjudet. En del praktiskaoch allmänna instruktioner för rapportskrivning finns i dokumentet Tekniskrapportskrivning - en kortfattad handledning [26]. Endast välskrivna rapporterkommer att godkännas.Observera också att rapporten ska skrivas med hjälp av L A TEX, eftersomvi planerar att sammanställa samtliga rapporter till ett enhetligt dokument.Rapporten skall slutligen lämnas in till någon av lärarna, dels utskriven påpapper och dels elektroniskt. Bifoga både själva källfilerna till rapporten samtslutresultatet i pdf-format (packa ihop filerna ni ska lämna in i en zip-fil).1.4.8 PresentationenFörutom <strong>den</strong> skriftliga rapporten, så krävs det att projektuppgiften presenterasmuntligt inför de övriga kursdeltagarna. Beskriv ert projekt. Berätta om ambitionenoch hur ni tyckte det gick, problem ni stötte på, hur ni löste dom, etc.För presentationen tillhandahålls dator samt videoprojektor så att er prototypkan demonstreras.Presentationen skall vara 10 minuter lång. Efter detta får ni ytterligare 5minuter till ert förfogande för att svara på frågor. Alla gruppmedlemmarnaskall vara med och presentera. Notera att endast väl förberedda och <strong>genom</strong>fördapresentationer kommer att godkännas och att det är obligatorisk närvaro underhela presentationstillfället.1.5 ResultatAv totalt åtta projektgrupper, så blev sju grupper färdiga med arbetet i tid såatt de kunde <strong>genom</strong>föra presentationen och demonstrationen av sitt utveckladedatorspel vid seminariet. Den nivå som dessa grupper nådde upp till överträffadegenerellt sett våra förväntningar. I vissa fall var <strong>den</strong> färdiga prototypen riktigtbra och <strong>den</strong> var helt klart ett resultat av engagerat arbete och gott samarbeteinom gruppen. I en grupp tog man till och med fram ett omslag till spelet ochtryckte upp särskilda tröjor med spelets titel på inför presentationen. I figur 1.1visas en bild tagen på presentation på två av medlemmarna i <strong>den</strong>na grupp.Sex av de åtta inlämnade rapporterna, finns återgivna i de följande kapitlen i
14 KAPITEL 1. UPPLÄGG, PEDAGOGIK, OCH PROJEKTUPPGIFTFigur 1.1: Två av stu<strong>den</strong>terna vid presentationen av projekten.<strong>den</strong>na rapport. De två utelämnade rapporterna behövde fortfarande justeras närstu<strong>den</strong>ternas rapporter förbereddes för att infogas som kapitel i <strong>den</strong>na rapport,vilket gjordes i december 2003.De flesta grupperna valde att utveckla någon form av actionspel (4 st.), mendet fanns också grupper som valde alternativ inom äventyrs- eller rollspelgenren(3 st.). En grupp valde att utveckla ett utbildningsprogram i ämnet engelska.Följande spel utvecklades av de olika projektgrupperna under kursen:1. flood’Ed, ett arkadspel där Ed’s uppgift är att rädda <strong>den</strong> översvämmadeplaneten Colouria.2. Cathexis, ett arkadspel där ett rymdskepp skall styras <strong>genom</strong> en slalomliknandebana på så kort tid som möjligt.3. Nomad, ett arkadspel av typen shoot’em’up, där asteroider måste skjutassönder för att rädda jor<strong>den</strong>.4. P.I.M.M.P.0.1, ett scrollande actionbaserat plattformsspel som utspelarsig i en framtid där maskiner och robotar hotar att utplåna jor<strong>den</strong>.5. DALO: The Return of the Evil Phös, ett äventyrsspel där Greger, en avnollorna som precis börjat på datalogiprogrammet, är på jakt efter <strong>den</strong>försvunna DALO-vagnen.6. English is fun, ett utbildningsspel för att lära ut engelska på ett lekfulltsätt för barn i åldrarna 9–13 år.7. Quests for glory, ett fantasibaserat rollspel där spelarna förflyttar sig påen karta efter bestämda vägar ungefär som i klassiska icke datorbaseradebrädspel.
1.6. DISKUSSION 158. Epica, ett turbaserat strategispel där striderna utkämpas i form av miniarkadspelinternt i spelet.Se de följande kapitlen för detaljerade upplysningar om de sex första av de ovannämnda projekten.1.6 DiskussionSom handledare kunde vi tydligt känna stu<strong>den</strong>ternas entusiasm och kreativitetinför uppgiften. “Vi har en skitball story” utropade t.ex. en stu<strong>den</strong>t entusiastisktvid ett tillfälle. Stu<strong>den</strong>ternas förmåga att realisera sina idéer överstiger enligtvår mening vida de förväntningar vi hade på stu<strong>den</strong>terna vid kursens start.Stu<strong>den</strong>terna har i de flesta fall visat prov på god kunskap i hur man arbetari projekt. I några enstaka fall visade det sig också att stu<strong>den</strong>ter redan hadeerfarenhet av PBL. En stu<strong>den</strong>t skrev exempelvis:Det var ett väldigt roligt projekt, just därför att man i gruppenhade så stor frihet att göra precis vad man ville. Eftersom jag ochen annan i gruppen redan i gymnasiet arbetat med arbetssättet PBLvar det inga som helst problem att utforma en projektplanering ochse till att <strong>den</strong> hölls. Handledaren var väldigt positiv, handledarenreflekterade sina åsikter över spelet och var väldigt optimistisk, ochdetta ‘pushade’ alla i gruppen till att arbeta mer och fullända spelet.De flesta av stu<strong>den</strong>ternas kommentarer uttryckte sig i positiva ordalag om attarbeta i grupp och sättet som kursen <strong>genom</strong>fördes på. Man menade t.ex. attdet var ett bra sätt att förbereda sig för arbetslivet, att det var en av de bästainlärningsformerna, att det gav mer än att bara plugga till en tenta, etc.Men det fanns även en del andra stu<strong>den</strong>ter som uttryckte en mer förvånadoch avvaktande inställning till kursens upplägg. “Jag tycker det var lite konstigtatt det inte var några föreläsningar, t.ex. om spel eller om hur man lägger uppett spelprojekt”, skrev en stu<strong>den</strong>t. En annan tyckte t.ex. att arbetsfördelningeninom gruppen inte hade varit rättvis, och att handledningen inte var handledningutan i själva verket endast en kontroll att gruppen jobbade.Föreläsningarnas vara eller inte vara kan naturligtvis diskuteras. Vid dettatillfälle valde vi att använda oss av vissa traditionella föreläsningar som stöd förprojektarbetet. Dessa föreläsningar behandlade bl.a. rapportskrivning, presentationsteknik,problemlösning, och programmeringsteknik. Vi upplever att dessaföreläsningar har varit ett bra komplement och stöd för en del av stu<strong>den</strong>terna.Men projekten och de problemställningar de där ställs inför har naturligtvisen avgörande roll för hur man tar till sig de föreläsningar som erbjuds, samthur de värderas. Medvetet valde vi dock <strong>den</strong>na gång att inte ha föreläsningardirekt inriktade på speldesign och spelutveckling, eftersom vi ville undvika attdäri<strong>genom</strong> styra stu<strong>den</strong>ternas val av metoder och verktyg. De olika lösningarnastu<strong>den</strong>terna har tagit fram, med hjälp av helt olika verktyg, visar att <strong>den</strong>nastrategi fungerade. De olika projektgrupperna fick däri<strong>genom</strong> också möjlighetenatt i högre grad lära sig av varandras olika metoder och lösningar, <strong>genom</strong> ettutbyte av olika erfarenheter mellan grupperna.Gruppdynamik, samordningssvårigheter och konflikter kan naturligtvis uppstå,men detta kan ses som ett tillfälle till lärande i sig, där man måste lära sig
16 KAPITEL 1. UPPLÄGG, PEDAGOGIK, OCH PROJEKTUPPGIFTatt ta itu med problemen som uppstår i tid och på ett så smidigt sätt sommöjligt. Sådana problem är en del av verkligheten även i yrkeslivet. Självklartär det fel när vissa stu<strong>den</strong>ter åker snålskjuts på bekostnad av andras hårda arbete.Att man upplever det som att handledaren inte bidrar kan också bero påflera saker. Här är en öppen kommunikation om vars ens roll central. Det kanockså vara upp till gruppen själv att se till att använda sig av handledaren somen medarbetare och resurs.En annan intressant aspekt som vi kunde lägga märke till under kursensgång var hur flera projektgrupper stötte på problem som de verkligen villelösa men som de ansåg sig sakna tillräckliga förkunskaper för att kunna hinnamed att sätta sig in i. I ett av projektet stötte man t.ex. på matematiskaproblem med rotationsmatriser som de inte rådde på. “Vi måste prata medmatteläraren”, utropade man. Detta gav oss ett utmärkt tillfälle att motiveraoch väcka förväntningar för innehållet i kommande kurser i matematik påprogrammet.Vissa stu<strong>den</strong>ter uttryckte också att de saknade tillgång till relevanta referensböcker.De uppmanades då att försöka söka rätt på några boktitlar somde trodde att de skulle kunna få stor nytta av. Detta ledde till att några avde föreslagna böckerna omedelbart köptes in till högskolans bibliotek för attkunna nyttjas i kursen. Två av de inköpta böckerna, handlade om datorspelenshistoria [23, 16], och dem fick en stu<strong>den</strong>t rekommenderade <strong>genom</strong> personligkorrespon<strong>den</strong>s via e-post med en expert på området på ett annat universitet.1.7 SlutsatserDet finns starka indikationer på att ett projektarbete enligt <strong>den</strong> pedagogiskamodell vi har haft för kursen Introduktion till datavetenskap bidrar till attstimulera och sporra stu<strong>den</strong>terna till att göra mer och anstränga sig utöver vadsom ger ‘godkänt’. Detta kom framförallt till uttryck vid demonstrationen avde utvecklade spelen. Vissa av de implementerade spelen överträffade vida våraförväntningar. De var helt klart ett resultat av entusiastiska, intresserade ochmålmedvetna stu<strong>den</strong>ters engagerade arbete.Det verkar också som att projektformen hjälper till att överbrygga de olikakunskapsklyftorna inom projektgrupperna. Stu<strong>den</strong>terna från dagens gymnasieskolaär en mycket heterogen grupp och vi kan inte förvänta oss att de alla skapassa in i samma förkunskapsmall. I projektarbetet har dessa olikheter varit tillgagn för projektet. Samtidigt som man har hjälp varandra och samarbetat, harvissa inom gruppen kunnat utnyttja sin specialkompetens till att exempelvisskapa tilltalande animationer, bakgrundsmusik eller specialeffekter.Avslutningsvis så vill vi säga att det var ett sant nöje att få närvara ochse stu<strong>den</strong>ternas överlag mycket entusiastiska och väl förbereda presentationervid det avslutande seminariet i kursen. Det kändes i luften att kursen var verkligtmeningsfull och betydelsefull för stu<strong>den</strong>terna. Vi känner starkt för dettaupplägg på kursen och kommer att använda en liknande metodik i kommandeintroduktionskurser.
Kapitel 2flood’EdKristian Karlberg, Andreas Wangler, Hugo Andersson, Andreas Liljekvist ochJon Nyström2.1 InledningFigur 2.1: Startbil<strong>den</strong> i flood’Ed.2.1.1 UppgiftDenna rapport kommer att avhandla det arbete som utförts under kursen ”Introduktiontill Datalogi, med inriktning datorspelsutveckling”(kurskod: CD5600).Målet med kursen var att, i projektgrupp, utarbeta en originell datorspelsprototyp.Syftet var att lära oss att arbeta i projektgrupp, samt erhålla en inblickoch få erfarenhet i hur man skapar en datorspelsprototyp.17
18 KAPITEL 2. FLOOD’EDArbetet skulle utföras under en tidsperiod om fem veckor. Under <strong>den</strong>na periodskulle kontinuerliga möten med kursansvarig hållas samt en projektplan utarbetas.Arbetet skulle utföras i projektgrupper á fyra personer. En konceptprototypavsågs utarbetas där spelidén samt spelmomenten skulle fastställas. Vidareförväntades spelet, i <strong>den</strong> mån det fanns tid och kunskap, utvecklas till en spelbardatorspelsprototyp. Kursansvarig gav olika förslag till spelgenrer, däribland: Arkad,pussel, rollspel och brädspel. Förslag gavs också till olika tillvägagångssättför implementation av konceptprototypen, dessa var: Macromedia Flash, TribeworksiShell, emacs och SDL. För skapande av grafiken förslogs program som:Adobe Photoshop, Macromedia Flash och GIMP.2.1.2 Rapportens uppbyggnadFörst i rapporten avhandlas spelidén och konceptprototypen. Därefter följerrubriken Metoder som har delats upp i tre avsnitt: Programmering, Ljud/Musikoch Grafik. Där beskrivs vilka metoder vi arbetat med under projektet. Sist irapporten finns slutsatsen som tar upp gruppens utvärderingar och slutsatserav projektet och spelet.2.2 Avhandling2.2.1 KonceptprototypProjektgruppen, bestående av Kristian Karlberg, Jon Nyström, Andreas Wangler,Hugo Andersson och Andreas Liljekvist, startade projektet <strong>genom</strong> att skapaen spelidé, grun<strong>den</strong> till en konceptprototyp. Vi utförde detta <strong>genom</strong> att undernågra möten diskutera fritt runt alla aspekter av spel, både datorspel ochsällskapsspel/brädspel. Vi diskuterade vad som gjorde olika spel underhållandeoch vad hos dessa som lockar och roar spelaren. Utifrån frågor som vi fått i uppgiftatt diskutera och reflektera runt skapades automatiskt en grund för våranspelidé. Frågorna och de svaren vi kom fram till följer nedan:• Hur skall man definiera ordet spel?Ordet spel definierar vi som en samling viktiga karaktärsdrag.Karatärsdragen är: Belöning, stimulans, problem/hinder, mål och interaktivitet.Dessa karaktärsdrag anser vi uppfylls av alla sorter av spel, bådedatorspel, sällskapsspel och brädspel. Vi anser också att sporter, så somfotboll och golf uppfyller dessa.• Vilka kriterier måste ett spel uppfylla?Vi tycker att alla spel måste i sina fundament uppfylla de karaktärsdragsom vi i ovanstående fråga formulerat. Utöver dessa karaktärsdrag finnsinga fler kriterier.• Vad skiljer datorspel från andra spel?Återigen refererar vi till första punkten. Enligt <strong>den</strong>na analys finns detingen skillnad i fundamenten mellan spel och datorspel.• Vad är det som gör ett spel bra?Ett bra spel är, enligt oss: Underhållande, har lång livslängd, har brakontroller och en varierande svårighetsgrad.
2.2. AVHANDLING 19• Vilka spelgenres finns det?Role Playing Game - Rollspel. Spel med karaktärsutvecklingbaserat på personegenskaper.Ex. Final Fantasy, Baldur’s Gate.Simulator - Spel som försöker simulera verkligheten.Ex. The Sims, IL2.Action- Spel med högt tempo, ofta våldsamma.Ex. Half-life, Counter Strike.Arkad- Äldre spel i 2D, ordet kommer frånspelmaskiner i arkadhallar.Ex. Space Invaders, Astroids.Äventyr- Story- och problemlösningsbaserade datorspel.Ex. Monkey Island, Grim Fandango.Strategi- Spel där strategi och taktik spelar störst roll.Oftast fältslagsspel.Ex. Starcraft, Risk.Plattform - Spel med gränsnitt oftast i 2D. Plattformsspelen ärnästan alltid sidscrollade.Ex. Super Mario Bros, Sonic The Hedgehog.Sport- Spel som i grun<strong>den</strong> simulerar en sport.Ex. Fifa2003, NHL 2003.Förutom de svar vi diskuterat fram ovan, som gav oss en grund för hur datorspelär uppbyggda, lade projektgruppen också stor vikt vid egenskapen “originell” ikursbeskrivningen. Tanken var att vi inte skulle plagiera ett redan existerandespel utan skapa ett nytt koncept.Våran spelidé utformades runt några viktiga stolpar som vi satte upp förvåran egen del. Dessa stolpar var:• Våldsfritt: Vi ville gå en annan väg istället för att, som flertalet spel idag,göra våldsspel.• Ljud: Alla i projektgruppen lade stor vikt vid ljud och musik. Vi taladeom att använda ljud som ett spelmoment.• Barnvänligt: Det inte bara i avsakna<strong>den</strong> utav våld utan också barnvänlighumor, glada och varma färger och mjuka former.• Färger: Vi ville att färger skulle utgöra en viktig del av vårat spel.Våran färdiga konceptprototyp, som döpts till flood’Ed, går ut på att man styrkaraktären Ed, se Förord, i sin farkost som störtat i vattnet. Hans uppgift, föratt rädda sig själv från planeten Colouria, är att stoppa översvämningen. Dettagör han <strong>genom</strong> att fylla vatten i behållare som gör att vattennivån sjunker. Dessabehållare kräver en specifik vattenfärg som slumpmässigt bestäms för varjebehållare. Vattnet färgar Ed <strong>genom</strong> att fånga de färgade bubblor som stiger frånColourias kärna. Två av dessa bubblor blandas ihop för att få någon av de sexnyanser som finns i spelet.
20 KAPITEL 2. FLOOD’EDFigur 2.2: De sex olika nyanserna.För att klara av en bana skall Ed få vattennivån att sjunka tillräckligt mycketför att kunna korka igen <strong>den</strong> läcka som hela ti<strong>den</strong> får vattnet att stiga. Gör haninte detta kommer vattnet stiga över farkosten och spelet är förlorat. En saksom hjälper Ed är de s.k. “Good Bubbles” som ger Ed olika positiva effektersom t.ex. bredare vattenstråle. Hinder som försvårar Ed’s uppgift är t.ex. enfågel som hotar att krocka med behållarna och tömma ut vattnet ur dessa ochen fisk som kan spräcka de färgade bubblor och de “Good Bubbles” som stigerupp ur Colouria. För bild på spelet, se [Bilaga 2.4.3: Spelbild].Vi gjorde ett flödesschema, en konceptprototyp, baserad på händelserna ispelet [Bilaga 2.4.4 – 2.4.6]. Denna konceptprototyp stämde bra överens medvåra tidigare utsatta stolpar. Det enda som inte kom med var användandet avljud som ett spelmoment.För att i detta tidiga stadium kunna urskilja huruvida konceptprototypensom färdig produkt skulle komma att vara underhållande analyserade vi <strong>den</strong><strong>genom</strong> att ställa <strong>den</strong> mot följande punkter.• Belöningen ges av att: ta sig vidare, klara spelet, få hög poäng ochfånga “Good Bubbles”.• Stimulansen ges av: Belöningen, bra musik, enkelt interface och tilltalandefärger.• Hindren ges av att: vattnet stiger, vattenbehållarna rör sig och attfågeln och fisken förstör.• Målet är att: ta sig vidare, få högst poäng och klara spelet.Efter <strong>den</strong>na utvärdering av konceptprototypen ansåg vi <strong>den</strong> färdig, vi övergicktill implementation.
2.2. AVHANDLING 21Figur 2.3: Bild från spelet.2.2.2 MetodUnder utvecklingen av spelidén bestämde projektgruppen att flood’Ed skullekomma att bli ett arkadspel.Ett arkadspel är ett spel som är “level-baserat”, d.v.s. att spelet har enstegrande svårighetsgrad. Arkadspel saknar oftast helt, eller har en väldigt klenhandling och spelen är ganska korta. Arkadspel är monotona i <strong>den</strong> benämningatt variationen mellan banorna är väldigt liten. Grafiskt är arkadspel uteslutandeuppbyggda av pixlar i 2D-miljö. Den Artificiella Intelligensen (AI), d.v.s.datorns förmåga att på ett intelligent sätt räkna ut spelarens nästa drag, är hosarkadspel klent utvecklad.Idag görs inte arkadspel i samma utsträckning som för tio till femton årsedan. Dagens arkadspel görs nästan bara till portabla spelmaskiner så somGame Boy Advance. Anledning till att vi valde arkadspel var för att de idag,med de kunskaper arbetsgruppen ägde, var det alternativet som låg närmast tillhands.Genom att se till stora spelföretag och <strong>genom</strong> logiskt tänkande avgjordeprojektgruppen att alla medlemmarna inte kunde vara med att göra allt i spelet.Vi delade därför upp gruppen i de tre viktigast arbetsområ<strong>den</strong>a inom ettdatorspelsutvecklingsprojekt, dessa var:• Programmering - Hugo Andersson, Andreas Liljekvist• Ljud/Musik - Andreas Wangler• Grafik - Kristian Karlberg, Jon Nyström
22 KAPITEL 2. FLOOD’EDProgrammeringPå grund av tidigare erfarenhet valdes C++ som programmeringsspråk. C++är ett snabbt och objektorienterat programmeringsspråk och är därför bra förspelutveckling. Som utvecklingsmiljö användes Dev C++ [3] eftersom det ärgratis. För grafiken använde vi oss av Simple DirectMedia Layer (SDL) [7], somär ett grafiskt paket till C++. SDL är ett s.k. open source, d.v.s. det är gratis,och eftersom ko<strong>den</strong> är fri finns det mycket färdiga funktioner att använda sigav. SDL hanterar ocskå ljud, musik och timers.Det första som gjordes inom programmeringen var att en grund lades efter<strong>den</strong> konceptprototyp som tidigare gjorts [Bilaga 2.4.4: Konceptprototyp]. Dettagjordes för att programmerarna skulle kunna förutse hur mycket och vad somskulle komma att behöva kodas. Programmerarna delade upp arbetet sinsemellanoch stämde kontinuerligt av sina individuella koder med varandra.Kodningen skedde <strong>genom</strong> användningen av klasser och färdiga funktioner.En main-fil skapades och runt <strong>den</strong>na byggdes header-filer. En färdig funktionför hanteringen av grafiken, en sprite-klass, hämtades från “Cone3D Programming”[14]. Sprite-klassen förenklar grafisk framställning och hanterar saker sompekare till frames och hastigheter för animationer och bakgrundsbilder.Några större problem uppstod under programmeringen. T.ex. <strong>den</strong> vattenstrålesom Ed’s kanon skulle skjuta mot behållarna. Denna stråle skulle påverkasav planetens gravitation men någon sådan matematisk algoritm kunde inte lösas.Flera förslag på lösningar fanns, delvis en som gick ut på en rak linje somstudsade mot väggarna. Strålen skulle sedan följa linjen samtidigt som <strong>den</strong>naförflyttades neråt i y-led. Detta skulle ge strålen en bågformad bana med kollisionsmöjligheter.Dessvärre blev aldrig någon algoritm för strålen färdig. Entillfällig lösning skapades istället. Detta var att vattenstrålen istället skjuts utsom en vattenbubbla. Bubblan påverkas ej av graviationen och färdas därför ien rak linje.Ljud/MusikNär musiken komponerades var vatten en stor inspirationskälla. Gruppen kändeatt musiken inte fick vara för snabb och stressig, vi ville komponera musik somendast låg i bakgrun<strong>den</strong> och inte tog över spelet. Musiken skulle kännas somen naturlig del i spelet och inte stressa spelaren. För att minimera chansen attmusiken skulle komma att kännas påfrestande för spelaren fick musiken intevara allt för upprepande samt trummorna inte för tydliga.Vid skapandet av musiken i flood’Ed användes eMagic’s Logic Platinum5.2.0. Instrumenten som användes är alla olika plugins som finns i Logic. Deanvända instrumenten är software-syntar och en trummaskin. Det gjordes ävenett “plopp”-ljud som var avsett för Ed’s kanon.Musiken “bouncades” till en wave-fil, d.v.s filen görs om från midi-fil tillwave-fil, för att kunna implementeras i spelet.GrafikSom vi tidigare fastslagit skulle grafiken vara av ett glatt, varmt och mjukt slag,spelet bestämdes också att gå i en ljus nyans. Vi ville ge spelaren en behagligoch positiv upplevelse när <strong>den</strong>ne spelade flood’Ed.
2.3. SLUTSATS 23Vi ville också få en tecknadfilm- och arkadkänsla över grafiken. För att lyckasmed detta skissade vi först all grafik med blyerts. Dessa skisser överfördes sedantill Adobe Photoshop 7.0, som är ett bildbehandlingsprogram. Skisserna omarbetades,färglades, färdigställdes och animerades för att kunna implementeras iko<strong>den</strong>. De grafiska filerna sparades i formatet bitmap, BMP. Detta format valdesdå det är det enda format som SDL stödjer. BMP har fördelen att bilderna intekomprimeras, när bilder komprimeras kan originalbil<strong>den</strong> komma att försämras.Figur 2.4: “Game Over”2.3 SlutsatsSpelet är i skrivande stund inte fulländat, följande är färdigställt:• När man startar spelet visas en bild som illustrerar Ed när han störtarmot Colouria.• Behållarna kan fyllas så att vattennivån sänks.• Ed’s farkost kan styras horisontellt och skjuta vattenbubblor i nio olikariktningar.• En animerad fisk och en animerad fågel simmar och flyger fram och tillbakaöver skärmen. Dock utan att förstöra något.• En musikslinga spelas upp under spelets gång.• Den spelbara nivån kan både vinnas och förloras.• När man förlorar spelet visas en game over-bild.• All grafik är gjord men är ej än implementerad i spelet.Flood’Ed är för tillfället likt det klassiska arkadspelet Arkanoid. Detta mycketp.g.a. att bubblan från Ed’s kanon skjuts i raka banor. Likheten ligger ocksåi att man styr farkosten horisontellt.
24 KAPITEL 2. FLOOD’EDProjektplanen vi fastställde under ett tidigt skede hjälpte oss att <strong>genom</strong>föraprojektet [Bilaga 2.4.1: Projektplan]. I <strong>den</strong>na bestämde vi när viktiga delar iprojektet skulle vara färdiga. För att ytterligare organisera projektet bestämdegruppen att hålla möten två gånger i veckan där allt arbete som <strong>genom</strong>förtssen sist sammanställdes [Bilaga 2.4.2: Sammanställning av gruppmöten]. Pådetta sätt höll sig alla i projektgruppen aktiva och projektplanen följdes. Underutvecklingen av våran konceptprototyp hade vi också ett möte med en av deandra projektgrupperna. Tanken var att vi skulle utbyta arbetssätt, erfarenheteroch lösningar på olika problem som vi stött på hittills i arbetet. Tanken var godmen resultatet av mötet var inte vad vi tänkt oss. Kanske delvis för att vikommit längre i arbetet än <strong>den</strong> andra gruppen.För programmerarna var ti<strong>den</strong> för knapp och ribban för hög. Detta resulteradei att vi inte kom lika långt som vi önskade. Delar av det som fanns med ikonceptprototypen kom inte med i <strong>den</strong> slutgiltiga spelprototypen.Projektgruppen är enig om att fortsätta att utveckla flood’Ed och implementerade idéer som vi har men som vi inte hade tid eller kunskap att implementeraunder kursens gång. Vi tror att flood’Ed har en god potential att bliett underhållande spel.2.4 Bilagor2.4.1 ProjektplanNedan presenteras <strong>den</strong> projektplan som tagits fram.11/9-4/105/106/10-8/109/10-12/1013/10-21/10- Utveckling av kod, grafik och musik- Eventuella litteraturstudier- Bearbetning av idéer, kod, grafik och musik- Möte med annan grupp (för att ge och ta konstruktiv kritik)- Grafik klar och inlagd i spelet- Spelet fungerande- Musik klar och inlagd i spelet- Speltestning- Utomstående som testar och bedömer spelet- Bearbetning av eventuella buggar- Bearbetning och utveckling av bristeri spelet med grund i bedömningarna från utomstående testare- Sammanslaggning av anteckningar- Diskussion runt rapportskrivning- Rapportskrivning- Framarbetning och färdigställande av muntlig redovisning
2.4. BILAGOR 252.4.2 Sammanställning av gruppmötenHär är en sammanställning av de datum projektgruppen träffats samt en kortbeskrivning av vad mötet handlade om.26/827/830/831/81/92/98/911/915/918/922/925/929/95/108/10- Vi utarbetade <strong>den</strong> grundläggande spelidén.Våra nyckelord var: Icke-våldsinriktat, färger, ljud och originalitet.-Vi diskuterade de frågor vi av lärare blivit tilldelade.1. Hur skall man definiera order spel?2. Vilka kriterier måste ett spel uppfylla?3. Vilka spelgenres finns det?4. Vad skiljer datorspel från andra spel?5. Vad är det som gör ett spel bra?- Vi fortsatte här med vidareutveckling av idéerna vi fått på 26/8.Spelet börjar här likna mycket av det som vi håller på att utveckla nu.- Ett sista idémöte.- Första mötet med lärare.Enskilt möte med gruppen efteråt. Genomgång av det som sades under mötet med läraren.- Utvärdering av våran spelidé. Vi utvärderade våran spelidéefter de kriterier som vi själva satt upp, <strong>den</strong> 27/8,för vad ett spel är och vad det är i ett spel som gör det bra.- Andra mötet med lärare.- Enskilt möte med gruppen efteråt.- Färdiga koder uppvisade.- Färdig grafik uppvisad.- Fastställning av projektplan.- Fastställning av spelmodell.- Updatering av varandras arbete- Tredje mötet med lärare- Fjärde mötet med lärare- Vi lyssnade på musikförslagen.- 5:e mötet med lärare. Musiken fastslogs- 6:e möte med lärare- Förberedning av rapportskrivning.
26 KAPITEL 2. FLOOD’ED2.4.3 SpelbildFigur 2.5: Skärmdump.
2.4. BILAGOR 272.4.4 KonceptprototypFigur 2.6: Konceptprototyp.
28 KAPITEL 2. FLOOD’ED2.4.5 Konceptbild 1Figur 2.7: Tidig konceptbild.
2.4. BILAGOR 292.4.6 Konceptbild 2Figur 2.8: Tidig konceptbild.
30 KAPITEL 2. FLOOD’ED
Kapitel 3Cathexis - ett annorlundaspelkonceptJoakim Östlund, Patrik Lindegrén och Joacim Ahlberg3.1 IntroduktionInnan projektet kunde börja var vi tvungna att bestämma en del praktiskadetaljer, såsom spelgenre, speltyp och mål. Efter en överläggning bestämdes attarkadspelsgenren var <strong>den</strong> mest lämpade. Arkadspel är någorlunda simpla i sinuppbyggnad, och går att skapa inom en rimlig tidsperiod, utan att man för<strong>den</strong> sakens skull behöver offra spelkänsla eller innehåll. Andra genres som t.ex.pussel har liknande egenskaper, men kräver en mycket längre designprocess föratt få ihop material nog att kunna göra ett lagom stort projekt, vilket skulleha resulterat i uppoffringar i <strong>den</strong> färdiga produkten. Rollspelgenren var snabbtutesluten på grund av dess komplexa uppbyggnad.Nästa steg var att bestämma vilken speltyp, eller subgenre, som skulle följas.Det finns flera olika aspekter att ta med vid ett sådant beslut, både vad det gällermöjlighet att bli färdig med spelet, utmaning att skapa det, samt intresse attspela det. Vi vände oss därför till dom klassiska spelen för att få inspiration, dådessa oftast har en bra spelkänsla, och är tillräckligt simpla designmässigt, såatt det är rimligt att anta att spelet blir färdigt. Det som nu återstod var attvälja ut en speltyp som var tillräckligt expanderbar, för att tillåta oss att skapaett unikt spel, samt utmanade nog att producera att motivationen att göra sittbästa inte försvann, vilket kan hända om en uppgift blir för enkel. Vi tittadepå en del ”stationära” spel, som ”Space Invaders”, men fann att det skulle gåför fort att producera, samt att det var svårt att tillföra något nytt. Liknandeproblem fanns med att göra ett ”Asteroids” liknande spel, där det redan finnsen mängd kloner, som alla är i stort sett i<strong>den</strong>tiska. I slutändan blev det ettspel liknande ”Xevious” [10], där man rör sig över ett stort (större än skärmen)landskap i en farkost. Denna typ av spel är både utmanande att skapa och spela,31
32 KAPITEL 3. CATHEXIS - ETT ANNORLUNDA SPELKONCEPTsamt ger tillräckligt med utrymme att sätta en personlig prägel på det.Det sista steget var att komma fram till vad som skulle skilja spelet frånmäng<strong>den</strong>, mer än grafiken. Detta visade sig vara det svåraste steget, och detdröjde innan vi var klara med det. Grundidén är <strong>den</strong>samma, där reaktionsförmågaoch taktiskt tänkande belönas, men till skillnad från det klassiska spelsättet därdetta görs <strong>genom</strong> våg efter våg av någon sorts fiender, som skall förstöras, måsteman flyga i<strong>genom</strong> kontrollpunkter, och göra det så fort som möjligt.Spelet är ett arkadspel där spelaren ska flyga ett rymdskepp <strong>genom</strong> en slalomliknandebana bestående av kontrollpunkter. Målet är att flyga i<strong>genom</strong> bananpå så kort tid som möjligt. Missas en kontroll så åker spelaren tillbaka enbit och förlorar på så sätt tid. Ti<strong>den</strong> sparas i slutändan om spelaren slagit sigin på topplistan. Gruppen blev väldigt nöjd med resultatet av arbetet som varett fullt fungerande spel med hög nivå på grafik, ljud och spelkänsla.Rapporten kommer startas med en kort <strong>genom</strong>gång av spelgenren. Däreftergår <strong>den</strong> i<strong>genom</strong> designen av spelet, implementationen samt slutligen en utvärderingav projektet.3.2 SpelhistorikArkadspelen har sina rötter i 1970-talet, då företag försökte komma på nyasätt att dra förtjänst av dom nya IC kretsarna som hade börjat komma in påmarkna<strong>den</strong>. De första att våga sig på <strong>den</strong>na outforskade genre var Nutting Associates,som skapade spelet ”Computer Space”, baserat på boken ”Spacewar”.Spelet blev i det närmaste en flopp, vilket till större delen berodde på att detvar svårt att förstå hur man skulle spela. Nolan Bushnell lämnade strax därefterföretaget, och startade Atari, som skulle komma att bli väldigt känt inom Arkadspelsindustrin[1].Ungefär ett år efter det att ”Computer Space” hade introducerats på markna<strong>den</strong>släppte Atari spelet Pong. Det var mycket lättspelat, och blev nästanögonblickligen en jättesuccé. Efter Pongs framgångar exploderade Arkadmarkna<strong>den</strong>,och fler och fler företag grundades för att dra nytta av <strong>den</strong>na nya marknad.Atari förblev dock marknadsledande, med lite konkurrens, under hela 70-talet. Ett av dom få stora spelen under <strong>den</strong>na period som Atari inte ha<strong>den</strong>ågonting att göra med var ”Space Invaders”, som blev en stor succé i bådearkadhallar samt hemmasystem [1].I början på 80-talet kom flera stora konkurrenter till Atari in på markna<strong>den</strong>,och flera stora titlar släpptes. 1980 släppte Atari ”Battlezone”, vilketvar det första riktiga 3Dbaserade spelet, Midway (som låg bakom Space Invaders)släppte sin andra stora hit, ”Pac Man”, och Nintendo kom in på scenenmed ”Donky Kong”. Sega gjorde sig kända på Arkadmarknan<strong>den</strong> 1982 medett pseudo-3Dspel vid namn ”Zaxxon”, som höjde ribban vad det gällde grafiki spel. Det är vid <strong>den</strong>na tidpunkt som markna<strong>den</strong> börjar stagnera. Företagenhar idétorka, och det mesta nya som kommer är bara omgjorda versioner avstorsäljarna. Intresset för spel dalar, och företag går i konkurs [8].Markna<strong>den</strong> får nytt liv igen i och med att Nintendo släpper sitt NES (NintendoEntertainment System) för hemmabruk 1985. Atari kommer även dommed en nyhet, spelet ”Xevious” [10], som blir en storsäljare, och lägger grun<strong>den</strong>för en ny Arkadspelsgenre, skrollande shoot’em’up spel. 1991 slår sig Capcomin på markna<strong>den</strong> med spelet Street Fighter II, vilket gör <strong>den</strong> relativt nya genren
3.3. SKAPANDET AV CATHEXIS 33Beat’Em’Up allmänt populär, och en mängd kloner och kopior görs, bl.a. av Acclaim(som gjorde det minst lika populära spelet ”Mortal Kombat”). Därefterbörjade arkadspelen förlora popularitet till hemmasystemen och datorerna, somhade blivit båda bra och billiga vid det här laget.I dagsläget så består arkadspelen för det mesta av någon sorts specialutrustning,som gör att folk kan vilja gå ut och betala för att få spela, såsom pistoler,maskingevär och bilsimulatorer. Vad Arkadspelens roll blir i framti<strong>den</strong> är svårtatt avgöra, men det ska definitivt bli kul att se.3.3 Skapandet av CathexisHär beskrivs tillvägagångssättet för utvecklingen av spelet, från idéstadiet framtill betatestningen samt <strong>den</strong> slutliga produkten. Vi avslutar med en utvärderingplus en glimt på de framtida planerna.3.3.1 ProjektplanEfter att gruppen erhållit uppgiften sattes en projektplan upp (se Fig. 3.1).Denna plan har som uppgift att fungera som en pekpinne eller stöttepelare underarbetets gång. Följer man planen till punkt och pricka kan medlemmarna snabbtupptäcka flaskhalsar eller andra missberäkningar. En projektplan är således ettbra hjälpmedel för arbeten i projektform.Projektmedlemmarnas uppgifter bestämdes på ett tidigt stadium utefter deerfarenheter de hade med sig in i projektet.• Joakim Östlund - Brainstorming och programmering• Patrik Lindegrén - Brainstorming, programmering och grafisk design• Joacim Ahlberg - Brainstorming och grafisk design3.3.2 DesignI designfasen bestämdes vilket programmeringsspråk samt vilka verktyg somskulle användas och hur de tekniska problemen skulle lösas. Som programmeringsspråkvaldes C++. Grafiken skulle enbart vara i 2D och skapas medhjälp av MS DirectX [4]. För att ladda in grafik användes bildformatet Targa(TGA). Input, dvs mus- samt tangentbordshanteringen, programmerades medhjälp av DirectInput. Ljud implementerades med hjälp av ett bibliotek somkallas BASS [2].StoryboardStoryboar<strong>den</strong> skapades i MS Paint. Den redigerades sedan om i Photoshop, efteratt gruppen ändrat handlingen, av <strong>den</strong> enkla anledningen att det var enklastså. Här skissades spelets övergripande regler upp vilket gav oss en bra visuellöverblick, vilket ses i Fig. 3.2.
34 KAPITEL 3. CATHEXIS - ETT ANNORLUNDA SPELKONCEPTFigur 3.1: Projektplan för Cathexis.Spelets huvuddelarSpelet kan delas upp i tiotalet mindre delar, som var och en har en specifik uppgift(se Fig. 3.3). Vi kommer nu att snabbt gå i<strong>genom</strong> dessa delar. Inledningsvishar vi initieringen av själva programmet vilken har till uppgift att allokera minneför variabler och objekt etc. När så programmet har startats upp visas enhuvudmeny som ger spelaren ett antal alternativ. Dessa kan vara att startaspelet, se information i form av en high score lista eller helt enkelt avsluta.När spelaren valt att påbörja sin spelomgång startas spelets huvudloop upp.Med en spelloop menas att programmet exekverar samma saker åter och återigen. Det kan låta konstigt men egentligen så är det väldigt simpelt. Vi kan taett exempel, en film. En film består av flera filmrutor. Dessa spelas upp i ensnabb följd vilket ger effekten av rörelse. Så för varje varv programmet exekverarsin kod skapas en ny filmruta.Om vi ser på figuren igen så hittar vi de huvuddelar vilka exekveras i turoch ordning varje varv i loopen. Här finns rutiner som känner av om och hurspelaren vill styra sitt skepp <strong>genom</strong> till exempel tangentbordstryckningar ellermusrörelser. Spelarens direktiv tas sedan om hand av spellogiken som har tilluppgift att hantera rörelser samt kollisionsdetektering.
3.3. SKAPANDET AV CATHEXIS 35Figur 3.2: Storyboar<strong>den</strong> för spelet.Figur 3.3: Utgångsdesignen för spelet.Det förekommer även mindre prioriterade uppgifter i bakgrun<strong>den</strong> såsombakgrundsmusik och ljudeffekter. Dessutom så skapas grafikuppdateringarnai ett separat buffertminne i stället för primärbufferten, där <strong>den</strong> synliga bil<strong>den</strong>återfinns. När så nästa bildruta är färdig att visas så kan vi för närvarande sägaatt vi byter ut <strong>den</strong> synliga bil<strong>den</strong> mot vår nya bildruta. Tekniken bakom detta
36 KAPITEL 3. CATHEXIS - ETT ANNORLUNDA SPELKONCEPTkommer längre fram i rapporten.Slutligen kontrollerar synkroniseringsdelen att rätt antal bildrutor per sekundvisas. Förr i ti<strong>den</strong> kunde man uppleva att spel som spelades på olikadatorer gick olika snabbt och detta är en av anledningarna till att vi har ensynkroniseringsdel. Slutligen, innan vi startar om vår spelloop, så kontrollerasom spelaren valt att avsluta spelet. Om spelaren valt att avsluta loopen (spelet)hamnar vi i till slut åter i huvudmenyn.3.3.3 ImplementationI det här kapitlet beskrivs hur gruppen arbetade under implementationen ochvilka tekniker och verktyg som användes.C++Anledningarna till att vi valde att jobba med C++ [22] var många. Vi var 2 personeri gruppen som hade arbetat mycket med det förut. C++ är mycket kraftfulltoch passade alldeles utmärkt för ändamålet. Kompilatorn som användesunder projektet var Microsoft Visual C++ vilken är mycket lättanvänd och stabil.Eftersom vi var flera som skulle arbeta mot samma källkod ville vi undvikade missförsånd som lätt dyker upp då man inte alltid skriver och tänker på sammasätt. Det åstadkoms <strong>genom</strong> självförklarande variabler, bland annat <strong>genom</strong>användningen av ungersk notation (se Appendix: Ungersk notation).CVSFör att lätt kunna arbeta flera personer på projektet och ko<strong>den</strong>, utan att förstöraför varandra använde vi en s.k. CVS (Concurrent Version system) server. Servernhar hela ti<strong>den</strong> <strong>den</strong> senaste versionen av ko<strong>den</strong>. Som programmerare kontrollerarman kontinuerligt att man laddat ner <strong>den</strong> senaste versionen av alla filer. Närman jobbat klart med en fil laddar man upp <strong>den</strong> på servern igen så andra kan tadel av <strong>den</strong>. CVS klienten som användes är ett s.k. freewareprogram som heterWinCVS [9]. Om två eller flera personer jobbat på samma fil samtidigt klararklienten oftast av att lägga ihop filerna till en fil med de olika förändringarna.Om det blir konflikter så får man möjligheten att tala om hur det borde vara.Att jobba på ett stort projekt med flera olika programmerare blir nästintillomöjligt utan någon form av server att jobba mot.DirectDrawDirectDraw är en del av MS DirectX [4]. DirectX är en Windows teknologisom möjliggör högre prestanda när det gäller grafik och ljud. Grundstenen iDirectX är dess API (Application Programming Interface) som fungerar som ettgränssnitt mellan hårdvara och mjukvara. DirectDraw ger utvecklaren möjlighetatt enkelt skapa avancerad 2D grafik.DirectDraw passade utmärkt till spelet och i gruppen har vi tidigare erfarenheterdär vi jobbat med det. Ett annat val hade kunnat varit OpenGL[6][19],en annan grafik API som dock är mer inriktad mot 3D. Det hade dock krävtmer av gruppen som inte var vana att programmera 2D med hjälp av det. Vianvände oss av en lite äldre version av DirectDraw, version 7.0, trots att version9.0 är <strong>den</strong> senaste. Anledningen till att vi inte använde 8.0 eller 9.0, var att
3.3. SKAPANDET AV CATHEXIS 37vi tidigare hade jobbat i 7.0, det hade all funktionalitet vi behövde och slutresultatetskulle blivit precis det samma. Färgdjup och upplösning bestämdesutifrån vad normaldatorn idag klarar. Upplösningen är fast vid 1024x768, vilketalla datorer idag borde klara. Färgdjupet har två lägen, 16 och 32 bitars.Har man en lite sämre dator så kan man kanske behöva köra 16 bitars läget,vilket innebär att hälften så mycket data kopieras internt på grafikkortet näruppritningen av grafiken sker.I DirectDraw kan man använda s.k. dubbelbuffring, vilket betyder att detfinns två lika stora buffertar på grafikkortet. Den ena kallas primär buffert, och<strong>den</strong> innehåller det som syns på skärmen för tillfället. Den andra kallas sekundärbuffert, och <strong>den</strong> används för att rita på. Fördelen med dubbelbuffring är att detinte blir något ”flimmer” på skärmen när allting ritas upp.Varje gång bil<strong>den</strong> ska uppdateras ritas alltihop om. Det börjar med att <strong>den</strong>sekundära bufferten fylls med svart, därefter ritas själva spelet ut, med bananförst, därefter spelaren och alla andra saker som syns ovanpå, och slutligenläggs text och annat runtom till. Efter att ritandet på sekundärbufferten ärklar utförs en skiftning av de två buffertarna, vilket innebär att pekarna tillbuffertarna byts. Det som nyligen ritats på sekundärbufferten kommer då hablivit primärbufferten och synas på skärmen. Det som fanns i primärbufferteninnan finns nu i sekundärbufferten, redo att ritas över inför nästa bild. Grafikentill spelet finns sparad på hårddisken i form av TGA-bilder. När spelet startasladdas <strong>den</strong> in och läggs i minnet på grafikkortet. Eftersom grafikkort är väldigtsnabba på att kopiera data internt så är det mycket effektivare att grafikenligger i grafikkortets minne än i t.ex. datorns RAM-minne. Att rita grafik påsekundärbufferten innebär att <strong>den</strong> del av grafikminnet som representerar <strong>den</strong>valda bil<strong>den</strong> kopieras in på <strong>den</strong> platsen i sekundär bufferten där bil<strong>den</strong> skallvisas. För att skapa <strong>genom</strong>skinliga delar på bilder användes s.k. ”key colors”.En färg eller ett färgintervall anges som skall representera <strong>genom</strong>skinligt underminneskopieringen. DirectDraw ritar då inte ut de pixlar som har det färgvärdet,utan låter de färgerna som redan ligger där ligga kvar.Grun<strong>den</strong> i spelet utgörs av banan som skrollar bakom skeppet. Banan bestårav små bilder i upplösningen 32x32 pixlar, som sätts ihop på ett sätt så det ser utsom det är en enda stor bild (se Fig. 3.4). De små bilderna passar in i varandrautan att man ser några kanter. Den enda grafiken som används för att görabanan är de 27 små bilderna, vilka tar upp väldigt lite plats i grafikminnet.Banan kan vara hur stor som helst utan att man behöver lagra något mer igrafikminnet.BASSLjudsystem gjordes med hjälp av BASS [2]. Vi i gruppen har jobbat med detförut, så vi vet precis hur det fungerar och vad det klarar av. Det är väldigtenkelt att använda, kraftfullt och fritt att använda så länge man inte kommersälja sin produkt vidare. BASS använder sig av DirectSound och DirectSound3Dsom är delar av DirectX. Ljudsystemet klarar av att spela upp de flesta vanligaljudformat, såsom strömmande format (.ogg, .wav, .mp3) och mod format (XM,IT, S3M, MOD, MTM, UMX).
38 KAPITEL 3. CATHEXIS - ETT ANNORLUNDA SPELKONCEPTFigur 3.4: Bilderna som används för att skapa banan.DirectInputFör att hantera tangentbords- och musinput användes DirectInput. DirectInputfinns precis som DirectDraw i flera olika versioner. Vi bestämde oss för attanvända DirectInput 9.0, då det har flera fördelar över 7.0, men inte skiljer signämnvärt i användandet. Att kombinera DirectDraw 7.0 och DirectInput 9.0 gårbra då de är helt fristående system. Vårt mussystem har stöd för möss med upptill 8 knappar, alla dessa kan vara nedtryckta samtidigt, dock utnyttjar speletinte mer än en knapp. Tangentbordssystemet klarar av flera knappar samtidigtoch det kan avläsas när knappar trycks ned, är nedtryckta och släpps upp. Engrundregel för att ett spel ska vara kul att spela har att det är bra kontroller,dvs är mus- och tangentbordsstödet bra och or<strong>den</strong>tligt gjort så underlättar detmycket och tillför en bättre spelkänsla.TargaI spelet används filformatet Targa (.TGA) för att lagra grafiken. Filformatet ärmycket enkelt och lämpar sig väldigt bra för spel. Targa kan sparas i flera olikafärgdjup och kan RLE (Run Length Encoding) komprimeras för att spara liteplats. RLE komprimering är väldigt enkelt att använda och ger ingen förlustav färginformation. Targa påminner mycket om ett annat vanligt bildformat,PCX [25], och är uppbyggt på ungefär samma sätt. Filformat som sparar merplats, t.ex. jpeg, är mycket mer komplicerade att ladda, detta på grund av attkomprimeringsalgoritmerna är väldigt komplexa. Oftast förlorar man då ocksåviktig färginformation för att komprimeringarna oftast generaliserar nyanser.Detta är inte speciellt bra om man ska använda bilderna i spel, animeringar kanse konstiga ut om färger skiftar som resultat av komprimeringen. Color keys iDirectDraw (Kap. 3.3.3) kräver dessutom att färger anges exakt.
3.4. PROJEKTUTVÄRDERING 39GrafikGrafiska bildelement är i huvudsak skapade med hjälp av program såsom AdobePhotoshop, Adobe Illustrator samt MS Paint. Grafiken är delvis egentillverkadoch delvis fotografier som redigerats för att passa in i spelet. Ett exempel på enanimerad explosion visas i Fig. 3.5Figur 3.5: Ett exempel på en animerad explosion.Animeringar byggs upp i form av filmrutor som programmet sedan med hjälpav en animeringsklass och bildväxlingsalgoritmer presenterar på skärmen.LjudLjudeffekter har skapats med hjälp av en mikrofon och synth. Ingen i gruppenhade någon erfarenhet av att skapa musik. Vi tog därför hjälp av en utomstående,Benjamin Sundling, som hjälpte oss att skapa en ljudslinga till vårtspel.3.4 ProjektutvärderingHär beskrivs beta-testningen av spelet och det slutgiltiga resultatet. Avslutningsvisdiskuteras och analyseras resultatet av projektet och arbetsgången.3.4.1 Beta-testningNär spelet var klart behövdes en serie tester för att kontrollera att allt fungeradesom det skulle. En beta av spelet delades ut till 5 personer, som fick i uppgiftatt testa det och komma med kritik. Betatestarna var väldigt hjälpsamma ochmånga små buggar kunde rättas till. En del saker vi i gruppen inte hade tänktpå kom också fram, såsom upplägget i menyn och användarvänligheten av programmet.Bristerna kunde rättas till inför <strong>den</strong> slutgiltiga versionen med hjälpav lite förklarande text och mer lättanvändbara kontroller.3.4.2 ResultatResultatet blev ett färdigt 2D-arkadspel med animerad grafik, ljudeffekter, musikoch en toplista. När spelet startas möts man av en meny, där man kan väljaom man vill starta spelet, se listan över bästa tider eller avsluta programmet.Spelet går ut på att så fort som möjligt ta sitt skepp från start till mål. Påvägen skall man passera <strong>genom</strong> ett antal kontrollpunker. När en kontrollpunktpasseras i<strong>genom</strong> släcks <strong>den</strong> och ett ljud spelas upp. Missar man en kontroll
40 KAPITEL 3. CATHEXIS - ETT ANNORLUNDA SPELKONCEPTFigur 3.6: Spelets meny, det första man möts av när man startar detFigur 3.7: En skärmdump som visar spelet i sin helhet.försvinner farkosten in i ett hål som öppnas i höjd med kontrollen. Åker manistället in i en av kulorna som markerar en kontroll, exploderar farkosten.Det finns två olika sorters kontrollpunkter, de markeras med färgerna grönt
3.4. PROJEKTUTVÄRDERING 41Figur 3.8: Vad som händer om man olyckligtvis krockar med en kontrollpunkt.Figur 3.9: Lika illa går det om man missar en kontrollpunkt. Här uppleverskeppet de sälla jaktmarkerna.och blått. Skillna<strong>den</strong> mellan dem är att de ovanligare blåa kontrollpunkternasparar spelarens position. Detta innebär att när man missar en kontroll, transporterasman tillbaka till <strong>den</strong> senaste blåa kontrollen man passerade i<strong>genom</strong>och får fortsätta spela därifrån. Att på något sätt missa en kontroll gör att manförlorar tid. Målet markeras med röda kontrollpunkter, när man passerat detstannar ti<strong>den</strong>. På höger sida om spelytan finns lite information som visar ti<strong>den</strong>,listan över de tio bästa tiderna och en mätare som talar om farkostens hastighet.För att styra farkosten används piltangenterna. För att accelerera och bromsaanvänds knapparna A och Z. För att avsluta spelet trycker man på escape. Föratt få så snabb tid som möjligt ska man kombinera reaktionsförmåga, säkerhetoch strategi, då det gäller att hålla en hög fart, men inte så hög att man missarkontrollpunkterna. Får man en bra tid kommer man med på listan över debästa tiderna, och man får fylla i tre valfria bokstäver som talar om vem somfick ti<strong>den</strong>.3.4.3 DiskussionEtt projekt är en arbetsform som ofta inkluderar flera individer vilka ofta harolika erfarenheter, kulturer, åldrar, bakgrund samt kanske inte arbetat tillsammanstidigare. Ett mindre lyckat projekt kan ha många olika brister, exempelvis
42 KAPITEL 3. CATHEXIS - ETT ANNORLUNDA SPELKONCEPTFigur 3.10: Spelaren har fått en tid som gör att han hamnar på första platsenpå topplistan. Han får här fylla i 3 bokstäver som sitt namn.i projektdokumentationen, arbetsfördelningen eller projektplanen. Vi upplevdeen del av de bristerna i vårt projekt, som vi efter hand lokaliserade, såsombristande kommunikation, analysfas samt designfas.Projektet drabbades dessutom av ett avhopp av en nyckelperson med ansvarför design av grafiska modeller. Efter att ha diskuterat i<strong>genom</strong> läget i projektetbeslöt vi att lösa bristerna <strong>genom</strong> förbättrad kommunikation och en klarareuppdelning av det jobb som fanns kvar. Självfallet insåg vi att det inte längregick att räkna med att få det slutresultat som fullt manskap skulle kunna leverera.Vi hade dock känslan av att uppgiften var utförbar utan allt för storakompromisser och att det skulle gå att leverera det som förväntades.Sluresultatet blev en fungerande prototyp till ett spel, som vi i gruppenär mycket nöjda med. Spelidén förändrades några gånger under utvecklingen,vilket berodde på att idén inte var or<strong>den</strong>tligt utformad från början. Detta bordeinte få ske i ett större projekt. Spelidén förändrades dock inte så mycket att dethade någon inverkan på det vi redan producerat.Vi i gruppen har tidigare erfarenheter av att göra spel och jobba i projekt. Vihar tillsammans lärt varandra en hel del om hur ett seriöst projekt bör fungeraoch hur det är att samarbeta med nya människor. Erfarenheterna från projektetkommer vara mycket värdefulla under framtida projekt.3.4.4 Framtida utvecklingMycket material blev över under utvecklingen av <strong>den</strong> första utgåvan. Detta ärplanerat att tas tillvara och en fortsättning på spelet finns redan på ritbordet.Vidare utveckling av spelidén där det finns hinder i vägen som man skall kunnaskjuta eller ta sig förbi på olika sätt. Det skall även finnas olika saker somspelaren kan plocka upp och sedan använda. Spelaren skall t.ex. kunna åkafortare eller vara odödlig under en begränsad tid. Det finns flera olika temanuttänkta förutom det månlandskap som nu finns. Det är t.ex. djungel, vatteneller öken. Ett exempel ses i Fig. 3.11
3.5. SLUTSATS 43Figur 3.11: Förhandstitt på fortsättningen. Cathexis - Law of the jungle.3.5 SlutsatsÄven fast projektet kom igång på fel sätt, där alla hade olika kunskaper, idéeroch mål, så har gruppen arbetat på ett effektivt och målinriktat sätt. Resultatetblev en produkt som vi i gruppen är mycket nöjda med och som mer än väl fyllersin funktion. Under projektets gång har vi fått många värdefulla kunskaper omhur en projektgrupp fungerar, vad man bör tänkta på och vad man bör försökaundvika. Kommunikation är en av dom absolut viktigaste förutsättningarna föratt ett grupparbete ska fungera. Vet inte en medlem vad dom andra arbetar med,vilka mål dom har, och när dom förväntar sig bli klara, kan <strong>den</strong> medlemmenheller inte producera något användbart. Tekniska begränsningar måste sättasupp på ett tydligt sätt, så att dom som producerar grafik och övrigt innehåll inte
44 KAPITEL 3. CATHEXIS - ETT ANNORLUNDA SPELKONCEPTbehöver omarbeta sitt material, utan redan från början kan skapa användbararesurser, som direkt kan infogas i spelet. Det är viktigt att projektplanen ärrealistisk, och följs, annars riskerar projektet att skena iväg, och risken att manblir klar minskar markant.
3.5. SLUTSATS 45Appendix: Ungersk notationUngersk notation är ett hjälpmedel vid programmering. Tanken bakom ungersknotation är att hjälpa till att minska risken för missförstånd, samt att minskati<strong>den</strong> som går åt till att kontrollera vad en viss variabel hör hemma och vilkendatatyp <strong>den</strong> har. Variabler blir mer självförklarande vilket hjälper då fleramänniskor jobbar gemensamt på ett projekt, eller då utomstående kan behövatitta på källko<strong>den</strong>. Detta görs <strong>genom</strong> en specifik döpning av variabler, enligtföljande schema:c charby BYTE(unsigned char)n short eller inti intb BOOL (int, true eller false)w UINT (unsigned int) eller WORD (signed word)l LONG(long)dw DWORD (unsigned long)s stringsz string (s.k. nollterminerad sträng)p pointer (pekare)lp 32-bit long pointer (pekare)fn funktion (används vid deklarering av pekare till funktioner)h handlemsg messageC klasser (ex. CPoint)g global variabelm klassmedlempm funktionsparameterExempel:m fPos += pm iChange * g fChangeConst;Här kan någon som läser ko<strong>den</strong>, snabbt förstå vad som händer tack vare variablernasnamn. Ra<strong>den</strong> kod kan utläsas enligt följande:” Medlemsvariabeln ’Pos’ av typen float ökar i värde med produkten av funktionsparametern’Change’ av typen integer och <strong>den</strong> globala variabeln ’ChangeConst’av typen float ”
46 KAPITEL 3. CATHEXIS - ETT ANNORLUNDA SPELKONCEPT
Kapitel 4NomadThomas Fredriksson, David Karlsson, Torbjörn Lundqvist och Thom Olausson4.1 InledningÅr 2543 står människan på toppen av sin utveckling. Världsfred råder och svältär ett utrotat fenomen, mycket tack vare att det rymdutforskningsprogram somalla länder deltar i lyckats ena jor<strong>den</strong>s befolkning mot ett gemensamt mål.Efter flera års arbete har man slutligen lyckats utveckla en prototyp till ettnytt rymdskepp, specialkonstruerat för interstellär rymdforskning. Prototypenkallas ”Nomad” och har utrustats med en motor som gör det möjligt att färdasmed hastigheter nära ljusets. Forskarna planerar ivrigt att testa rymdskeppetför första gången, och drar lott om vem som ska få äran att ta Nomad på sinjungfrutur, men i sista stund fördröjs uppskjutningen.Bara två dagar innan jungfrufär<strong>den</strong> upptäcks en asteroid på väg mot jor<strong>den</strong>.Asteroi<strong>den</strong>s storlek beräknas vara ungefär <strong>den</strong>samma som <strong>den</strong> asteroid som mantrodde hade utrotat nästintill allt liv på planeten under krita-perio<strong>den</strong>.Värl<strong>den</strong>s ledare samlas till ett krismöte där det bestäms att nyheten skallundanhållas från allmänheten för att undvika att sprida panik bland befolkningen.Efter hetsiga diskussioner beslutar man sig för att avfyra en kärnvapenmissilmot asteroi<strong>den</strong> i ett försök att ändra dess bana, men allting går tyvärr inte somplanerat. Asteroi<strong>den</strong> visar sig vara för instabil för att ändra riktning, i ställetdetonerar <strong>den</strong> i miljontals mindre bitar som fortsätter i samma bana, rakt motjor<strong>den</strong>.I ett sista desperat försök att rädda jor<strong>den</strong> beslutar man sig för att användaNomad för att skjuta sönder alla bitar av asteroi<strong>den</strong> och rädda jor<strong>den</strong>. Därförutrustar man skeppet med en ny typ av plasmakanon, som är kapabel till attpulverisera de mindre asteroiderna med enda ett skott.Du har valts ut som pilot på Nomads jungfrufärd, och nu ligger människosläktetsframtida öde i dina händer.Så inleds Nomad, ett arkadspel i samma anda som Asteroids, Defender, Gorf,Life Force m.fl. Målet för projektet var att färdigställa ett funktionsdugligt47
48 KAPITEL 4. NOMADspel och att visa på att shoot’em up genren fortfarande är intressant, med högpotential. (Att så verkligen är fallet bevisas för övrigt av så pass nya titlar somIkaruga och Gradius V till Gamecube resp. PS2).Fig. 4.1: Spelgrafik från NomadVi har medvetet valt att inte använda oss av alltför mycket våld i spelet, somgår ut på att med hjälp av rörelser och en laserkanon akta sig för nedfallandeasteroider, i stället för att skjuta på utomjordingar, eller något liknande. Bil<strong>den</strong>i figur 4.1 visar vårt spel i aktion.4.1.1 GenomförandeHur vi börjadeMed tanke på vilka verktyg som stod till buds och <strong>den</strong> korta tid vi hade till vårtförfogande satte vi oss ned och funderade på vilken typ av spel vi skulle kunnahinna med att skapa. Givet tidspressen och tidigare erfarenhet förkastade viomedelbart användandet av tyngre programmeringsspråk som C++ o. dyl. Vikände att vi inte hade någon tid till att sätta oss in i dessa språk för att ha någonchans att skapa ett fungerande spel. Macromedia Flash erbjuder en enklare miljöatt skapa mindre avancerade spel i, och eftersom några av gruppmedlemmarnahade erfarenhet av Flash var valet givet. Redan tidigt insåg vi fördelarna medshoot’em up-genren, som — till skillnad från äventyrsgenren och dylikt — intekräver speciellt långa produktionstider om man använder sig av rätt verktyg,vilket skulle innebära att projektet var <strong>genom</strong>förbart inom rimlig tid.
4.2. LITTERATURSTUDIE 49Hur arbetet fortskredEfter att vi bestämt oss för vem som skulle göra vad, vilken typ av spel vi skullegöra, o.s.v. delade vi upp arbetsuppgifterna och började arbeta individuellt. Vihöll kontinuerlig kontakt med varandra via dator och telefon, och träffades tvågånger i veckan för att sammanställa, utvärdera och stämma av våra arbeten.Det framkom tidigt under arbetets gång att vi skulle behöva använda ossav ett or<strong>den</strong>tligt 3D-program för att kunna generera bra grafik och valet föllsjälvklart på 3D studio Max. Det var sedan enkelt att infoga grafiken i MacromediaFlash.Hur arbetet avslutadesNär vi färdigställt en fungerande alfaversion av spelet bad vi vänner, bekanta ochkurskamrater att testa spelet åt oss. Den information dessa tester gav använde visedan för att uppdatera spelet till en betaversion, som testades och utvärderadesmer utförligt. Resultatet av <strong>den</strong>na utvärdering finns i avsnitt 4.4.4.2 LitteraturstudieNär man utvecklar datorspel finns det som bekant ett antal huvudgenrer attvälja emellan, till exempel strategi, action, pussel, brädspel, sport etc. Vårt spel,Nomad, tillhör spelgenren shoot’em up, vilket i huvudsak innebär att spelet ärett actionspel där man manövrerar eller använder sig av någon form av vapenför att undvika motståndare som dyker upp på skärmen 1 .Med hjälp av klassiska titlar som Space Invaders och Defender lyckadesshoot’em ups bli väldigt populära i slutet av 1970-talet 2 .Den största skillna<strong>den</strong> mellan shoot’em up-actionspel och exempelvis pusseleller strategispel, är att de kräver väldigt mycket av spelarens fingerfärdighet,reaktion och koncentrationsförmåga men väldigt lite av spelarens kapacitet tillrationellt tänkande och logiskt resonemang. Detta faktum gör spel i <strong>den</strong>na genrelätta att lära sig men svåra att bemästra, egenskaper som genren för övrigt delarmed sportspelen.Nomad bär tydliga influenser från shoot’em ups från det sena ’70 och tidiga’80 talet, framför allt Asteroids och Galaxian (’79), men vi har även influeratsav spel som Defender och Life Force (ca ’91). Det handlar kort och gott omklassiska, väl beprövade grepp som vi tagit fasta på och modellerat om eftertycke. Förfarandet kan tyckas mundant, men det är ganska svårt att skapaoriginella spel i <strong>den</strong>na genre. Det har visserligen gjorts många försök att tillverkaoriginella shoot’em ups. Närmast tänker man då på spel som Gunsmoke (’87),eller Wolfenstein (’90), men eftersom tematiken är så pass generell har det visatsig vara mycket svårt att förnya genren. Trots detta verkar alla försök varavälkomna, något som bevisas gång på gång med succéer som Space Invaders(’78), tidigare nämnda Wolfenstein eller HalfLife (’98).
50 KAPITEL 4. NOMADFig. 4.2: Galaxian, Namco. Bild från: http://www.emuunlim.com/doteaters/play2sta2.htm4.2.1 SpelhistorikGalaxian var det första 8-bitarsspelet som använde sig av verkliga färger. Detutvecklades av Namco år 1979 och innehöll alla element som man hittar i modernareShoot’em ups, exempelvis Radiant Silvergun (ca. ’96) eller Ikaruga 3 . Enbild från spelet visas i figur 4.2.Återigen skulle värl<strong>den</strong> räddas från de ondsinta utomjordingarna, men tillskillnad från Space Invaders kunde fienderna i Galaxian röra sig någorlunda frittöver skärmen och attackera spelaren. De var däremot inte utrustade med någonform av artificiell intelligens, utan rörde sig över skärmen i relativt förutsägbarabanor 4 .Namco använde sig av grundkonceptet i Galaxian till senare spel som Galagaoch Xevious. I Galaga uppträder även <strong>den</strong> scrolling-funktion som senareskulle bli ett kännetecken för shoot’em’ups. (Denna funktion hade för övrigtintroducerats av Atari år 1978 i spelet Football 5 .) Rörelsemomentet är något vitagit till oss för att kunna engagera spelaren och göra spelet mer fängslande.Midway tog till sig huvudpoängerna med Galaxian och använde dem sommallar för värl<strong>den</strong>s första grafiska flernivåspel: Gorf som släpptes år 1981.Asteroids som släpptes 1979 av Atari var svaret på Midways superhit SpaceInvaders från föregående år, och var väldigt inspirerat av Steven Russels Space1 Kent, Stephen L. The ultimate history of videogames. Sid. 17ff2 ibid. Sid. 116ff3 ibid. Sid. 137f4 ibid.5 ibid. Sid. 118f
4.2. LITTERATURSTUDIE 51Fig. 4.3: Asteroids, Atari corp. Bild från http://www.emuunlim.com/doteaters/play2sta2.htmWar till PDP-1.Asteroids blev en storsäljare, men <strong>den</strong> fick bevisligen inte lika stort <strong>genom</strong>slagsom Space Invaders 6 . Asteroids-kloner brukar dock dyka upp lite nu och dåsom sharewarespel, vilket tyder på att själva spelidén överlevt även om speletsom sådant kanske inte har det.I Asteroids skall spelaren navigera <strong>genom</strong> ett asteroidbälte som uppträderhelt slumpmässigt på skärmen. Genom att använda sig av en laserkanon kanman spränga asteroiderna till mindre och mindre asteroider. Spelaren måstealltså spränga asteroiderna på ett sådant sätt att han eller hon inte själv blirkrossad. Om det blev för ’hett om öronen’ hade utvecklarna utrustat spelet me<strong>den</strong> “Hyperspace-knapp”, som förflyttade rymdskeppet till slumpvisa koordinaternågonstans på skärmen. Dessa koordinater togs fram med en slumptalsgenerator,vilket innebar att spelaren riskerade att hamna i vägen för en asteroid varjegång knappen trycktes in. Figur 4.3 visar Asteroids i aktion.Spelet utspelade sig, precis som tidigare rymdspel, inom en skärm. Skeppetkunde därför manövrera fritt i två dimensioner, precis som i Space War. Detfanns dock ett par nyheter med Asteroids. För det första hade spelet en riktigHighscore lista, som sparade de olika poängresultaten mellan omgångarna, vilkethetsade spelarna till att försöka slå varandras rekord. För det andra var grafikeni Asteroids helt vektorbaserad, till skillnad från <strong>den</strong> pixelgrafik som dominerademarkna<strong>den</strong> i slutet av 1970-talet. Användandet av vektorgrafik gjorde Asteroidstill ett både snabbt och tydligt spel, något som innebar att spelet fick ett gott6 Märk väl att Space Invaders orsakade allmän myntbrist i Japan. Kent, Stephen L. Theultimate history of videogames. Sid. 116
52 KAPITEL 4. NOMADrykte.I Asteroids ser vi dessutom för första gången hur utvecklarna använt sig avslumpen som spelmoment, något som vi tagit fasta på. De asteroider vi användeross av i Nomad genereras slumpmässigt på skärmen.4.2.2 Bakgrund & InspirationVi valde att titta på de stora klassikerna från datorspelens ”gyllene tidsålder”(ca. 1979-1983) som inspiration till vårt spel. Vi valde att skapa en klassiskshoot’em up, vilket kan verka lite underligt med tanke på hur många genrer detfinns att välja mellan idag.På senare tid har spel som Ikaruga och Gradius V (båda 2003) visat attshoot’em ups fortfarande lever och frodas, efter mer än 25 år. Spel av <strong>den</strong> härtypen var vanligt förekommande i arkadhallarna på <strong>den</strong> ti<strong>den</strong> och skördade storaframgångar med titlar som Tempest (’80), Asteroids (’79), Space Invaders (’79)och Defender (’80).En klassisk ”shoot’em up” är ett actionspel där man rör sig över en skärm.Man får poäng <strong>genom</strong> att undvika motståndare och hinder i vägen.Vårt spel saknar egentliga motståndare, utan handlar i stället om att undvikaoch spränga asteroider, ungefär som i klassikern Asteroids. Spelaren kanalltså inte utöva någon form av så kallat ”onödigt våld” i rymdstrider mot utomjordingar,samtidigt som spelets tydliga i<strong>den</strong>titet hålls intakt, något som varväldigt viktigt för oss. Samtidigt ville vi inte att spelet skulle vara alltför enkelteller enformigt.Spel av <strong>den</strong> här typen kräver motstånd för att spelaren ska lockas till spelet.Shoot’em ups var omåttligt populära på ’70-talet. Det fanns visserligen spel medsporttema som Pong (’72).Så snart dataspelen blivit populära i arkadhallarna i USA materialiseradesnutida ikoner som Pac-man (’81), Space Invaders (’78), som även de var actionspel.När spelmarkna<strong>den</strong> kraschade cirka ’83 7 var det nära att shoot’em up-genrenskulle gå samma väg, men tack vare att klassikerna följde med konsolerna sommer och mer tog över arkadmaskinernas roll överlevde genren mot alla odds.Varför man inte valde att bygga mer nyskapande spel finns det ett antalförklaringar till. En är att det är så pass lätt att bygga ett spel i <strong>den</strong> härgenren och att utvecklarna därför satsade på att konvertera befintliga spel föratt snabbt få in pengar. En annan är att man inte behöver bekymra sig för attspelet ska bli alltför komplicerat att lära sig, vilket även är en trolig förklaringtill genrens popularitet (och popularitet innebär som bekant snabba pengar.)En tredje förklaring är att dessa spel är relativt lätta att utveckla till skillnadfrån äventyrsspel eller brädspel. (Vi har exempelvis haft ca 5 arbetsveckor påoss och har trots detta hunnit skapa ett fungerande spel).På senare tid har så kallade ”First Person Shooters” (alltså shoot’em upssom utspelar sig i förstapersonsperspektiv) tagit över en stor del av markna<strong>den</strong>från ”vanliga” shoot’em ups, men spel som Ikaruga till GameCube och GradiusV till PS2 verkar dock ha skakat nytt liv i genren.7 Kent, Stephen L. The ultimate history of video games. Sid. 175
4.3. SPELET 534.3 Spelet4.3.1 PrototypSpelets konceptKonceptet är ett arkadspel av klassisk mall. Spelaren kontrollerar ett rymdskeppsom kan styras i alla riktningar. Utmaningen i spelet består av asteroider somfaller mot rymdskeppet och dessa måste undvikas eller skjutas sönder.Spelets funktionerSpelet har ett antal funktioner, såsom skeppsbyte vid vissa poängställningar,poängräknare, extralivsräknare och automatisk hantering av svårighetsnivåerna.Macromedia Flash kontrollerar alla objekt på skärmen och slumpgenererar framasteroider som kommer mot rymdskeppet. Programmet håller reda på alla objektpå skärmen, och vid kollisioner eller explosioner tas objektet i fråga bortfrån skärmen. Spelaren måste undvika att bli träffad av asteroiderna, träffarspelaren en asteroid med sin plasmakanon får han poäng, dessa poäng kan hansedan köpa nya skepp för. Skeppen ser olika ut, men har liknande prestanda.De enda egentliga skillnaderna mellan skeppen är att hastigheten är olika ochatt skotten har annorlunda träffbild.SkisserStoryboards är relativt meningslösa i sådana här spel — eftersom det inte händerså mycket ur dramaturgisk synpunkt — i stället gjorde vi en prototyp av speletpå papper. Dessa skisser stod sedan modell för grafik och programmering, sompåbörjades omedelbart.KonceptutvärderingMed hjälp av litteraturstudien utvärderade vi vårt koncept internt och komfram till att vårt koncept stämmer bra in med vår genre. Vi fick även värdefullinformation från bekanta och kurskamrater som tittade närmare på vårt koncept.4.3.2 ImplementationNär genren bestämts delades arbetet upp i separata delar - såsom programmering,grafik och så vidare. Gruppens insatser har sedan sammanfogats för attskapa en betaversion av ett spel som sedan lagts ut på internet. I följande avsnittbeskrivs de verktyg som använts i skapandeprocessen.3D Studio Max3D Studio Max användes för att skapa 3D-modeller av rymdskepp och asteroiderför att på ett enklare sätt få djup i bilderna. Att vi använde 3D Studio Maxgjorde det dessutom enklare att ta fram fler bilder och vinklar av objektet närdet behövdes. Därtill kunde vi försäkra oss om att alla delar av objektet varproportionerliga med varandra. Vid själva skapandet av modellerna började vimed enkla geometriska figurer (som kuber och cylindrar.) Därefter gick vi ner
54 KAPITEL 4. NOMADpå vertexnivå och ändrade formen på de geometriska figurerna, vertex för vertextills vi var nöjda. Därefter lade vi på texturer och renderade bilderna på modelleni olika vinkar som vi sedan kunde använda i spelet. Vi skapade — för variationensskull — 3 olika modeller av rymdskepp, och 2 olika asteroidmodeller. Se figur4.4.Fig. 4.4: Arbetet med ett av skeppen i 3D Studio MaxAdobe PhotoshopAdobe Photoshop är ett kraftfullt bildbehandlingsprogram till Windows. Skapandetsker i en wysiwyg-miljö där man ritar och väljer effekter utifrån vad manvill göra. Man kan arbeta i flera lager, vilket gör det enkelt att redigera specifikadelar av bil<strong>den</strong> utan att riskera att påverka andra delar. Vi använde oss främstav Photoshop för att skapa spelets logotyp.EjayEjay är ett musikprogram som tillåter användaren att enkelt skapa sin egen musikmed hjälp av prefabricerade musikklipp, det finns över 5000 stycken inkluderadei programmet. Några exempel är samplade röster och musikinstrumentsom trummor, bas eller gitarr.Genom att flytta lju<strong>den</strong> från ett ljudarkiv till arbetsytan kan man lätt skapaegen musik med ett par enkla musklick. Självklart kan man skapa alldeles egnamusikklipp, som går att spara i ljudarkivet för senare användning. Vi skapadebakgrundsmusiken i Ejay och exporterade <strong>den</strong> sedan till Macromedia Flash iWAV-format.
4.4. RESULTAT OCH UTVÄRDERING 55Macromedia FlashI Macromedia Flash sammanfogades alla delar till ett spel. Vi började medatt göra rörelser till skeppet som skulle styras av piltangenterna, för att sedanutveckla spelet ytterligare med funktioner som att skjuta, slumpvis fallandeasteroider, explosioner och ljud.Actionscripting användes i stor utsträckning. Utnyttjande av redan färdigaoch egenhändigt skapade funktioner underlättar vidareutvecklingen, eftersomdessa bara är att anropa vid användning. Exempelvis används funktionen/meto<strong>den</strong>hitTest() eftersom det redan är en färdig funktion/metod i Flash som kännerav ifall två så kallade ”movieclips” krockar.Spelets tre olika rymdskepp är ett och samma movieclip men har olika framesmed rymdskepp, vapen och hastighetsvärde vilket gör det enkelt att lägga tillflera skepp.Det finns även en filmsekvens som föreställer en explosion. Den sekvensenutnyttjas sedan till alla kollisioner mellan skepp, skott och asteroider.4.4 Resultat och utvärderingFör att utvärdera spelet använde vi oss av ett antal frivilliga personer. Detframkom att spelet var fullt spelbart och relativt buggfritt. Testarna fann speletenkelt att förstå och lätt att komma igång med, men påpekade samtidigt atten så kallad ”highscore-lista” - där spelare kan lämna sin signatur - skulle göramycket för att lyfta spelet. Spelmiljön och navigationen upplevdes som behaglig,detsamma gällde spelets tempo. Det fanns gott om övriga önskemål - såsomstörre variation, fler skepp och ett större utbud av fallande objekt. Testarnaefterlyste dessutom spelregler för att lyfta upp storyn - såsom poängförlust närspelaren missar en asteroid, et cetera.SpelglädjeSpel av <strong>den</strong> här typen är oerhört lätta att komma igång med, eftersom de ärså pass enkla till sin natur. Kontrollerna är lätta att lära sig, men kan varasvåra att bemästra, något som motiverar spelaren till att fortsätta och ökarspelglädjen.OriginalitetEftersom sådana här spel har gjorts så pass många gånger innan handlar detegentligen inte om originalitet som sådan, utan snarare om variationer på sammatema. Vi har dock medvetet valt bort användandet av så kallade ”levandefiender” vilket är ovanligt.EstetikVi har medvetet valt att använda oss av bekanta och väl beprövade uttryckssättsom känns igen från Asteroids och de tidiga spelen från ’70-talet, även om <strong>den</strong>grafik och det ljud vi använt oss av är mer detaljerad och har bättre upplösningän dessa primitiva spel. Dels vill vi att spelaren lätt skall kunna känna igen sig ivårt spel, och dels är de mönster som dessa spel vilar på så pass väl förankrade
56 KAPITEL 4. NOMADbland spelare att det vore svårt att avvika från de grundläggande estetiskakoncept som spelaren förväntar sig.4.4.1 ArbetsinsatsenArbetet med Nomad har fortskridit väl, utan större komplikationer. Samarbetetgruppmedlemmarna emellan har varit gott och trots att arbetsbördan vid vissatillfällen fördelats ojämlikt har alla medlemmar presterat sitt yttersta för attfärdigställa spelet i tid.4.5 Slutsatser och framtida förbättringarVi har skapat en väl fungerande shoot’em up, i samma anda som Asteroids ochGalaxian. Spelet har någorlunda unika inslag, som avsakna<strong>den</strong> av s.k. “levandefiender”. Därtill har vi visat att det med små resurser är möjligt att skapa ettintressant spel, som kan attrahera spelare. Eftersom vi haft kort om tid på osshar vi visserligen inte hunnit implementera alla funktioner som vi skulle vilja.Framtida förbättringar inkluderar en så kallad “highscore-lista”, “extraliv” ochfler olika typer av fallande objekt samt fler ljudeffekter och melodier.
Kapitel 5P.I.M.M.P.0.1 — Theultimate game experienceCarlos Elias, Robin Hellsing, Stellan Karlsson, Joakim Sjögren och Tommy Volkevics5.1 InledningGenren arkadspel kommer från de spelmaskiner som började göras i börjanav 1970-talet [20] [18] Dessa maskiner ställdes ofta tillsammans i stora hallar(på engelska arcades)[30] och därför kallas dessa typer av spel för arkadspel.Arkadspel är således ingen egentlig genre utan består av mängder av olika typerav spel. Det de flesta har gemensamt är att det går fort att börja spela democh att man inte skall behöva investera allt för mycket tid i dem för att de skallvara roliga. De tidigaste spelen kunde vara av typen shoot-em-up, sportspel,och enkla plattformsspel såsom Donkey Kong och Mario Bros. Plattformsspelenökade i popularitet när spelkonsoler som Atari och Nintendo blev vanliga [20].Ett klassiskt plattformsspel är Mega Man som kom 1987 [12]. Det spelet varen inspirationskälla för oss när spelet påbörjades, och påverkade mycket av <strong>den</strong>ursprungliga designen.5.2 UppgiftVi som valt att läsa spelprojekt i introduktionskursen har fått i uppgift att påegen hand och utifrån egna förutsättningar utveckla ett spel eller någon annanform av interaktiv multimediaapplikation och skriva en rapport om projektet.Den första uppgiften blev att bestämma vilken typ av spel vi ville göra. Idénom ett sidscrollande plattformsspel lät roligast och blev det vi bestämde ossför ganska omgående. Eftersom våra programeringskunskaper ännu är mycketbegränsade, var från början det största problemet att hitta en utvecklingsmiljö57
58 KAPITEL 5. P.I.M.M.P.0.1 — THE ULTIMATE GAME EXPERIENCEsom var enkel att använda och lätt att lära sig. De alternativ vi hade från börjanvar Macromedia Flash 1 , Dark Basic 2 och Game Maker 3 .Efter lite diskussion beslutade vi oss för att använda programmet GameMaker. Det som talade till dess fördel var att programmet är freeware samtatt det var närmare vår kunskapsnivå. Game Maker använder ett enkelt visuelltgränssnitt och är lätt att lära sig. Programmet lämpar sig endast för2D-applikationer, men är ett kraftfullt verktyg för nybörjaren. Game Makertestar kollisioner mellan olika objekt, på ett sätt som är mycket likt de metoderman använder i mer professionella utvecklingsmiljöer. Därför är det också ettkraftfullt inlärningsverktyg vad gäller spelskapande i 2D i allmänhet. Det gåräven att använda sig av 2D för att simulera 3D i programmet men det går inteatt göra en ren 3D-applikation.5.3 SpeldesignEn viktig beståndsdel i alla spel är grafiken. Grafiken behöver inte vara oöverträffligtvacker men <strong>den</strong> ska vara funktionell och tydlig. När vi designat utseendet påvårat spel har vi utgått ifrån spelidén och handlingen. Eftersom handlingenutspelar sig i en mörk och dyster framtid ville vi få fram en stämning <strong>genom</strong>grafiken i spelet varvid färgpalletten som använts är mörk och grå. Detta sättatt ta fram och skapa stämning har återkommit i så väl karaktärs- som banochfiendedesign.När vi tog fram karaktären utgick vi från spelidén och handlingen. Alla igruppen fick komma med förslag och synpunkter. På detta sätt hoppades vifå en mångsidig och intressant huvudkaraktär som spelaren sedan lättare kanta till sig. Se figur 5.1. Efter långa diskussioner hade vi en klar bild framföross vad karaktären skulle kunna utföra, personlighet osv. När vi visste dettafick gruppmedlemmarna återigen komma med förslag, <strong>den</strong>na gång i bildform,förslagen diskuterades och till slut enades vi om en design. På ett liknandesätt har fienderna skapats. Vad gällde fienderna var idéerna inte få, det sombegränsade oss var inte våran fantasi utan snarare huruvida det var möjligt attfå fienderna att fungera i själva spelet. I spelet har vi tagit med två fiender ochen slutboss. När vi skapat “sprites” till de olika objekten i spelet har vi använtoss av Game Makers inbyggda bildeditor. Först skissade vi på vanligt papperhur vi ville att spriten skulle se ut. När vi var nöjda, ritade vi dem igen, <strong>den</strong>nagång i Game Maker, pixel för pixel, tills vi fick fram en färdig och fungerandesprite att tilldela de olika objekten.Slutbossen la vi ner lite extra arbete på. Precis som de vanliga fienderna villevi att han skulle passa in i miljön. Eftersom handlingen utspelar sig i en fabrikville vi att bossen skulle se mekanisk ut, men det skulle samtidigt framgå tydligtatt det verkligen var en boss. Se figur 5.2. För att uppnå detta placerades <strong>den</strong> iett enskilt rum. Den är också betydligt svårare att besegra än en vanlig fiendedå han fått förmågan att både spruta eld och kasta rullande klot mot spelaren.1 http://www.macromedia.com/2 http://darkbasic.thegamecreators.com/3 http://www.gamemaker.nl/
5.4. OM HANDLINGEN 595.4 Om handlingenDen bakomliggande berättelsen (storyn) till det här spelet är viktig på så sättatt huvudkaraktärens i<strong>den</strong>titet och mål förklaras. För att få spelet att kännasmer som ett gammalt klassiskt arkadspel användes samma stilgrepp till storynsom sådana spel använder. Till att börja med fick texten färger som neongrönoch chockrosa och <strong>den</strong> scrollas fram på en svart bakgrund. Den fasta bred<strong>den</strong>på teckensnittet gör kopplingen till äldre monitorer ännu mer tydlig. Storynbeskrivs väldigt kortfattat och <strong>den</strong> övertydliga uppdelningen i gott och ont göratt texten nästan blir ironisk.5.4.1 HandlingenÅret är 2180. Företaget Big Evil Company (BEC) tillverkar robotar, allt frånleksaker och hushållsapparater till stora mördarmaskiner. BEC har vuxit sig såstora att de har nästan utplånat all konkurrens. Militären är numera en av derasstörsta kunder. BECs senaste produkt heter Pretty Intelligent Murder MachinePrototype 01, en robot med delvis mänskliga egenskaper. Men P.I.M.M.P.0.1ssamvete gör att han vänder sig mot sina skapare och bestämmer sig för attförgöra företaget och, i slutändan, också sig själv. Konsekvenserna annars kommerhelt säkert leda till jor<strong>den</strong>s undergång. Tyvärr var inte P.I.M.M.P.0.1 heltfärdigutvecklad när hans moraliska kretsar började fungera. Därför kommer hanatt uppleva problem med vissa av sina funktionaliteter såsom snabbhet, hoppstyrkaoch vapenkraft.5.4.2 Introtexten i speletBEC (Big Evil Company), are producing robots for the army, and controls theglobal market completely. Their latest product in the making, is YOU! Yourname is P.I.M.M.P.0.1 (Pretty Intelligent Murder Machine Prototype). If youdon’t stop BEC, and their products, (incl. yourself) the world will soon bedestroyed, for obvious reasons. GOOD LUCK!5.5 SpelmotornNär spelkonceptet var färdigformulerat var det dags att få det att fungera i vårtvalda verktyg Game Maker. Till att börja med så hade vi inga egna sprites utananvände oss endast av <strong>den</strong> grafik som följde med Game Maker, se figur 5.3.Det första vi implementerade var ’fysikmotorn’. Termen används väldigt lösthär, det innebär är att vi fick karaktärens rörelsemönster klargjort, <strong>den</strong> gick attröra fram och tillbaka och hoppa utan att trilla i<strong>genom</strong> golvet eller flyga iväg.Detta gjordes <strong>genom</strong> de verktyg som finns inbyggda i Game Maker. Man kollarFigur 5.1: Huvudkaraktären
60 KAPITEL 5. P.I.M.M.P.0.1 — THE ULTIMATE GAME EXPERIENCEom en position är kollisionsfri, om <strong>den</strong> är det så flyttas karaktären x antal pixlari lämplig riktning beroende på vilken tangent som trycktes. Genom att ändraantal pixlar per steg kunde vi sedan variera rörelsehastigheten. Vi fick ocksåbestämma vad som skall hända om det finns någonting i vägen dit man villförflytta sig. Hur hög gravitation det skall vara, eller hur högt man kan hoppa,vilken hastighet och riktning man faller i fick ställas in på ett liknande sätt. Efteratt det var klart och fungerade som det skulle, gick vi över till att arbeta medcykeln som får karaktärens egenskaper att förändras i ett förutbestämt mönster.Då började vi använda timers och variabler för att få det att fungera som viavsåg. Först fick man starta en timer och ange hur många steg 4 <strong>den</strong> skulle tainnan en händelse inträffar, i det här fallet att en variabel ändras till true ellerfalse samt att timern startar om. Sedan lades en if-sats till i varje händelse sominvolverade en knapptryckning. If-satsen kollar om variabeln jump är true ellerfalse och baserar sedan rörelsehastigheten och hopphöj<strong>den</strong> efter detta.Nu var det tid att placera in fienderna, arbeta på deras rörelsemönster ochvad som händer när spelarkaraktären kolliderar med dem. Vad som skulle händanär spelarkaraktären kom i kontakt med fienderna var klart redan från början,nämligen att man förlorar ett liv, spelarkaraktären tas bort och banan startasom. Liven var enkla att få att fungera då Game Maker har inbyggda variablersom kontrollerar dem. Allt man behövde ställa in för dem var att lives = lives- 1. Fiender var också enklare än spelarkaraktären att styra, då de inte behöversamma komplexitet utan styrs efter utsatta mönster. Det enda som fattades fören klar spelmotor var ett sätt att ta hand om fienderna och en större fiende(boss) som avslutning på banan. Se figur 5.2. För att ta hand om fiendernavalde vi en laser som styrs av en cykel liknande <strong>den</strong> tidigare, en del av ti<strong>den</strong> är<strong>den</strong> svag och då krävs de fler skott för att besegra fienderna än när lasern harnormal styrka. Detta görs <strong>genom</strong> att en variabel health läggs in i fiendeobjektetsom minskas med 1 eller 2 beroende på om variabeln laser är true eller false. Närhealth är mindre än eller lika med 1 så förstörs <strong>den</strong> instansen av fien<strong>den</strong>. Genomatt skapa variabeln under fiendeobjektet så får man då en separat hälsomätareför alla instanser.Bossen krävde lite mer arbete och vi fick då använda både paths 5 och timelines6 . Bossen har två typer av attacker, <strong>den</strong> ena i form av ett flygande eldklot4 Vi är inte säkra på vad ett steg innebär men vi har kommit fram till att det troligen rörsig om millisekunder5 En path är en förinställd bana som ett objekt rör sig efter.6 En timeline visar när någonting skall hända efter en förinställd tidsrymd.Figur 5.2: Första banans boss
5.6. BANAN 61och <strong>den</strong> andra i form av ett rullande klot. För att få dessa att röra sig som viville, använde vi de tidigare nämnda “paths”. Att lösa problemet på ett annatsätt hade varit inte bara svårt att <strong>genom</strong>föra utan det hade också gjort bossenmycket svårare att besegra. När nu bossens attacker följer ett förutbestämtmönster kan spelaren lära sig bossens olika attacker och på så sätt förutse vadhan bör göra för att undvika att bli dödad.När allt detta var klart lade vi in banan som vi gjort separat och placeradeut fienderna på <strong>den</strong>. Banan består av en bakgrundsbild som är icke solid dvsdu kan inte stå på <strong>den</strong>, och sedan har vi lagt in osynliga block som man kan gåpå under <strong>den</strong>. Allt som var kvar var sedan att lägga ihop alla delar och kopplaihop dem till ett spel. Startskärmen består av två objekt, dels själva bil<strong>den</strong> somvisas samt ett objekt som tar hand om vad som händer när man trycker nerspace tangenten. Sedan har vi även lyckats få in en ’Game Over-skärm’ samten skärm som visas när man klarat första banan. Prototypen har bara en banaeftersom ti<strong>den</strong> var otillräcklig för att kunna avsluta hela spelet. Vi har ävenexperimenterat lite med animationer, men eftersom de inte fungerade som viville (de rörde sig för fort samt fick karaktären att fastna i golvet) så övergav vi<strong>den</strong> idén till förmån för att få en klar prototyp. Sist av allt lades ljudeffekternaoch musiken in i spelet.5.6 BananNär banan skapades så gjordes <strong>den</strong> inspirerad av banorna i spelet Mega Manfrån Nintendo 8-bit. Man började med att designa banan hur <strong>den</strong> skulle se ut ochsen ritades lådor och stegar som karaktären skulle hoppa på respektive klättraupp för. Efter det så bestämdes karaktärens dimensioner, fällor som karaktärentvingas akta sig för och fiender.5.7 Objekt5.7.1 BlockOm karaktären ska stå eller springa så måste man lägga block som objekt underkaraktären. Den ska vara solid för annars så kommer karaktären att ramla raktner. När blocken är lagda på de ställen där karaktären ska stå så måste de varaosynliga, för annars så ser man inte det man har designat som exempelvis golvetFigur 5.3: Exempel på temporär grafik
62 KAPITEL 5. P.I.M.M.P.0.1 — THE ULTIMATE GAME EXPERIENCEeller lådorna. Man går in på objektets (i det här fallet blockets) egenskaper därman kan välja om det ska vara solitt och/eller synligt.5.7.2 Rörlig cylinderFör att cylindern ska åka upp och ner så ska skapar man två stycken sprites.På första spriten ritar man en cylinder som befinner sig i nedsänkt läge och på<strong>den</strong> andra cylindern när <strong>den</strong> är upphissad. Sedan ändras objektets (cylinderns)egenskaper så att en timer får de två bilderna att bytas så att cylindern ser utsom att <strong>den</strong> åker upp och ner.Figur 5.4: Första bananFigur 5.5: Solida objekt i spelet, såsom väggar och golv är uppbyggda av fleraosynliga block. (Här har ett sådant block gjorts synligt.)
5.8. LJUD 635.8 LjudGame Maker stöder musik- och ljudfiler av typen midi och wave. För att görabakgrundsmusiken till spelet användes programmet Cubase SX 7 , för att skapamidi-filer. Melodierna spelades in med hjälp av ett så kallat midi-klaviatur. Sommidi-klaviatur användes synten Clavia Nordlead 2. Resultatet blev två kortamidifiler på fyra respektive åtta takter. En sådan fil kan sedan loopas i GameMaker för att skapa en kontinuerlig bakgrundsmusik.Ljudeffekterna till spelet gjordes med en mikrofon, AKG C1000s och programmetLjudinspelaren. Dessa ljud sparades som wave-filer. Ljudeffekternavar sedan tänkta att spelas upp bland annat när vapnet avlossas, när fiendernaförgörs och när huvudkaraktären förlorar ett liv.När bakgrundsmusiken lades in märktes det tydligt på datorerna på Mälardalenshögskola, att spelet blev slöare. Varje gång ljudfilen loopades stannade speletupp en kort stund. (Mellan ca 1/2 till 1 sekund.) Detta innebar både att spelkontrollenblev sämre och att bakgrundsmusiken inte lät synkroniserad. Dessanackdelar gjorde att spelet skapades i två alternativa versioner. En version utanbakgrundsmusik och en annan version där musiken lades i introt till speletsamt när banan var slut, och inte under ti<strong>den</strong> huvudkaraktären styrdes. Ljudeffekternai wave-format var visserligen större i storlek jämfört med midi-filerna(ca 70-200kB respektive 1-2kB) men gav inte samma problem då dessa aldrigbehövde loopas.5.9 TestNär spelet var klart bestämdes att spelet behövde testas av en utomstående testare.Testpersonen fick dessutom besvara 5 frågor angående grafik, spelkontroll,känsla och story. En del av frågorna var också indelade i underfrågor (se bilagaA). Testaren var positiv till saker som spelkontroll, känsla och story men hadesynpunkter på karaktärens rörelsemönster dvs. brist på animationer, så att detser ut så som att karaktären verkligen går istället för att bara ha en fast bildsom rör sig fram och tillbaka.5.10 Resultat/UtvärderingProjektet får anses som lyckat, på så sätt att prototypen av vårat spel fungerade.Vissa saker som var tänkta att finnas i spelet saknas dock. Att animerakaraktärerna visade sig svårare än förväntat. Problemen som uppstod blev såtidskrävande att vi bestämde oss för att strunta i animeringen tills vidare. Dettaledde till att animeringarna i spelet uteblev helt. Ett annat krav på speletvi hade var bakgrundsmusik. Musiken gjorde spelet så långsamt på datorerna iMälardalens högskola att det blev ospelbart. Därför valde vi att inte inkludera<strong>den</strong> i <strong>den</strong> slutgiltiga prototypen. Detta problem var dock helt beroende avutrustningen, då versionen med musik fungerat bra när spelet testats på andradatorer.7 http://www.steinberg.net
64 KAPITEL 5. P.I.M.M.P.0.1 — THE ULTIMATE GAME EXPERIENCEBilaga A: Frågeformulär1. Vad tycker du om kontrollen? Är <strong>den</strong> bra? Sitter knapparna på rätt plats?Vad det lätt att lära sig kontrollen?Svar: Ja knapparn var ganska lätt och få därför gick det snabbt att lära sig.2. Märkte du några buggar?Svar: Nej inga buggar”.3. Vad tyckte du om intro, Gameover och Level clearbitarna? Var texten i introbra/dålig? Var intro skärmen För lång/kort? Story Bra/dålig? Kändes handlingenmotiverande? Var gameover, level cleargrafiken m.m. tillfredställande?Svar: Introt var väl lättsmält, Orkade inte dö så många ggr att jag kom tillGameoverbil<strong>den</strong>. Level Clear var väl ja.... Introt var lagom4. Vad tyckte du om designen av banan, hjälten m.m.Svar: Dåligt animerat, hmmm enformigt.5. Vad tyckte du om spelet som helhet? Karaktären?Svar: Mer animationer hade varit en klar fördel.Har du något mera att anmärka på så skriv gärna ner det också...ANIMERA MERA. :P
Kapitel 6DALO: The Return Of TheEvil PhösAndreas Asplund, Riccard Johansson och Tomas Tunström6.1 IntroduktionDenna projektuppgift går ut på att utveckla ett spel ifrån grun<strong>den</strong> dvs planera,strukturera, utveckla samt utvärdera. Arbetet inleddes med en diskussion varsdagordning kretsade kring vilket typ av spel vi skulle utveckla samt i vilket format.Inom gruppen fanns vissa influenser av Role-Playing-Game-genren (RPG)vilket ledde till att diskussionen kom att kretsa kring utvecklingen av ett justsådant spel. När eftertanken kom så blev problemen dock allt mer uppenbarap.g.a vårt tidsperspektiv. Vi skulle inte ha någon möjlighet att hinna utvecklaett fullgodat spel i form av ett RPG.Tanken på ett sk äventyrsspel i form av “Peka-och-klicka-spel”(ex. MonkeyIsland, Syberia, Phantasmagoria mfl.) fick snabbt ett <strong>genom</strong>slag vid gruppensvidare diskussioner. Dessutom visste vi att kunskaperna var tillräckliga för attskapa ett spel av <strong>den</strong>na typ. Flertalet hade dessutom <strong>genom</strong>gående erfarenheterav <strong>den</strong> genre då dessa vuxit upp med klassiker som Leisure Suite Larry och TheLegend Of Zelda.Dagens utveckling på internetområdet har dessutom möjliggort att man kanpublicera mer avancerade applikationer utan att användaren påverkas negativtav exempelvis nerladdningstider. Äventyrsspel publicerade på internet har ökati stor grad under 1990-talet vilket i sin tur medverkat till en ökad dokumenteringkring både utveckling och spelens utformning.Vårt spel Dalo: The Return Of The Evil Phös kommer att baseras på <strong>den</strong>natyp av äventyrsspel. Handlingen utspelar sig kring Greger som ska börja studerapå Datalogiprogrammet vid Mälardalens Högskola. Under <strong>den</strong> traditionellanollningen stjäls DALO-vagnen av Phösar. Eftersom vagnen är av stor betydelseför nollningens kvalité så bestämmer sig Greger för att följa efter (se figur 6.1).65
66 KAPITEL 6. DALO: THE RETURN OF THE EVIL PHÖSSlutligen kommer han in i Vargens Vret där han kommer att ställas inför mångautmaningar innan han kan återfå <strong>den</strong> åtrovärda vagnen.Figur 6.1: DALO: The Return Of The Evil PhösResten av vår rapport är upplagd på följande sätt. I avsnitt 6.2 kommer vi attbeskriva äventyrsgenren både historiskt och innehållsmässigt. Efter det kommeren tydligare beskrivning av spelets story i avsnitt 6.4. Därefter så kommer enhuvuddel som beskriver hur vi resonerat kring utvecklingsverktyg utifrån vad vivill åstadkomma och hur spelet ska vara uppbyggt. Rapporten avslutas med enstörre del kring utvärdering av spelet samt ett avsnitt som behandlar diskussionoch slutsats.6.2 BakgrundÄventyrsspel har länge utgjort en stor del av spelmarkna<strong>den</strong>. Genren har charmatspelare värl<strong>den</strong> över i decennier och någon ten<strong>den</strong>s att <strong>den</strong> skulle minska ipopularitet har inte visat sig ännu. Äventyren har dock under dessa decennierfått utstå mängder med förnyelser, vissa bättre än andra. Den rådande spelmarkna<strong>den</strong>är idag så välutvecklad att det är allt svårare att karaktärisera vadsom är ett äventyrsspel. De som försöker att skapa ett originellt spel blandarofta olika genrer för att skapa en unik spelupplevelse. Därför kan ett spel somunder 1980-talet skulle ha klassats som ett actionspel kunnat få beteckningenäventyrsspel just därför att man försöker packa ihop så mycket som möjligt i ettenda spel. Därför är det inte ovanligt att man idag hittar många äventyrselementi andra genrers. Det nyligen släppta spelet Soul Calibur 2, som i grun<strong>den</strong> är ettslagsmålspel, innehåller en äventyrsdel med rollspelselement för ensamspelare.Grunddragen i ett äventyrsspel är dock inte lika komplexa, speciellt om viser till de tidiga grafiska installationerna som kom i slutet av 1970-talet. Spelsom producerades under <strong>den</strong> ti<strong>den</strong> hade väldigt enkla koncept. En spelhjälte,en bov och ett tydligt uppdrag (att rädda värl<strong>den</strong>, kvinnor eller grannar frånaliens för att nämna några exempel) Spelen konstruerades mestadels kring problemlösning.I början är det oftast väldigt enkla problem man utsätts för, vilketsedan utvecklas i takt med spelets tillgång till föremål eller andra förmågor somkaraktären besitter. Dessa gör att problemen blir mer dynamiska och svårareatt lösa.
6.2. BAKGRUND 67De <strong>allra</strong> tidigaste äventyrsspelen från slutet av 1970-talet var textbaseradeoch kommunicerade med spelaren utan grafik, så <strong>den</strong> interaktiva delen baseradeshelt och hållet på text. Utvecklingen initialt handlade till stor del om att skyfflarunt texten på olika sätt för att på så vis skapa en bättre funktionalitet ochdärav en mer helgjuten upplevelse. När 1970-talet närmade sig sitt slut komidéen med att ha utnyttja fönster där formatets pionjär blev Beyond Zork,utvecklat av Infocom. Gränssnittet hade många fönster där endast en viss typav information visades, ett för karaktärens attribut, en för spelets karta, en förinmatning, föremålsinnehåll m.m.Datorernas utveckling hade nu kommit så långt att man kunde ha både textoch mer avancerad grafik (dock svartvit) i sitt spel. Det nystartade företaget Sierrasläppte kort efter Beyond Zork sitt Mystery House. Här fanns valmöjlighetenatt välja om man ville ha <strong>den</strong> klassiska textinmatningen eller att utöver detha grafik som bestod av en bild över spelarens miljö. Här fanns dessutom deförsta inslagen av problemlösning som beskrevs tidigare. Sierra fortsatte påframgången och släppte fler titlar baserade på samma User Interface (UI).Nästa generation äventyrsspel inleddes återigen av Sierra. De lanserade ettspel kallat King’s Quest där man introducerade förbättrad grafik som dessutominnehöll animationer. [11] Nu fanns det även en person som representerade spelaren,något som tidigare saknats. Titeln King’s Quest är en milstolpe inomäventyrsgenren som lång tid efter dess lansering utvecklades till stor del kringdetta spel. Tyvärr var <strong>den</strong> ti<strong>den</strong>s hårdvara inte <strong>den</strong> bästa vilket gjorde att utvecklingenbromsades något. Men tids nog så klarade hårdvaran av spelutvecklarnasbehov och utvecklingen tog fart igen med The Secret of Monkey Islandoch Maniac Mansion. Det förstnämnda kom att bli ett av de mest igenkändaäventyrsspelen <strong>genom</strong> tiderna. Utmärkande nu var att en spelkaraktär elimineratmånga av de tidgare textkommandon som styrt spelet. Härifrån har spelenutvecklats i takt med att hårdvaran stöder nya tekniker.Utvecklingen kring de apparater som lanserats i folks vardagsrum, även kallatkonsoler hade en lite annorlunda riktning. Spelet som man ofta talar sompionjär inom äventyr på konsolformat är de klassiska Zelda-spelen där du antarrollen som Link, vars uppgift är att besegra <strong>den</strong> onde Ganon som har kidnappatprinsessan Zelda. Spelseriens popularitet har i stort sett hållit i sig sen detsläpptes till Nintendos NES-konsol under 1980-talet. Vad som var banbrytandemed detta spel var att utvecklarna hade uppfunnit batteriminnet under <strong>den</strong> skapandeprocessen av spelet vilket gjorde att man för första gången på en konsolkunde spara sitt spel. [15] Uppfinningen öppnade många dörrar, vilket gjordeatt utvecklarna nu kunde visualisera sina idéer på ett helt annat sätt. Tidigarehade konsolen präglats av linjära äventyrsspel som Super Mario Bros, men nukunde man skapa ett stort icke-linjärt äventyr. Interaktiviteten tog sig till etthelt annat plan då spelaren nu inte hade en given väg att följa. I spelet fanns enhel värld att utforska som man själv ville. Här visualiserades allt grafiskt utande textkommandon som präglade spelen på PC-formatet. The Legend of Zeldafick ett enormt <strong>genom</strong>slag och är idag mer eller mindre kultförklarat. Dess betydelseframhävs starkt <strong>genom</strong> att Zelda, som vi exemplifierat, räknas som detbästa spelet någonsin av bl.a <strong>den</strong> respekterade tidningen Entertainment Weekly[5].Idag finns det en uppsjö med spel publicerade på Internet. Uppbyggna<strong>den</strong>av storyn i dessa spel fokuseras som oftast på att underhålla; man ska allt somoftast rädda värl<strong>den</strong> från ondska, men till skillnad från spel som Zelda så är
68 KAPITEL 6. DALO: THE RETURN OF THE EVIL PHÖS<strong>den</strong>na sortens spel mer linjära. Ett tydligt exempel på detta är en sekvens urPC-spelet Beneath a Steel Sky. Denna utspelar sig på toppen av en platå ochnedanför dig står en vakt. Det du nu ska göra är att ta dig förbi vakten. Dukan se dig om med muspekaren efter saker i din omgivning vilka kan användas.Du kan variera hur du vill använda dom för att komma vidare. Gör du rätt sågår spelet vidare och du stöter på nästa problem. Gör du fel så blir du oftastpåmind <strong>genom</strong> ett mindre trevligt meddelande och i värsta fall tvingas du startaom hela scenariot. Några typiska klassiska problem är att du skall hitta ett sättaatt öppna en låst dörr, lura någon annan Non-Playing Character (NPC) att gådärifrån så du kan jobba ostört eller liknande. Det är hela ti<strong>den</strong>, som vi tidigarepåpekat, problemlösning i diverse former som används.Egentligen kan man säga att äventyrsspel är flera olika små-genres i ett.Några rollspelselement finns, eftersom du ska samla på dig saker och utveckladin karaktär, som sedan mixas med problemlösningselement, eftersom det oftastkrävs att man gör flera saker i följd för att spelet ska gå vidare. Som exempelkan nämnas att du t.ex. lurar en vakt att gå bort, samtidigt som du sedan låserdörren när han gått, och sedan använder objekt X med objekt Y på objekt Zför att gå vidare i handlingen. Efter det följer oftast en sekvens eller en dialogsom för spelet framåt i handlingen och sedan stöter du på nästa problem.Det som skett <strong>den</strong> senaste ti<strong>den</strong> inom genren är att försöka få spel så ickelinjärasom möjligt. En spelgenre som fått oerhörd popularitet p.g.a av dettaär Grand Theft Auto där varje ny del av serien går allt längre ifrån <strong>den</strong> linjärauppbyggna<strong>den</strong>. Med tanke på succén som The Legend Of Zelda fick så är dettaantagligen en eftersträvan som alltfler utvecklare kommer att ta efter.Sammanfattat så finns det olika saker som krävs för att göra ett äventyrsspellyckat, mycket beroende på spelets inriktning. Allt måste sättas i ett sammanhangför att åstadkomma en så bra symbios som möjligt.6.3 Syfte och målSyftet med detta arbete är att få lära sig hur man arbetar i grupp med inriktningpå att skapa ett spel. Med själva tidsperio<strong>den</strong> i åtanke så kunde man snabbtinsé att det inte handlade om något större spelprojekt, utan mest att få kännapå hur det är att skapa ett spel från grun<strong>den</strong>, samt att lära oss hur man skaparnågonting tillsammans i grupp.Målet med projektet har hela ti<strong>den</strong> varit att göra ett roligt och underhållandespel med glimten i ögat, vilket man lätt förstår när man testat att spela DALO:The Return of The Evil Phös.6.4 StoryDalo:The Return Of The Evil Phös kretsar kring N0llan Greger. Han har precistagit stu<strong>den</strong>ten från Handelsprogrammet i Gällivare. Efter år av diger betygskompletteringpå ortens KomVux kan han äntligen söka till MälardalensHögskola. Greger blir antagen till utbildningen och spelet börjar när han till slutfår uppleva sin första dag på Mälardalens Högskola i Västerås. N0llning är en“ritual” som alla nystuderande får <strong>genom</strong>gå. Denna sker årligen och frambringarbåde det värsta och det bästa hos dessa stu<strong>den</strong>ter. N0llningens huvudsakliga
6.5. METOD 69uppgift är dock att bidra med så mycket gemenskap med de andra lyckosammatjejer/killar som fått samma möjlighet som Greger. För att n0llorna ska lärakänna varandra bättre och på ett mer ohämmat sett så finns det en DALO-vagnvars innehåll hjälper n0llorna med detta. Dock finns det s k Phösar. Dessa finnsdet både goda och onda varianter av. N0llan ska <strong>genom</strong> ritualen visa respektför dessa stu<strong>den</strong>tväsen <strong>genom</strong> att lyssna och ta till sig av allt som sägs av dem.Oftast säger man att nämnda väsen är stu<strong>den</strong>ternas faddrar. Över dessa finnsdet en allsmäktig General som basar över både Phösar och alla n0llor. Gregerär dock inte orolig. Han har hört mycket bra saker om skolan och speciellt kringn0llningen med Generalen och Phösarna.Denna fasad skall snart spricka. På väg till första n0llningen så ser hanhur Phösarna smider hemliga planer om <strong>den</strong> beryktade öl-vagnen, <strong>den</strong>na heligaGraahl för n0llningen (se figur 6.2). Med <strong>den</strong>na vagn i sin ägo har Generalenfullkomlig och komplett makt över de stackars n0llorna. Inklusive Greger.Figur 6.2: DALO: The Return Of The Evil PhösGreger bestämmer sig för att ta saken i egna händer och följer efter Generalenoch en Phös i smyg. Här börjar Gregers äventyr mot ondskan personifierad (ölvagnen,herregud) och han vet att det kommer vara en lång och krokig väg. Detär en ytterst farlig väg han går, men som n0llningens enda hopp så ser han ingenannan lösning. En n0llning utan öl-vagnen, <strong>den</strong>na heliga symbol, kan aldrig blisig lik. Så Greger tar ett fast tag om sin gula slips, <strong>den</strong> med makten inpräntati tyget, och ger sig ut på det största äventyr som han någonsin har varit medom. Frågan är om äventyret kommer att beröva honom livet?6.5 Metod6.5.1 Spel-layoutEftersom spelet handlar om nollningen på datalogiprogrammet så är igenkänningsfaktornnågot som spelet måste ta till vara på. Därför kommer många inslag vara kopp-
70 KAPITEL 6. DALO: THE RETURN OF THE EVIL PHÖSlade till <strong>den</strong>na invigningsritual. Exempelvis så utspelar sig majoriteten av speletpå Vargens Vret, som är datalogernas huvudsakliga hem i stu<strong>den</strong>tvärl<strong>den</strong>, samtatt det förekommer capsning (ett förfriskningsspel). Mycket mer kommer givetvisatt dyka upp under Gregers färd mot vagnen. En färd kantrad av utmaningari varierande rum.DALO:The Return Of The Evil Phös bestämdes att ha en väldigt “enkelstil“ förutom karaktärerna, som vi ville framhäva på ett mer tydligt och stilfulltsätt. Detta på grund av att vår önskan att utveckla en relation mellan spelarenoch <strong>den</strong> karaktär som man intar rollen som. Tänkandet att man skapar merdetaljer på de saker som man vill att spelaren ska påverkas av är ingen ovanligföreteelse i spelvärl<strong>den</strong>. Shigeru Miyamoto, skaparen av spelfigurer som Linkoch Mario, brukar ofta i intervjuer själv poängtera vikten av detta [15].Själva gränssnittet kommer att bestå av att spelaren måste lösa problem iolika rum. Här kan man interagera med spelet <strong>genom</strong> olika val av händelser somi sin tur verkar på olika klickbara objekt som förekommer i klassisk äventyrsstil.Det handlar huvudsakligen om att plocka upp olika föremål och sedan användadessa på olika sätt för att ta sig vidare.6.5.2 Format och programvaraDen senaste ti<strong>den</strong> när hastigheterna kring Internet har ökat så har alltfler spelav <strong>den</strong>na typ gjorts i s k Flashformat. När det handlar om att publicera spelpå exempelvis Internet så finns det många fördelar med formatet som går underfiländelsen .swf vilket står för Shockwave Flash. Formatet är binärt vilketgör att det finns stora fördelar inom komprimeringsområdet [28]. De programvaror(s.k plug-ins) som användaren måste installera för att spela upp formatetär dessutom väldigt små till storleken vilket möjliggör att även folk medsämre uppkopplingshastigheter kan ta del av program skapade i Flash. Man kandock komma runt orosmomentet med externa programvaror <strong>genom</strong> att skapa enexekverbar fil för de som inte har programvaran installerad. Denna möjligheterbjuds i Flash och skapar inga större variationer i filstorleken. Med <strong>den</strong>na bakgrundtill Flash så bestämde sig gruppen omgående för att använda MacromediaFlash som utvecklingsverktyg. Gruppen fann att spelet var <strong>genom</strong>förbart i dettamedia med de kunskaper som gruppen besatte (se figur 6.3).Något som är viktigt för ett spel är att det måste fånga <strong>den</strong> som spelarspelet. Vi hade även kriteriet att figurerna i spelet ska röra sig trovärdigt såman lättare kan skapa kontakt med <strong>den</strong> man kontrollerar. Detta problem belystestidigt och gruppen började att se om det fanns en bra lösning på hurman kan åstadkomma detta utan att vika på något av de kriterier som ställtsupp. Ett program som är utvecklat just för detta område uppmärksammades.Programmet Poser från företaget Curious Labs är utvecklat för ett enda syfte,nämligen karaktärsutveckling. Poser innehåller funktioner att sätta olika typerav rörelseanimeringar till en karaktär så resultatet blir väldigt trovärdigt.Den viktigaste fördelen var att det fanns kompabilitet mellan programmet ochFlash så karaktärerna enkelt kunde överföras till flashmiljö. Karaktärsutvecklingutfördes med hjälp av detta program (se figur 6.4).Musiken i spelet är även <strong>den</strong> egenproducerad och utvecklat för att framhävaolika känslor som kan tänkas dyka upp i olika situationer som Greger hamnar i.
6.6. UTVÄRDERING 716.6 UtvärderingFigur 6.3: Utvecklingsverktyget FlashDALO: The Return Of The Evil Phös skickades till en testgrupp för att fåsynpunkter kring spelet. Gruppen bestod av två huvudgrupper. Personer somstuderar vid datalogiprogrammet samt personer som inte gör det. Sammantagetså är det en positiv kritik som har yttrats. Datalogi-gruppen är mer positiv än<strong>den</strong> andra gruppen vilket kan förklaras i igenkänningsfaktorer. En majoritet avalla som testat spelet uttrycker att vi har en egen stil. Ytterligare positiva sakersom testgruppen framförde var att de tycker att det både är kul och framföralltmodigt att vi driver med oss själva i vissa situationer. På <strong>den</strong> negativa sidanså finner vi kritik som att problemlösningen är för enkel, svårt att hänga med idialogerna samt att de inte förstår vad spelet handlar om. Detta bidrog till attspelet finjusterades i slutskedet med nya scener och längre dialoger. Men mycketav kritiken kan besvaras <strong>genom</strong> att testpiloterna fick en tidig del av spelet atttesta då de mesta är tämligen enkelt upplagt. Men det som inte har sitt svar ivilken spelversion man spelar, har rättats till.6.7 Diskussion och slutsatsAtt spelet skickades runt till ett antal spelintresserade människor som fåttprovspela och sedan ge positiva och negativa kommentarer kring det var förgruppen ovärderlig information. Trots att gruppen i sig var nöjda med arbetetvid tidpunkten för utskicket, så belyste tredjepart saker som gruppen intealls uppmärksammade, vilket ledde till stora förändringar i spelutvecklingensslutskede.
72 KAPITEL 6. DALO: THE RETURN OF THE EVIL PHÖSFigur 6.4: Karaktärsanimationer skapas i PoserSynpunkterna som uppdagades <strong>genom</strong> testgruppen var en av de viktigastedelarna som vi lärt oss. Vikten av att handlingen berättas tydligt och i lagomtakt tillsammans med dynamiska problem. Vidare så har vi sett hur omfattandearbetet med att skapa ett spel är. Totalt sett så känns det som att spelet harutvecklats helt i <strong>den</strong> riktning som gruppen satte upp. Folk roas samt gillarkaraktärerna och <strong>den</strong> <strong>genom</strong>gående stilen på spelet. Förutom att vi fått insikti hur skapandeprocessen av ett spel fungerar så har vi som en extra bonus lärtoss nya program som exempelvis Poser. Inlärningen av dessa har dock tagit tidvilket gör att det känns extra kul att resultatet är så positivt bland testspelarna.DALO: The Return Of The Evil Phös kommer nu att fortsätta utvecklas runtdet resultat som testversionen gav. Skapa fler scenarion och mer varierande problem.Därför finns det planer på att ge karaktären Greger ytterligare förmågorsom han kan besitta. Men dessa är förnärvarande i ett tidigt planeringsstadium.Förhoppningsvis ska spelet även komma att innehålla upplåsningsbara funktionersom t.ex. Capsning.
Kapitel 7English is FunErik Borgenvik, Niklas Larsson, Martin Saegebrecht och Ulf Stenlund7.1 InledningVår uppgift var att utveckla en prototyp för ett eget datorspel, efter en egen idé.Av kursledningen blev vi uppmanade att börja med att definiera ett lämpligtprojekt. Kursledningens förslag var att vi skulle välja spel i någon av följandegenre: Arkad, puzzel, brädspel eller rollspel. Vi valde att utveckla ett pedagogisktspel i genren puzzel.En projektplan upprättades. Den mall med lämpliga milstolpar, som kursledningenförordat, valde vi att modifiera eftersom vi raskt konstaterade att vi,med det kunnande som finns i gruppen, borde kunna nå fram till ett fungeradespel, inte endast en prototyp. Mer information kring projektplaneringenredovisas under <strong>den</strong>na rubrik.Efter en inventering av det relativt omfattande kunnande om spel som finns igruppen har vi kompletterat <strong>den</strong>na inventering med studier av ett antal tidningsartiklaroch sökningar på internet. Se vidare under rubriken: Olika typer av spel.En konceptprototyp konstruerades. Ledstjärnan för gruppen var därvid attspelet skulle ge användaren glädje och kunskap tillbaka. Viktigt var också attspelet skulle designas för att vara slitstarkt. Spelet skulle erbjuda flera nivåersamt att ge någon form av belöning till användaren. Vi kom även fram till attspelet skulle implementeras med hjälp av programmeringsspråket Visual Basic.Konceptprototypens detaljer framgår under <strong>den</strong>na rubrik nedan.Konceptutvärderingen gjordes internt i gruppen och presenterades även förvår lärare. Vår bedömning var att konceptet skulle leda till ett trevligt ochanvändbart spel som skulle nå upp till vår målsättning. Vår lärare visadesig också tro på våra idéer. Se även vad som sägs under rubriken: Konceptutvärdering.Rubriken implementering inleder <strong>den</strong> del av <strong>den</strong>na rapport som beskrivervårt arbetsätt och de metoder som använts. I <strong>den</strong>na del tar vi även upp de73
74 KAPITEL 7. ENGLISH IS FUNsvårigheter vi stött på och de kommentarer vi fått i samband med testningenav vårt spel.Vårt arbete har lett till vissa slutsatser. Dessa är samlade under rubrikenutvärdering och innefattar även några tankar kring hur vårt spel skulle kunnaförbättras.De referenser vi har tagit är samlade under rubriken referenser.Som bilaga till <strong>den</strong>na rapport finns en illustrerad kortfattad manual som skaintroducera användaren till spelet.7.2 ProjektplanEn projektplan upprättades. Den mall med lämpliga milstolpar, som kursledningenförordat, valde vi att modifiera eftersom vi raskt konstaterade att vi,med det kunnande som finns i gruppen, borde kunna nå fram till ett fungeradespel, inte endast en prototyp.Följande aktiviteter använde vi som grund för projektets milstolpar.• Upprättande av projektplan.• Inventera vilka olika typer av spel som finns.• Göra en konceptprototyp.• Utvärdera konceptet.• Implementera konceptet <strong>genom</strong> att först dela upp arbetsuppgifter på defyra deltagarna och sedan integrera vad de fyra åstadkommit. Under arbetetsgång skulle regelbundna avstämningar göras.• Utvärdera det färdiga spelet.• Göra en enkel men illustrerad manual för spelet.• Sammanställa en rapport.Projektet har drivits i form av schemalagda gruppmöten och <strong>genom</strong> kommunikationmellan medlemmarna med hjälp av e-mail, ftp-servrar och ICQ. Förgruppmötena upprättades ett schema i Excelformat. Efterhand som arbetet fortskridithar gruppmötena skurits ned och var och en har arbetat enskilt med deöverenskomna arbetsuppgifterna. Till hjälp för rapportskrivandet upprättadesen e-mail-logg.Vi kunde snart konstatera att de milstolpar vi kommit överens om hadeuppnåtts betydligt tidigare än vad ursprunglig plan schema-lade och attlärarträffarna fick en inriktning mot kompletterande tips snarare än påpekan<strong>den</strong>i enskilda detaljer.Efter utförd konceptprototyp och konceptutvärdering kommer implementeringen.Vid implementeringen är vår avsikt att använda något programspråk.Valet kommer eventuellt att falla på Visual Basic som tre av gruppmedlemmarnaanvänt tidigare. Avsikten är även att återanvända bilder från 3D-modelleringskursen.
7.3. VILKA KRITERIER MÅSTE ETT SPEL UPPFYLLA? 757.2.1 Olika typer av spelLitteraturstudier för att inventera vilka olika typer av spel som finns är föreskriveti projektuppgiften. Mycket av de uppgifter som litteraturstudierna var tänkt attge var redan kända i vår grupp. Litteraturstudien blev därför av mer verifierandeart.I materialet som ligger till grund för detta projekt finns ett antal frågor somvi skulle besvara. Här följer frågorna och våra svar.7.2.2 Hur ska man definiera ordet spel?Ett spel representerar en låtsasvärld där syftet med spelet kan vara alltifrån attroa till att vara ett hjälpmedel för ett barn eller en handikappad.Det finns också speciella spel som flygsimulatorer och de krigsspel som militärenspelar för att simulera de ruskigaste krig.7.3 Vilka kriterier måste ett spel uppfylla?Ett spel ska ge användaren något tillbaka. Detta kan vara glädje, kunskap ocheller färdighet. Ett spel bör också vara slitstarkt till exempel <strong>genom</strong> att erbjudaflera nivåer.Säljbarhet är ett kriterium för en kommersiell datautvecklare.7.3.1 Vilka spelgenres finns det?• RPG (rollspel)• FPS (First person shooter)• Beat Them Up• Fighting spel• Sportspel• Strategispel• Pedagogiska spelOvanstående kompletterar de fyra genrerna från projektuppgiften.• Arkadspel ( Exempel: flipper, pong, jazzball)• Puzzel• Brädspel• Rollspel7.3.2 Vad skiljer datorspel från andra spel?• Datorn kan vara motspelare.• Interaktivitet.• Möjlighet till nätspel.
76 KAPITEL 7. ENGLISH IS FUN7.4 Vad är det som gör ett spel bra?En del av svaret finns under punkt 2.Andra svar:• Är responsen bra är spelet bra.• Bra spelkänsla är viktig.• Bra och realistiska effekter.• Bra interaktivitet.7.5 KonceptprototypDet spel vi valde att utveckla är ett pedagogiskt spel i genren puzzel.Den målgrupp vi valt är nybörjare i engelska. Syftet med spelet är att lärabarn i åldrarna 9 - 13 år engelska i en lekfull form.En konceptprototyp konstruerades där ledstjärnan för gruppen var att speletskulle ge användaren glädje och kunskap tillbaka. Viktigt var också att speletskulle designas för att vara slitstarkt. Spelet skulle erbjuda flera nivåer samt attge någon form av belöning till användaren.Vi kom fram till att spelet skulle implementeras med hjälp av programmeringsspråketVisual Basic som tre av oss projektdeltagare var hemma med.Spelets förstasida skulle innehålla en meny som leder till spelets olika delar.Bakgrundsbil<strong>den</strong> till förstasidan bestämde vi skulle göras i 3D-teknik i programmet3D Studio Max. Tre andra bakgrundsbilder skulle göras med hjälp avPhotoshop och ha likartade utseen<strong>den</strong>. Avsikten med detta beslut var att speletskulle få samma tema i de olika övningarna. På detta sätt blir det heller inteuppenbart att spelet gjorts av fyra olika konstruktörer.Spelets tre delar är rättstavning, ordförråd och grammatik. En fjärde bonusdelär ett hangman-spel. De tre delarna är indelade i tre nivåer med olikasvårighetsgrad.I alla de tre delarna ska bilder vara en del av spelet. Detta för att göra speletmer intressant. Även möjligheten att använda ljud ska utnyttjas i vissa delar.För att inte spelet ska bli enahanda ska frågorna inom varje nivå slumpas fram.För att få spela på en högre nivå ska underliggande nivå ha klarats. Bonusenatt få spela Hangman ska också vara att användaren klarat viss nivå på någotav de ordinarie spelen.För att utnyttja bildskärmen ska spelet köras i läge helskärm.7.6 KonceptutvärderingKonceptutvärderingen gjordes internt i gruppen och presenterades även förvår lärare. Vår bedömning var att konceptet skulle leda till ett trevligt ochanvändbart spel som skulle nå upp till vår målsättning.Utvärderingen indikerade att spelet borde kunna fungera som ett komplementtill skolans läroböcker i engelska. Att få barnen att utnyttja datorn tillnågot annat än tidsfördriv är också en viktig aspekt av vårt spel. Barn som
7.7. IMPLEMENTERING 77tidigt kommer i kontakt med datorer vänjer sig vid <strong>den</strong> interaktivitet datornerbjuder.Konceptet presenterades även för vår lärare, Thomas Larsson. Thomas troddepå våra idéer och uppmuntrade oss. Han gav oss också input <strong>genom</strong> atthänvisa till en intressant hemsida http://www.thegamesjournal.com [24]. Vi haräven läst en intressant artikel om spel [21].Av administrativa skäl fick vi under projektets gång en ny handledare, RickardLindell. Rickard gav oss en input <strong>genom</strong> att föreslå att vi tillämpar ”HeuristiskUtvärderingför att utvärdera designen.För detta ändamål fick vi, via e-mail, tillgång till en text: Heuristisk Utvärdering(Jakob Nielsen).Vårt koncept stämde i stort väl med det som <strong>den</strong>na form av utvärderingpekar på. De mindre justeringar, som behövde göras, beslöt vi att ta hand omi implementeringsfasen.7.7 ImplementeringVid implementeringen av vårt koncept delades arbetsuppgifter upp på de fyradeltagarna enligt plan. Enligt beslut under konceptutvärderingen justeradesvissa detaljer för att svara upp till <strong>den</strong> heuristiska utvärderingen vi underkastatoss. Under arbetets gång har regelbundna avstämningar gjorts.Den heuristiska utvärderingen har lett till att följande detaljer har justerats:För att ge användaren kontroll och frihet i samband med misstag har ettantal knappar av typen ¨lyssna igenïnförts. Tills användaren har bestämt sig försina val har han all tid i värl<strong>den</strong> att ångra sig. Detta ger användaren möjlighetatt ta sig ur oönskade tillstånd och möjlighet att korrigera felskrivningar.De olika delarna av spelet, rättstavning, ordförråd och grammatik, implementeradesalla med kombinationer av text och bild men på olika sätt och medolika syften.Rättstavningsövningarna kompletterades med ljud för att inte användarenskulle få fel vid val av en synonym istället för det ord spelutvecklaren tänkt sig.I <strong>den</strong>na övning är bil<strong>den</strong> mer ett komplement för att göra spelet lite roligare.Av pedagogiska skäl visar vi <strong>den</strong> rätta stavningen när användaren råkat stavafel och inte bara att det blev fel.I ordförrådsövningarna har bilderna en central betydelse. Problemet medsynonymer elimineras <strong>genom</strong> att användaren har 3 alternativ per bild att väljamellan. Ett problem vi uppmärksammat men inte arbetat bort är att svårighetsnivånpå ett visst engelskt ord kan vara olika ur ordförråds- och rättstavnings-perspektiv.Bilderna i grammatikövningarna associerar visserligen till de tre alternativameningar som presenteras men bil<strong>den</strong>s funktion är återigen att lätta uppspelet.Bonusdelen av spelet har dessvärre spolierats av en krasch i utvecklarensdator. Denna del av spelet var färdigt men hårddisken kraschade just när dethela var klart att skickas till övriga projektdeltagare. Att rekonstruera <strong>den</strong>nadel av programmet har inte hunnits med under <strong>den</strong> begränsade projektti<strong>den</strong>.Detta har medfört att en fullständig integrering av spelet inte varit möjligmen vår implementation har ändå gett en god möjlighet att testa spelet på en11-årig flicka i målgruppen vars synpunkter är följande
78 KAPITEL 7. ENGLISH IS FUNförsökspersonen fann spelet trevligt och lätt att förstå. Ordkunskapen upplevdehon som väldigt lätt. Vid högre svårighetsgrad var ordkunskapen riktigtrolig även om hon fick alla rätt. Rättstavningsövningen var lite svårare menockså rolig. På pluskontot upplevde hon även knackningen som tycktes kommafrån monitorns ruta om svaret dröjde. Det var också jättebra att kunna lyssnaigen och att kunna ändra det man skrivit när ordet såg felstavat ut.Grammatikfrågorna testades ”off line” eftersom installationen på hemdatornkrånglade. Men Personens fundering på vad ordet grammatik betyder visadeatt rubriken för övningen inte var känd från skolan. En annan benämning påövningen verkar alltså behövas. Innehållet i övningen var också för svår ochborde gås i<strong>genom</strong> med en pedagog.Testen utföll till belåtenhet men det finns en förbättringspotential.7.8 UtvärderingDe slutsatser vi drar av vårt arbete är att arbetsformen projekt har fungeratväl. Viktiga förutsättningar för att arbetsformen har fungerat bra för oss är delsatt projektdeltagarna kompletterat varandra dels att kunskapsnivån vad gällerspel är ganska hög i gruppen.Vi är nöjda både med <strong>den</strong> kursform ”spelspåret” representerar och det spelvi åstadkommit.Spelet kan naturligtvis förbättras. I huvudsak tror vi dock att redan implementeringenav <strong>den</strong> bonusdel vi har i vårt koncept ska leda till ett tilltalandespel.Den implementering vi har <strong>genom</strong>fört nu har ett begränsat antal frågor ochbilder. Det finns inte någon begränsning som hindrar att frågeantalet exempelvistredubblas. Vill man uppnå betydligt större variation än så eller nå andraanvändargrupper kan spelet lämpligen kompletteras med möjligheten att laddaolika databaser från fil.7.9 ManualBilagda illustrerade manual är kortfattad men ger ändå användaren en godintroduktion till spelet eftersom upplägget av spelet är mycket intuitivt.1. Starta spelet <strong>genom</strong> att klicka på english is fun.exe2. Den första sidan som kommer upp är en meny. Det är härifrån speletstartas och avslutas (se figur 7.1).3. Ordkunskap (se figur 7.2)4. Rättstavning (se figur 7.3)5. Grammatik (se figur 7.4)
7.9. MANUAL 79Figur 7.1: Här kan du välja vilken övning som du vill köra. Du kan välja mellanövningar i ordkunskap, rättstavning och grammatik. Efter att du valt övningkommer en ruta som heter nivå upp på skärmen. Klicka på nivårutan så startarspelet. När du fått tillräckligt antal poäng i en övning har du här även möjlighetatt spela på en högre nivå. (En lite svårare övning.) Det finns tre nivåer tillvar och en av övningarna. På startsidan kan du även se highscore och avslutaprogrammet
80 KAPITEL 7. ENGLISH IS FUNFigur 7.2: Du får 4 ord som du ska flytta till respektive bild. Observera att duförst ska klicka ett ord och sedan på <strong>den</strong> bild du anser stämmer med det valdaordet. Du kan ändra dig så länge du inte valt att gå vidare. När du är klarklickar du på knappen fortsätt.
7.9. MANUAL 81Figur 7.3: Lyssna till det ord du hör samtidigt som du tittar på bil<strong>den</strong>. Skrivsedan in ordet i rutan. Skulle du behöva lyssna på ordet igen klickar du påknappen som heter “Lyssna igen”. Du kan ändra din stavning så länge du inteklickat på knappen fortsätt. Om det låter som någon knackar på insidan skärmenberor det på att du tagit väl lång tid på dig! När du tycker att du är färdig,Klicka på knappen fortsätt. Är det rätt svarar datorn <strong>genom</strong> att skriva “Rätt”och <strong>genom</strong> att låta en grön ram lysa upp kring bil<strong>den</strong>. Skulle svaret vara fel blirdet en röd ram runt bil<strong>den</strong>. Datorn skriver “Fel” och visar hur ordet skulle hastavats.
82 KAPITEL 7. ENGLISH IS FUNFigur 7.4: Till varje bild finns tre alternativa svar varav varav bara ett är deträtta svaret. Välj det du tror är rätt. Klicka sedan fortsätt när du är klar.
Litteraturförteckning[1] Arkadspelshistorik. http://www.hut.fi/˜eye/videogames/Arkade.html.[2] BASS. http://www.un4seen.com/.[3] Bloodshed software dev c++. Bloodshed Software,http://www.bloodshed.net/devcpp.html.[4] Microsoft directx. http://www.microsoft.com/directx/.[5] Msnbc: Zelda voted best game ever. http://www.msnbc.com/news/908552.asp(2003-09-29).[6] OpenGL.org. http://www.opengl.org/.[7] Simple directMedia layer(SDL). http://www.libsdl.org/index.php.[8] Videospelshistorik. http://www-scf.usc.edu/˜tzufangh/history.html.[9] WinCVS. http://www.wincvs.org.[10] Xevious. http://home.hiwaay.net/˜lkseitz/cvg/vvgl/XEVIOUS.html.[11] Xyzzynews: Adventure game interfaces.http://www.xyzzynews.com/xyzzy.7f.html (2003-10-12).[12] The Mega Man Homepage: http://www.mmhp.net, 2002.[13] Helene Hård af Segerstad, Marianne Helgesson, Magnus Ringborg, and LenaSvedin. Problembaserat lärande. Liber, 1997.[14] Marius Andra. Cone3d programming. http://cone3d.gamedev.net/cgibin/index.pl?page=tutorials/gfxsdl/tut3.[15] Tobias Bjarneby. Det förlovade landet. Super Play, (5), 2003.[16] Rusell DeMaria and Johnny Lee Wilson. High Score! The Illustrated Historyof Electronic Games. McGraw-Hill Osborne Media, 2002.[17] Henry Egidius. Problembaserat lärande – en introduktion för lärare ochlärande. Stu<strong>den</strong>tlitteratur, 1999.[18] The Electronics Conservancy. Videotopia web site:http://www.videotopia.com/games.htm, 1998.83
84 LITTERATURFÖRTECKNING[19] Chris Frazier and Renate Kempf (Editors). OpenGL(R) Reference Manual:The Official Reference Document to OpenGL, Version 1.1 (2nd Edition).[20] Gamespot. Gamespot web site:http://www.gamespot.com/gamespot/features/video/hov/index.html, 2002.[21] Anders Öhman. Ropen skalla, datorspel åt alla. PC hemma, 2003.[22] Nicolai M. Josuttis. The C++ Standard Library. Addison-Wesley, 1999.[23] Stephen L. Kent. The ultimate history of videogames. Three rivers press,New York, 2001.[24] Wolfgang Kramer. What is a game. The Games Journal, 2003.[25] André LaMothe. Black Art of 3D Game Programming. The Waite Group,1995.[26] Thomas Larsson. Teknisk rapportskrivning – en kortfattad handledning.Institutionen för datateknik, Mälardalens högskola, 1999.[27] Jenny Lindblom. Utvecklar <strong>problembaserat</strong> lärande – PBL i större omfattningde metakognitiva förmågorna för ett livslångt lärande? Technicalreport, Högskolan i Skövde, 2000.[28] Andreas Neumann. Comparing swf (shockwave flash) andsvg (scalable vector graphics) file format specifications.http://www.carto.net/papers/svg/comparison flash svg (2003-09-25).[29] Charlotte Silén. Varför är PBL en attraktiv utbildningsidé i dagenssamhälle. In C. Silén and H. Hård af Segerstad, editors, Texter om PBL– teori, praktik, reflektioner. CUL-rapport nr 1, pages 22–36. LinköpingsUniversitet, 1990.[30] yourDictionary.com, Inc. American Heritage Dictionary web site:http://www.yourdictionary.com/ahd/a/a0401600.html, 2000.