Individuellt Mjukvaruutvecklingsprojekt



Relevanta dokument
En Single-Page Application för små barn, barnens föräldrar samt en och annan mormor

Presentationsövningar

Tränarguide del 1. Mattelek.

Syftet med en personlig handlingsplan

Hävarmen. Peter Kock

Kampanj kommer från det franska ordet campagne och innebär att man under en tidsbegränsad period bedriver en viss verksamhet.

Projektrapport. knowit.now. Alexander Gottfridsson (ag222ie) Individuellt mjukvaruprojekt, 1DV430

Visualisering av golfboende

VÄRDERINGSÖVNINGAR. Vad är Svenskt?

Det är bra om även distriktsstyrelsen gör en presentation av sig själva på samma sätt som de andra.

Energi & Miljötema Inrikting So - Kravmärkt

Ungdomssektionen fick i uppdrag att hålla i verksamheten tillsammans med Emma.

Hur du arbetar med VFU-portfölj i Mondo. en lathund för student

Boken om Teknik. Boken om Teknik är en grundbok i Teknik för åk 4 6.

Utvärdering APL frågor till praktikant

Skriva B gammalt nationellt prov

Lathund till Annonsportalen

Vi skall skriva uppsats

ELEV- HANDLEDNING (Ansökan via webben)

Text och bilder gjorda av Rickard Johansson, TE14A Realgymnasiet.

Bygg ditt eget dataspel på sommarlovet!

Intervjumall. Datum: Intervjuare: Kandidatens namn: Kandidatens uppgifter: Växel: (5)

Rapport uppdrag. Advisory board

GRUNDERNA I SJÄLVLEDARSKAP

Programmera en NXT Robot

Praktisk programmering

STADSLEDNINGSKONTORET

Sammanfatta era aktiviteter och effekten av dem i rutorna under punkt 1 på arbetsbladet.

Enkätresultat. Enkät: Utvärdering moment 2. Datum: :28:20 Aktiverade deltagare (Klinisk psykologi 1 (22,5hp)) Besvarad av: 27(47) (57%)

Laborativ matematik som bedömningsform. Per Berggren och Maria Lindroth

Invisible Friend Senast uppdaterad

Vanliga frågor. LEGOeducation.com. Konceptet. Processen

ÄT RÄTT NÄR DU TRÄNAR

Axiell Arena. Samarbeta om bilder Regionbiblioteket i Kalmar län

Algebra, polynom & andragradsekvationer en pampig rubrik på ett annars relativt obetydligt dokument

Fullför installation av ELIQ

Tankar om elevtankar. HÖJMA-projektet

INTERVJU MED TOMI SÖDERSTRÖM, PRODUKTCHEF / MAT- & RESTAURANGSERVICE, SILJA LINE , HELSINGFORS

Uppdrag: Huset. Fundera på: Vilka delar i ditt hus samverkar för att elen ska fungera?

FINLAND I EUROPA 2008

Samtals- och dokumentationsunderlag Språk och erfarenheter

Cellgifter/Cytostatika Myter & Sanningar:

Intervju med Årets teknikkvinna 2011 Anna Pernestål

Elektronen och laddning

Har vi lösningen för en bättre hemtjänst? Självklart.

Webb-bidrag. Sök bidrag på webben Gäller från

ANVÄND NAVIGATIONEN I CAPITEX SÄLJSTÖD

Handledning för digitala verktyg Talsyntes och rättstavningsprogram. Vital, StavaRex och SpellRight

Om man nu listar ut hur man fått fram kamera funktionen så kommer nästa förvirring.

Utvärdering fadderverksamhet (Nyanländ)

Sveriges Trafikskolors Riksförbund Film om körkort för nysvenskar Speakertext - Svensk

Kulturmöten. Det var vi som gjorde det.

Utbytesstudier vid Aalto University Helsingfors, Finland Höstterminen 2014 Therese Widin, Fastighet och Finans KTH

Manual för Min sida 1/ rev

KÄNSLA AV SAMMANHANG. Uppskattad dygnsdos i gr. och preparat (de sista 30 dagarna):

Utvärdering av informationsinsatserna. Konflikten inom Väg och Ban Maj 2007

Dina inloggningsuppgifter är samma som du använder för att logga in på skolans datorer.

Hur du presenterar och marknadsför dig under själva intervjun är avgörande för att du ska bli en intressant kandidat.

Erfarenheter från ett pilotprojekt med barn i åldrarna 1 5 år och deras lärare

TIMREDOVISNINGSSYSTEM

Hel tjänstledighet för att prova annan anställning inom Göteborgs universitet.

Koll på cashen - agera ekonomicoach!

Utveckla arbetsmiljö och verksamhet genom samverkan

Testresenärer mellan Vännäs och Umeå

Bortom fagert tal om bristande tillgänglighet som diskriminering

UTMANINGAR OCH MÖJLIGHETER HAR DU 730 DAGAR OCH ETT STARKT DRIV DÅ HAR VI EN LEDARROLL TILL DIG

Några frågor om dina känslor nu och tidigare

Antal grodor i varje familj Antal hopp tills alla bytt plats Ökning

Sammanfattning på lättläst svenska

Till dig som vill bli medlem i SEKO

Jo, Den Talande Boken har så många möjligheter inbyggda, att den kan användas från förskoleklassen och ända upp på högstadiet.

FAQ Barnkonsekvensanalys i Svenska kyrkan

Lathund, procent med bråk, åk 8

Statsbidrag för läxhjälp till huvudmän 2016

Slutrapport för JMDB.COM. Johan Wibjer

Manual för BPSD registret. Version 6 /

SOLCELLSBELYSNING. En praktisk guide. Råd & Tips SOLENERGI LADDA MED. Praktiska SÅ TAR DU BÄST HAND OM DIN SOLCELLSPRODUKT

Naturvetenskap, vad är det? Attityder till naturvetenskap hos elever i årskurs sex

Ha det kul med att förmedla och utveckla ett knepigt område!

Slingerbulten i Grankulla på Kasaberget kl

Manual fö r kursspecifika ansö kningsförmula r Fölkhö gsköla.nu

Introduktion till Open 2012

TIMREDOVISNINGSSYSTEM

2. Tidsplanering. 21 Studiedag

Information till elever och föräldrar i skolår 5

Vad vill jag bli, och vad vill jag ha gjort?

Menys webbaserade kurser manual för kursdeltagare. Utbildningsplattform: Fronter

FRÅN A TILL Ö LäraMera Ab / och Allemansdata Ab / FRÅN A TILL Ö

Instruktioner för beställning och kontoadministration för abonnenter av inlästa läromedel

Kiwiböckerna metod och begrepp

myabilia En introduktion

============================================================================

Efter att du har installerat ExyPlus Office med tillhörande kartpaket börjar du med att göra följande inställningar:

Sid i boken Rekrytering. Författare Annica Galfvensjö, Jure Förlag

Morgonsamling till lågstadier

LÄSFÖRSTÅELSE PROVKAPITEL. Katarina Neiman Hedensjö

Långt ifrån Zlatan VAD HANDLAR BOKEN OM? LGR 11 CENTRALT INNEHÅLL SOM TRÄNAS FÖRMÅGOR SOM TRÄNAS LGRS 11 CENTRALT INNEHÅLL SOM TRÄNAS

BÅGSKYTTEFÖRBUNDET MEMBER OF SVERIGES RIKSIDROTTSFÖRBUND AND FÉDERATION INTERNATIONALE DE TIR A L ARC

Systematiskt kvalitetsarbete

Anna Kinberg Batra Inledningsanförande 15 oktober 2015

Transkript:

Individuellt Mjukvaruutvecklingsprojekt RPG-spel med JavaScript Författare Robin Bertram Datum 2013 06 10 1

Abstrakt Den här rapporten är en post mortem -rapport som handlar om utvecklandet av ett RPG-spel baserat på JavaScript. Detta har jag gjort i samband med kursen Iterativ mjukvaruutveckling som jag läser på linjen Webbprogrammering på Linnéuniversitet. I rapporten beskriver jag syftet med projektet, processens gång, val av tekniker samt egna reflektioner om arbetet. 2

Innehållsförteckning Framsida Sida 1 Abstrakt Sida 2 Innehållsförteckning Sida 3 Inledning Sida 4 Inledning / Förord Inledning / Kort om canvas Inledning / Iterativ arbetsprocess Positiva erfarenheter Sida 5 Negativa erfarenheter Sida 6 Sammanfattning Sida 7 3

Inledning Förord Projektets syfte och mål har varit att utveckla mina programmeringskunskaper, detta försökte jag uppnå genom att fokusera på spelutveckling. Jag valde att skapa ett RPG-spel baserat på JavaScript. Spelet är i 2D-grafik och har ett top down-perspektiv, eller även kallat fågelperspektiv. Utöver JavaScript har jag tillämpat teknikerna HTML5 och CSS. Jag har inte använt något ramverk eller någon annans kodbibliotek. Många funktioner jag har stor nytta av och använder ofta bygger jag istället in i min egen funktionssamling. Kort om canvas Canvas är ett element i HTML5 som gör det möjligt att rita grafik "on the fly". Det är med hjälp av canvas jag renderar grafiken i spelet. Jag kombinerar canvas med JavaScript för att bestämma vad och vart jag vill rita ut på skärmen. Iterativ arbetsprocess Jag har arbetat iterativt under de veckor vi har haft att tillgå. För varje vecka har jag gjort en plan för kommande veckas arbete där jag uppskattar tidsåtgången för planerade uppgifter jag ska göra. För varje uppgift jag gjort har jag tagit tiden det tagit att göra uppgiften för att sedan redovisa detta i min planering. 4

Positiva erfarenheter Jag har fått många positiva erfarenheter av projektarbetet. Det är bland annat första gången jag arbetar iterativt och dokumenterar processens gång i ett riktigt projekt. Detta har gett mig mer disciplin i veckorna och bättre uppskattnings- samt prioriteringsförmåga. Ännu en fördel med dokumentationen är att man får en god överblick över kommande moment men också möjlighet att kunna blicka tillbaka och se alla delar man redan lyckats åstadkomma. Jag tror att det hade varit ännu viktigare med den här typen av arbetsprocess om arbetet hade varit i grupp. Jag kommer absolut fortsätta att arbeta iterativt i framtiden, även utanför skolans ramar. Något annat som har varit väldigt positivt var att jag lyckades komma igång väldigt bra i början. Första veckan valde jag att läsa och efterforska mycket, så när jag väl började arbetet med själva projektet så hade jag redan tillräckligt mycket kunskap för att göra mycket basfunktionalitet. Jag tror det är viktigt att faktiskt ha lite insikt i det man ska ge sig in på innan man börjar. Annars är det troligtvis stor risk för att man får göra om väldigt mycket senare då man kommit underfull med bättre lösningar exempelvis. Jag är otroligt nöjd över att jag lyckades implementera så pass mycket funktionalitet som jag gjorde. När jag stötte på ett hinder eller en utmaning så lyckades jag ändå ta mig förbi det på egen hand. Den strategi jag valde för att lösa problem som uppstod var att jag försökte läsa på om ämnet och ibland söka på internet efter folk som har liknande problem som mig själv och läsa om deras problem. Om jag verkligen inte kom vidare så släppte jag problemet för ett tag och gick vidare med andra delar först för att sedan gå tillbaka till problemet. För mig funkade den taktiken väldigt bra och är något jag kommer fortsätta tillämpa. 5

Negativa Erfarenheter Jag anser sällan att en erfarenhet är negativ, alla erfarenheter är på ett eller annat sätt bra. Men ett problem jag länge hade var att spelet kändes hackigt. Detta löste jag med något som heter interpolation and prediction vilket innebär att jag förutser genom beräkningar vart ett objekt hade varit exakt när grafiken ritas. Det var dock väldigt givande att få mötas av det här problemet och det ledde till ny och djupare förståelse om spelutveckling. Jag hade ytterliggare ett problem som innefattade alla bilder jag använder i spelet. Jag var på något sätt tvungen att förladda alla bilder, innan spelet startade, men i takt med att projektet växte så fick jag mer och mer bilder och insåg att det inte var en bra idé att ha alla bilder separata. Vad jag gjorde var att sätta ihop alla bilder i en och samma bild, detta kallas för att skapa en tileset. Istället för att ladda in flera hundra bilder så laddade jag nu in en bild med alla bilder i, och till min förvåning så tog min nya tileset mindre plats än alla små tillsammans. Troligtvis beror det på att varje fil som skapas på datorn har lite extra information om när den skapades, när den ändrades senast med mera. Ett annat problem jag länge hade var att jag hade svårt att utföra testfallen eftersom det tog ganska många veckor innan det fanns något att faktiskt testa i spelet. Detta var något jag hängde upp mig mycket på och jag började fundera över automatisk unit testing. Jag började skriva några generella tester men insåg snabbt att det var alldeles för tidskrävande då jag var helt ensam i mitt projekt. Jag tror faktiskt att i en sådan situation så är nog det bästa att släppa lite på testningen tills det faktiskt finns en produkt att testa. Många kanske anser att det är helt fel tillvägagångssätt, men jag själv anser att det inte är värt att lägga ned all den dyrbara tid på något som knappt är testbart. Hade projektet utförts i en större grupp hade min slutsats dock varit helt annorlunda. Något jag kom på i efterhand var hur otroligt stort och oändligt ett RPG-spel faktiskt kan vara. Kanske skulle jag satsat på ett mindre projekt och försökt satsa på att ha en produkt klar efter deadline. 6

Nästa gång bör jag kanske välja ett lite mindre projekt och fokusera på att ha en färdig produkt. Trots detta så måste jag tillägga att jag verkligen inte ångrar mitt val då det har varit roligt och gett så mycket. Sammanfattning Sammanfattningsvis så har den här resan under de här veckorna gett mig en mycket bredare kunskap om programmering överlag. Det har varit nyttigt att få lösa problem som uppstår på vägen, helt på egen hand. Alla erfarenheter jag fått av projektet, såväl negativa som positiva, kommer vara väldigt nyttiga i framtida projekt. Eftersom jag har fått väldigt god feedback angående spelet från vänner och andra människor runt omkring så kommer jag troligtvis fortsätta utveckla spelet när jag har tid. Oavsett om det i framtiden blir ett färdigt spel eller inte, så tror jag att det är väldigt bra att ha ett sådant här projekt att visa upp för arbetsgivare eller andra människor som skulle ha ett intresse i att se det. 7