Slutrapport för Pacman



Relevanta dokument
Utvärdering av föräldrakurs hösten 2013

Kursutvärdering Ämne: SO Lärare: Esa Seppälä/Cecilia Enoksson Läsåret Klass: SPR2

Vad roligt att ni har valt att bjuda varandra på den här timmen.

Tärna Folkhögskola IT-pedagogutbildningen Individuellt fördjupningsarbete Vt IT I FÖRSKOLAN. Författare:Tove Andersson

Uppgift 24A - Reflektion över boken "Vem snodde osten?"

Slutrapport för JMDB.COM. Johan Wibjer

Alla får ligga. strategier i förförelsekonst för den moderna gentlemannen och kvinnan

Samtal kring känsliga frågor

Slutrapport YUNSIT.se Portfolio/blogg

ELEVHJÄLP. Diskussion s. 2 Åsikter s. 3. Källkritik s. 11. Fördelar och nackdelar s. 4. Samarbete s. 10. Slutsatser s. 9. Konsekvenser s.

VIDEODAGBOKEN. Individuellt Mjukvaruutvecklingsprojekt. En dagbok i videoform online. Robert Forsgren (rf222ce) UD

FÖRÄLDRAENKÄTER. Magelungen Kolloverksamheter BONDEGATAN STOCKHOLM TELEFON

Framtidstro bland unga i Linköping

1. Att lyssna 1. Titta på den som talar. 2. Tänk på vad som sagts. 3. Vänta på min tur att prata. 4. Säg det jag vill säga. 1.

Case: Kundservice. Vad är det som idag kan kallas service? Madeleine Lindqvist

AYYN. Några dagar tidigare

Så, med nytt (inget) hår satte jag mig på planet till Irland och Dublin!

Struktur Marknad Individuell

Övning: Dilemmafrågor

Rebecca, SG - Reserapport. Kenya- Sommar 2013

1En engagerad förälder är positivt. 1 Skriftliga omdömen. 2 En framåtsyftande planering

FÖRETAGSAMHET LÖNAR SIG ALLTID

SLALOMINGÅNGAR hur svårt kan det vara?

Positiv Ridning Systemet Om att sätta mål Av Henrik Johansen

Endless shooter neon - Post mortem

Slutrapport. Super Mario klon. Tomas Wallin tw222bv WP

I vilket förhållande står du till din anhörige som har problem med alkohol/droger? make/maka son/dotter förälder syskon arbetskamrat annat.

SLUTRAPPORT. Sebastianlund.com. Individuellt mjukvaruutveckingsprojekt, 1DV430. Författare: Sebastian Lund WP11 Datum:

5. Skill # 2 Inviting Prospects to Understand Your Product or Opportunity. Många posers och amatörer gör dessa fel i början när dom ska bjuda in

KiVa Skola situationskartläggningen 2016 sidan 1/31. KiVa Skola situationskartläggningen 2016 sidan 2/31

FÖRKORTA DIN VÄG PÅ BANAN

Övningar till avsnitt 3 - Leva inifrån och ut

6-stegsguide för hur du tänker positivt och förblir positiv.

Sammanställning av studentutvärderingen för kursen Estetiska lärprocesser 15 hp, ht 2007

Barns och ungdomars åsikter om akuten, barnakuten och avdelning 11

Evaluation Summary - CD5570 DoA, distans VT 2004 Dan Levin

Jag ritar upp en modell på whiteboard-tavlan i terapirummet.

Kursutvärdering. Samhällskunskap A

Designteam 9 s designförslag

Chefens sju dödssynder - undvik dem och lyckas som ledare!

GUD JESUS TRO LEK LLIVET KÄRLEK PARTY STILLHET. familj DÖDEN. kyrka RELATIONER TVIVEL SKRATT VÄNNER. läger livskunskap BIBELN KOMPISAR

VAD ÄR KÄRLEK? I mitt arbete med par har jag märkt att många får konflikter. för att de uppfattar kärlek på olika sätt. Det är vanligt att tro att

Utvärdering 2015 deltagare Voice Camp

Digitalt lärande och programmering i klassrummet. Introduktionsworkshop - Bygg ett akvarium i Scratch

DK-serien. Gör en fotobok med myphotobook.se

Bedömning för lärande. Sundsvall

Utvecklingssamtal Chefsmaterial Bild på man och kvinna som samtalar.

Pedagogiskt material till föreställningen

JAG LÅG BREDVID DIG EN NATT OCH SÅG DIG ANDAS


Innehållsförteckning

Jona. Jona bok är en profetbok, men en väldigt annorlunda sådan, och också en väldigt kort, du läser ut den snabbt hemma i em.

Fördjupningskurs i byggproduktion, ht 2009.

För dem som är på behandling Detta är en översättning av en publikation godkänd av NA-gemenskapen.

Verktyg för Achievers

Hur upplevde eleverna sin Prao?

modiga Första-hjälpen hästar UPPLYSANDE» för säkrare hantering

Enkätsvar Fler kvinnor. Enkätsvar 2013 Kyrkans Familjerådgivning Stockholm

2. Hur tycker du att stämningen i sjuan i stort har förändrats under året glädje, trygghet, gemenskap och kommunikation?

Introduktion. Vinnande medarbetarskap

HANDLINGSPLAN AMT Arbete mot mobbning och annan kränkande behandling vid Bodals skola F-9

Att fylla i schema på barnomsorg på webben

Arbetsmöte 1. Vi arbetar med vår värdegrund

Kursprogram Golfträning 2014

Utvärdering av 5B1117 Matematik 3

Fördelarna med Meditation och hur du använder den i ditt liv

Herren behöver dem. Av: Johannes Djerf

En annan mycket roligare del i arbetet var att jag ofta fick följa med min handledare ut på

Församlingens verktygslåda del 2 Av: Johannes Djerf

PRAO åk 8 vecka 13 och Vecka 14 är Påsklov och eleverna är också lediga annandag Påsk vecka 15!

Finansierad av: Tell-Us

Lära och utvecklas tillsammans!

{ karriär & ledarskap }

Orolig för ett barn. vad kan jag göra?

2. Mitt namn är... och jag ringer för att vi har fått in en intresseanmälan av dig om att arbeta hemifrån, stämmer det?

Så får du bättre. självkänsla. Experter Frågor och svar Intervjuer Steg för steg-guider Praktiska tips SIDOR

Hur har ni informerat om stödet från Leader Bergslagen? Bifoga affisch eller liknande!

Barns och ungdomars informationskanaler kring hälsofrågor

Välkommen till ditt nya liv. vecka 13-16

Tillitsfull KLARTÄNKT

Transseans på Stockholm Spiritualistiska Förening. Den 8 februari, 2016

Åker igenom samtliga sträckor, men finner till vår besvikeslse att det inte finns speciellt mycket sevärt på denna tävling, fastnade för en vänster

Protokoll fört vid extra-insatt styrelsemöte #1 som ägde rum

Utskrift av inspelat samtal hos Arbetsförmedlingen

MENING MED LIVET? FINNS DET NÅGON

Sammanställning 3 Lärande nätverk samtal som stöd

5 vanliga misstag som chefer gör

SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS

Stina Inga. Ur antologin nio, utgiven av Black Island Books och Norrbottens länsbibliotek, 2002 ISBN Intervju: Andreas B Nuottaniemi

En liten guide till kvinnohälsa

1. Bekräftelsebehov eller självacceptans

Självkänsla. Här beskriver jag skillnaden på några begrepp som ofta blandas ihop.

Likabehandlingsplanen = Plan mot kränkande behandling

Att leva med Parkinsons sjukdom

Snabba fakta. När deltagare: 30 juli 5 augusti När funktionär: 29 juli 7 augusti. Var: Vässarö, ytterskärgården 14 mil norr om Stockholm

Hur mäts kunskap bäst? examinationen som inlärningsmoment


Karriärplanering Övning 07: Att söka jobb en handlingsplan

Utvecklingsoch lönesamtal ger dig inflytande

Transkript:

Slutrapport för Pacman Datum: 2011-05-30 Författare: cb222bj Christoffer Bengtsson 1

Abstrakt Jag har under våren arbetat med ett projekt i kursen Individuellt Mjukvaruutvecklingsprojekt. Målet med mitt projekt har varit att skapa en klon utav spelet Pacman. Under arbetets gång har jag använt mig av programmeringsspråket C# och ett ramverk som heter XNA. I denna rapport tänkte jag gå igenom hur mitt projekt gick, vad som gick bra och vad som gick mindre bra. Vad jag dock kan säga redan nu är att i alla fall med de förkunskaper jag hade så är Pacman mycket mer komplext än vad man kan tro även om spelet är gammalt. 2

Innehållsförteckning Inledning...4 Positiva erfarenheter...4 Negativa erfarenheter...5 Sammanfattning...6 3

Inledning När jag skulle börja arbeta mitt projekt hade jag väldigt mycket problem med att bestämma mig vad jag ville göra, jag sökte runt väldigt mycket på internet för att hitta idéer men kunde inte direkt komma på något unikt som jag skulle kunna göra med de förkunskaper jag hade. Jag började då fundera på om det fanns något spel jag kunde göra då just spelprogrammering länge varit ett av mina intressen och mitt val föll då mellan Pacman, Tetris eller Space Invaders. Tillslut valde jag dock att arbeta med Pacman då detta är ett väldigt känt spel och jag trodde att det skulle ge mig en god utmaning. I början av projektet spenderade jag mycket tid på att planera och försöka fundera över hur jag skulle kunna programmera de olika delarna av spelet. Under min inledande period av projektet spenderade jag min tid med att spela Pacman och diverse kopior för att kunna få en uppfattning om vilken funktionalitet jag vill ha i spelet och hur jag skall kunna lägga till det i mitt spel. Positiva erfarenheter Till att börja med skulle jag vilja säga att jag har stött på både goda och dåliga erfarenheter. Jag skulle dock tro att det flesta negativa beror på att jag inte haft tillräckligt stora förkunskaper och att jag i början av mitt projekt antog att eftersom ett spel är gammalt så kommer det inte bli överdrivet svårt att göra en klon av, vilket dock visade sig felaktigt men mer om det senare. Något jag skulle vilja ta upp är min planering där jag både haft väldigt stor framgång men också väldigt stora motgångar. Det som gått bra är att jag faktiskt trots stora motgångar i början, tillslut lyckades uppnå en god mängd arbetstid även om majoriteten av arbete skedde under den andra halvan av projektet. Anledningen till att detta gick så bra tror jag är för att jag visste att jag behövde skärpa mig och att när jag väl börjar ta saker riktigt på allvar så kan jag verkligen pressa mig själv till utmatning om det ger resultat. Något annat som jag är väldigt nöjd med är hur mitt koordinatsystem i spelet blev tillslut. Koordinatsystem används för att mina karaktärer ska kunna veta vart de befinner sig på spelplanen och för att de ska kunna röra sig därefter. Anledningen till att detta blev så bra tror jag är för att jag spenderat så mycket tid på att göra det bättre samt att jag när jag fastnade fick hjälp med att komma i rätt riktning utav dem som är mer kunniga än jag inom XNA och C#. Viktigt att då tänka på inför framtiden är att om du skulle fastna försök ta kontakt med och diskutera dina problem med dem som är mer kunniga inom ämnet. Det är givetvis viktigt att läsa i litteraturen samt leta runt på internet. I slutet av projektet så arbetade jag med att lägga till ett system som håller reda på tidigare poängrekord och till en början gick det inte så bra då jag stötte på en massa olika problem som gjorde att mitt spel inte fungerade som det ska men efter att jag spenderat lite tid med att leta runt på internet och leta efter exempel på hur andra gjort så lyckades jag få det att fungera och jag skulle också vilja påstå att resultatet blev riktigt bra. Det enda jag inte tycker om är faktumet att jag inte kan skriva in ett eget namn men detta var något som jag valde bort att ha med för att det gav mig så mycket problem och för att jag istället skulle få tid till att lägga in musik. 4

Negativa erfarenheter När det gäller negativa erfarenheter finns det en hel del att se på men som jag nämnde som både något positivt och negativt så är det min planering av projektet. Det bra med min planering var att jag mot andra halvan av projektet skärpte mig och verkligen fick saker och ting gjort men för att fokusera på det negativa så var jag i början väldigt dålig på att följa min planering även om jag tidigt i veckan funderade ut vad jag behövde åstadkomma. Anledningen till att jag inte följde min planering tror jag såhär i efterhand först och främst var för att jag underskattade hur mycket tid 180 timmar faktiskt är när vi talar om en 10 veckors period och du under denna tid även läser en annan kurs. Jag tror också det har att göra med att jag inte i förväg såg till att de program jag använde under min utveckling verkligen fungerade på min bärbara dator då jag var iväg från min stationära dator där jag normalt sett arbetar med programmering. Detta skedde 2 veckor i rad och då jag faktiskt inte kunde testköra mitt spel så kändes det meningslöst att arbeta med det under den tiden jag inte hade tillgång till min stationära dator. Något annat som i början av projektet inte gick så bra men som blev mycket bättre i andra halvan av projektet är min tidsrapportering. I början av projektet noterade jag i princip bara hur mycket tid jag spenderat och satte en stämpel på vad jag arbetat med (implementation, planering osv.) men i andra halvan började jag istället även notera mer vad jag faktiskt gjort och vad jag kände behöver göras framåt. Detta har hjälpt mig väldigt mycket och har varit bra för att ge mig en överblick över vad jag faktiskt gjort i projektet och vad som fortfarande behöver göras. Det har även såhär i efterhand gett mig information till denna rapport om hur mina arbetspass faktiskt gick. En sak som jag dock vill gå igenom som jag inte gjort så mycket av men som jag personligen tycker är väldigt viktig är dokumentation av testfall. Jag har inte direkt gjort någon stor mängd med testdokumentation och när ett projekt är individuellt såsom detta och när projektet relativt sett är ganska små så kan jag tycka att det är ok. Vad jag dock insett är att testdokumentation kan ge dig en bra överblick över vad som gått fel och vad som kan orsakat felet. Något jag också noterat när det gäller testning är att det är så mycket som kan gå fel och så fort ett projekt blir större så är det väldigt viktigt att hålla reda på vad som inte fungerar korrekt och hur detta uppstår. När man sedan också arbetar i ett projekt som inte är individuellt blir det än mer viktigt att göra testdokumentation eftersom det är helt omöjligt för en person att veta om ett fel är åtgärdat eller hur man återskapar ett fel så att man kan göra något åt det om det från början är någon annan som hittat felet. Men som sagt när man arbetar individuellt så är det inte lika viktigt med att dokumentera testning just för att någon annan behöver ha informationen. Såhär mot slutet av projektet kan jag också säga att när det gäller testningsdokumentation så skulle den kunnat vara bra tidigare i projektet för att jag bättre skulle kunnat prioritera om vad som faktiskt behöver göras. Jag spenderade flera veckor på att få mitt koordinatsystem att fungera och detta gjorde att jag länge knappt hade något att visa upp eller få feedback på. Det gjorde också att projektet i princip stannade upp då jag under en längre tid arbetade med och gjorde om samma sak ett flertal gånger. Det hade då kunnat vara bra att ha testning- och fel-dokumentation som gjorde att när det väl fungerade dugligt så kunde jag gått vidare och sedan när jag fått tid gå tillbaka och förbättrat. En till sak som är negativ är hur mitt spel ser om din karaktär och ett spöke rör vid varandra. Detta är för att jag valde att försöka efterlikna originalet. I originalet så sker en kontroll som säger att om Pacman och ett spöke någon gång befinner sig på samma koordinat så är det en träff. 5

Problemet med detta är att om Pacman och ett spöke rör sig rakt mot varandra kan det vara så att när uppdateringen sker så passerar man rakt igenom varandra utan att träffa eftersom både Pacman och spökets koordinat blev uppdaterade innan dem faktiskt befann sig på samma. Dock så sker detta mer ofta än vad det gjorde i originalet vilket jag tyvärr inte lyckats ta red på varför. Så även om detta är negativt så var det ett val jag personligen gjorde och om jag någon gång i framtiden ska försöka efterlikna något annat så får jag än en gång fundera på om man ska försöka efterlikna originalet eller ändra hur logiken fungerar. När det gäller något jag tyvärr inte blev speciellt nöjd med måste jag säga att det är hur mina datorstyrda karaktärer fungerar. De är väldigt simpla och har inget som kan liknas vid intelligens överhuvud taget. Anledningen till detta var att jag inte ville fastna för mycket på en funktion som jag gjorde när det gällde mitt koordinatsystem, det blev så att min AI (datorstyrda karaktärer) fick lida för att jag ville gå vidare och för att jag tyckte att det var bättre att faktiskt tillslut få ett resultat än att sitta med ett halvfärdigt projekt och en grym AI. Jag tror också att en annan anledning till att den inte blev så bra är för att jag trodde att det skulle vara mycket simplare att lägga till än vad det senare visade sig. Sammanfattning Sammanfattningsvis så skulle jag dock vilja säga att som jag nämnt ett par gånger så har jag underskattat hur komplext Pacman faktiskt är (i alla fall relativt sett mot vilka förkunskaper jag hade). Detta har ofta gjort att jag tror att saker kommer bli lätta att lägga till i mitt spel men som senare tagit väldigt mycket tid att lägga till. För att nämna två exempel så logiken bakom mina datastyrda karaktärer (AI) och mitt koordinatsystem. Vad jag dock kan säga är att även om jag i alla fall vad jag personligen tycker tog mig vatten över huvudet och har en hel del negativa erfarenheter så har jag lärt mig mycket mer än vad jag trodde att jag skulle kunna lära mig. Mina kunskaper inom programmering som helhet och speciellt mina kunskaper inom C# har ökat enormt mycket och jag är glad att jag valde att arbeta med det jag gjort även om jag som sagt antagligen underskattade svårighetsgraden. Jag vill också säga att även om jag som sagt haft en hel del negativa erfarenheter, så skulle jag faktiskt vilja påstå att man lär sig mer av att göra fel och att arbeta med något som är lite svårare än vad man klarar av. Än att arbeta med något som är lätt och som bara gör att det blir positiva erfarenheter. Eftersom om det är för lätt så kommer du knappt lära dig något av det. När det gäller utvecklingspotential i framtiden så finns det en hel del saker jag tycker skulle kunna förbättras i mitt projekt bland annat hur de datastyrda karaktärerna fungerar men också sådana simpla saker som att jag inte tog med bonus föremål för extra poäng och att du inte kan skriva in ditt namn när du får ett nytt poängrekord. När vi istället pratar om mig själv så tror jag att detta projektet har gett mig väldigt mycket och att jag byggt en bra grund att arbeta på i framtiden. Även om jag nu kan en stor del mer än vad jag kunde tidigare så inser jag nu att det finns så mycket mer att lära sig än vad jag tidigare trott och jag ser fram emot att utforska vad som kan finnas att ta lärdom av. 6