Slutrapport för SquareShooter

Relevanta dokument
Slutrapport Get it going contracts

Slutrapport. Super Mario klon. Tomas Wallin tw222bv WP

[SLUTRAPPORT: DRAWPIXLZ (ANDROID-APP)] Slutrapport. Författare: Zlatko Ladan. Program: Utvecklare av Digitala Tjänster 180P

Slutrapport för Pacman

SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS

Tepz klon. - Projektrapport. Linnéuniversitetet, Individuellt mjukvaruutvecklingsprojekt Janina Bergström, WP12 Distans

Rune Tennesmed. Oskar Norling 1DV430. Individuellt Mjukvaruutvecklingsprojekt 1DV430 Webbprogrammerare H12 Oskar Norling

Ett spel skapat av Albin Wahlstrand

Projekt Rapport. RaidPlanner. Jeanette Karlsson UD10

Joakim Jonsson jj222kc. Minesweeper. Individuellt Mjukvaruprojekt Joakim Jonsson

Individuellt Mjukvaruutvecklingsprojekt

Kravspecifikation TDP005 Projekt: Objektorienterat system

ToDo ios-applikation. Mikael Östman. Mikael Östman - mo22ez Linnéuniversitetet

Mjukvaruprojekt Onlinebooks

LNU INDIVIDUELLT MJUKVARUUTVECKLINGSPROJEKT. Honey Hunter. Androidspel. Martin Karlsson 1/17/2014

Game of 40. Regler och om sidan är in princip samma sak. Det som skiljer dem åt är att de inte har samma text.

Utveckling av ett 2d spel i Java. Examensarbete av: Rickard Borg, EDTD13 Examensår: 2016 Opponent: Jesper Larsson Handledare: Jimmy Jansson

Skissa och gissa. Individuellt Mjukvaruutvecklingsprojekt, 1DV430. Christian Nilsson, cn222gc, WP

Slutrapport Thunderbug

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

SLUTRAPPORT RUNE TENNESMED WEBBSHOP

hannalabom.se Alexandra Jonasson Aj222im

Elevernas uppfattningar om alltmer digitaliserad undervisning

Priskamp. En prisjämförelsesite Björn Larsson

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

Projektarbete myshop. Sandra Öigaard so222es WP12 Individuellt mjukvaruutvecklingsprojekt

SEGLAISOLEN.SE En Wordpres Webbsajt

Att välja och planera ett projekt

Space Invaders - Slutrapport

Mina listor. En Android-applikation. Rickard Karlsson Rickard Karlsson - rk222cu Linnéuniversitet rk222cu@student.lnu.

PROJEKTRAPPORT EDA095 NÄTVERKSPROGRAMMERI

TDP005 Projekt: Objektorienterat system

Slutrapport för JMDB.COM. Johan Wibjer

Dagbok Mikael Lyck

TDDD78 Att välja och genomföra ett projekt

Programmering. Scratch - grundövningar

Hur jag lärde mig att älska Datavetenskap

Erik Lundgren GarageLoppisen.se. Projekt i kursen Individuellt Mjukvaruutvecklingsprojekt, 1dv430

Föreläsning 1: Introduktion till kursen

Slutrapport för Internetfonden

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo

Filhanterare med AngularJS

Gillakampen. av Merkur Hoxha WP

KAi SENSEMAKING SYSTEM

Endless shooter neon - Post mortem

Kort om World Wide Web (webben)

Kravspecifikation. TDP005 Projekt: objektorienterade system. Version 4.0 Datum Anna Ahlberg Johan Almberg

Labrapport över Rumbokningssytemet Grupp:1

Objektorientering i liten skala

I vilken grad är du nöjd med relationen mellan dig och din senior?

RemoteBud. Inlämnas: Patrik Johnsson, e01pjo Viktor Karlsson, e01vk

GYMKEEPER ANDREAS SÖDERSTRÖM

Slutrapport YUNSIT.se Portfolio/blogg

Föreläsning 1: Introduktion till kursen

Gran Canaria - Arbetsbeskrivning knapplänkar (Mediator 8)

Programming in C# and.net Framework

HejKalmar app. Projektrapport. Webbprojekt I

Bakgrund. Genomförande

1DV434 VT14. I vilken utsträckning har kursens innehåll och uppläggning gett förutsättningar för att du ska ha uppnått respektive lärandemål?

DA205A Programmering med C# II

Programmering B med Visual C

TDDD78 Att välja och planera ett projekt

Kravspecifikation. Sammanfattning. Fyra i rad Javaprojekt inom TDDC32. Version 2.0. Datum Dokumentnummer

LABORATIONSUPPGIFTER WINDOWS OPERATIVSYSTEM

Föreläsning 1, vecka 6: Abstraktion genom objektorientering

NXT LEGO-robot laboration Programmering och felsökning av en LEGOrobot

Vi är alla i gruppen väldigt intresserade av spel och vill lära oss mer om hur man skapar ett helt spel från idé till slutprodukt.

I samband med uppgraderingen till GDPR kompatibel version kommer alla användare av CuttingEdge behöva logga in med personliga konton.

UPPDATERA DIN UNICO-ORGELS OPERATIVSYSTEM!

PlantPuppy Räddaren för den som inte kan hålla växterna vid liv

Röna fingrar e gött o ha:) SLUTRAPPORT BUDGETSYSTEM LNU

JavaScript del 5 Funktioner

DD

Evaluation Summary - CDT104 Grundläggande Webbdesign HT07 Dan Levin

Vad tycker du om kursen som helhet? 1 - Mycket dålig 0 0% 2 1 2% 3 0 0% % 5 - Mycket bra 25 57%

Programmering eller Datalogiskt tänkande

RESULTAT - MÅLUPPFYLLELSE

1. Flervalsfråga Andel

ENKEL Programmering 3

Post Mortem för Get The Treasure!

Meteor 1.0. När man startat Meteor möts man av huvudmenyn:

Föreläsning 1: Introduktion till kursen

Hur fungerade det med bibliotek, studiematerial och datorer?

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Kursvärdering 1DV433 Strukturerad programmering med C++ LP Lärare: Tommy Löfqvist 17 svar

Programmeringsappar. Av Alex

Universe Engine Rapport

Labbrapport LEGO-robot linefollower

Objektorienterad konstruktion

Rapport Digitala Projekt EITF11 Grupp 4 Axel Sundberg, Jakob Wennerström Gille Handledare: Bertil Lindvall

TDDD78, TDDE30, 729A85 Objektorienterad programmering och Java

Programmering av en Lego robot

Projekt EITA15. Väckarklocka. LTH Ingenjörshögskolan vid Campus Helsingborg Datateknik

Partneruniversitet: Universitat de Barcelona HT18. Varför valde du att studera utomlands? Jag ville uppleva hur det var att studera utomlands.

Programmering på papper. Datorer, programmering och instruktioner

KUNGLIGA TEKNISKA HÖGSKOLAN. Linefollower. Med LEGO Mindstorms och NXC. Paul Coada Introduktion i datateknik II1310

Vilken skillnad gör det var du placerar det? Prova båda.

Projektmaterial. Birkagårdens folkhögskola

Objektorienterad programmering

Transkript:

Slutrapport för SquareShooter Författare: Björn Overå Datum: 100609 Page 1

Abstrakt: Detta är en slutrapport för ett projekt jag har haft i kursen Individuellt Mjukvaruutvecklingsprojekt. Denna rapport handlar om vad jag har lärt mig under projektets gång. Alla positiva och negativa egenskaper. Sen avslutas rapporten med en slutsats på vad mitt spel har för utvecklings potential för fortsatt utveckling. Jag gjorde ett spel i Windows Presentation Foundation (WPF). De motgångar och framgångar jag har haft ligger i tekniska områden. WPF är inte byggt för spelprogrammering utan mer applikationer så uppemot slutet av projektet så fick jag problem med timers och Frames Per Second. Vilket leder till att språket XNA hade varit bättre för att göra spel. Page 2

Förord: Jag valde att göra ett spel därför det är det som kändes inspirerande att göra. Har alltid varit intresserad av spelprogrammering. Så det var inget svårt beslut när vi skulle välja vad för projekt vi ska göra. Enjoy ze Report! Page 3

Innehållsförteckning Utförande av Projekt. Sida 5 Positiva Erfarenheter Sida 5 Negativa Erfarenheter.. Sida 6 Sammanfattning Sida 7 Page 4

Utförande av projektet Jag började projektet med att tänka ut vad för spel. Tankarna föll på en variant av Crimsonland. Verkade enkelt programmerings mässigt men ändå kunde bli en rolig idé. Språket jag skulle utveckla i föll på WPF. Anledningen var att jag inte kunde programmera i XNA medan jag hade en bra uppfattning om hur man gör i WPF de mest grundläggande sakerna. Så för att inte hitta några brister i WPF utan allting kunde göras så gjorde jag en prototyp först där all grund spelmekanik infördes. Det tog 2 veckors arbete att göra spelprototypen. Sen ytterligare 1 vecka att göra menysystemet. Det var knapparna som tog tid att göra i menyn. Efter det så börjades den riktiga versionen. Vilket bestod av att förbättra koden och arbeta mycket mer objektorienterat samt att faktiskt införa grafik. Det tog 1 vecka att fixa den riktiga menyn och efter det så påbörjades själva spelet då man åter kunde skjuta monster o.s.v. Vilket gick bra med lite tekniska funktioner som måste läggas till. Det tog också ett tag innan monster kunde målas ut för att jag arbetade på basklasser som skulle styra det mesta så att det var enkelt att återanvända saker. Har jobbat mycket med objektorientering i spelet så att det är enkelt att lägga till nya saker. Vilket gör utvecklingspotentialen stor. Positiva Erfarenheter Det har varit lärorikt att göra ett spel. Att ta en idé och försöka göra det bästa utav det. Jag kan säga att idén lät roligare på teorin planen än vad den var i verkligheten. Men det är för en annan del vad som gick fel! Den mest positiva erfarenheter är tekniska kunskapar har förbättrats. Jag har lärt mig WPF bättre, inom områden som styling, placering, events, hur man gör ett spel i WPF! Har även lärt mig objektorientering på högre nivå än att bara ha 2 klasser där 1 klass använder funktionen från första klassen. Nu är det snarare 1 klass används till ~6 klasser. Även använt mig utav polymorfism och andra saker och lärt mig lite bättre hur de funkar. Så detta spel har varit väldigt bra för att lära sig programmera bättre. Det jag tycker gick extra bra i hela programmeringen var mitt uppgraderings system. Hade dock velat göra om 1 sak för att göra det ultimatare. Jag tycket det gick så bra för att jag lyckades få till en väldigt bra objektorienterad funktion som kunde hantera hur många uppgraderingar som helst och gjorde indrag på uppgraderingars om hade förkrav och visade vad för förkrav det var. För att lyckas upprepa det är inte så svårt. Gäller bara att tänka väldigt objektorienterat för att lyckas. Det tog mig många minuter att tänka ut hur systemet skulle se ut tills slut. Ifall man Page 5

ska utveckla ett större system än mitt uppgraderingssystem så vore det bra att måla upp ett klass diagram/karta över hur det funkar för att enkelt kunna förstå! Och det har sin fördel ifall man är fler än 1 person i projektet också. Negativa Erfarenheter Jag har faktiskt inga stora negativa erfarenheter. Utöver att WPF hade lite problem förmodligen i WPF själv. Enda sättet att upptäcka att språket man använder är inte lämpat för det man gör är att testa den viktiga funktionaliteten först. Vilket jag missade att göra på 1 väldigt viktig del. Vilket var timern i WPF. När det var 1 vecka kvar till deadline så la jag till en FPS räknare för att ibland så sjönk FPSen på andra datorer när man rörde på sig. Och ibland för mig när jag rörde musen i stora rörelser. Så att programmera i XNA hade varit bättre för att göra detta spel i. Hade å andra sidan behövt lära mig mycket mer och förmodligen aldrig fått samma resultat. Om resultatet hade blivit sämre eller bättre går inte besvara. Jag trodde aldrig att det var på grund av timern maxgräns och WPFs lag spikes. Så därför upptäckte jag aldrig FPS felen förrän senare. Alla mina beräkningar var gjorda att det var 40 FPS och sen kunde WPF inte göra mer än 32-33 och när jag försökte ändra till 32-33 så blev programmet buggat. Med tanke på mindre än 1 vecka kvar till deadlinen och mycket kvar att göra så lät jag spelet fortfarande tro att det var 40. Så 1 sekund är egentligen 1.2 eller något sådant. Så det gäller att testa den viktiga funktionaliteten där man tror det finns brister för att snabbt se ifall det går att fortsätta eller inte. Vilket jag misslyckades med och har tagit lärdom av. Sammanfattning Det har varit lärorikt att göra mitt spel. Även om jag inte är direkt nöjd med det för att det känns meh och inte är så jätteroligt. Nu är det ju som tur så att själva genren bara är rolig i små doser och man spelar det inte särskilt mycket. Men det finns alltid där ifall man blir uttråkad. Sen är det ju så att för tillfället så finns alla uppgraderingar tillgängliga på direkten. Så utforskandet i att testa allt i spelet aldrig väcks. Man behöver aldrig spela om för att testa alla uppgraderingar. Men men, som tur är så kan man finslipa på spel ifall man vill. Jag kommer att inte fortsätta på detta spel dock. Skulle testa någon annan spelidé när jag gör ett nytt spel! Men ifall jag väljer att fortsätta på SquareShooter så finns det mycket utvecklings potential. Det är enkelt att lägga till saker. Page 6

Det svårare är balanseringen så att det blir stegvis svårare men fortfarande spelbart och det ska vara roligt också mer än bara 1 gång för att allt är nytt. Behöver återspelar värde! Vilket t.ex. en highscore lista som man kan slå. Som gärna ligger på internet så att flera spelare tävlar mot varandra om mest poäng. Mitt rekord är ~34 000 poäng ifall den som läser denna rapport vill försöka slå det ^_^ och ~20 000 i Dodge Ze Palm. Page 7