Ett spel skapat av Albin Wahlstrand

Relevanta dokument
SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS

Slutrapport för Pacman

Slutrapport för SquareShooter

Slutrapport. Super Mario klon. Tomas Wallin tw222bv WP

Joakim Jonsson jj222kc. Minesweeper. Individuellt Mjukvaruprojekt Joakim Jonsson

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

Projekt Rapport. RaidPlanner. Jeanette Karlsson UD10

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

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

Slutrapport Get it going contracts

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

PROJEKTRAPPORT EDA095 NÄTVERKSPROGRAMMERI

Slutrapport för JMDB.COM. Johan Wibjer

Endless shooter neon - Post mortem

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

SLUTRAPPORT RUNE TENNESMED WEBBSHOP

Gränssnitt för FakeGranska. Lars Mattsson

TDP005 Projekt: Objektorienterat system

ADOBE FLASH 8. Vad är egentligen Flash

Tor Sterner-Johansson Thomas Johansson Daniel Henriksson

TDDC74 - Projektspecifikation

Erik Holmström Projektrapport- KalmarKendo Erik Holmström UD12 Individuellt mjukvaruutvecklingsprojekt

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.

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

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

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

Filhanterare med AngularJS

Space Invaders - Slutrapport

Labbrapport - LEGO NXT Robot

1 Kravspecifikation Snake App

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?

JavaScript del 5 Funktioner

Joppes djurfamilj v2. Planering. Genomförande. Utvärdering och dokumentation

JavaScript del 3 If, Operatorer och Confirm

Portfolio Johan Brink

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

Bakgrund. Genomförande

Databashantering och Beslutsstöd

Slutrapport YUNSIT.se Portfolio/blogg

KOMPLEMENT TILL MATTE DIREKT BORGEN UPPLAGA

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

MO1002_HT17. Antal svar: 4

Dagbok Mikael Lyck

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

TDDC74: Projekttitel

Kristoffer Eriksson Christer Oscarsson Andreas Dahlberg Martin Bengtsson

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

Slutrapport. Interaktiv Mjukvaruutvecklingsprojekt. HIF-Spelet. Ett XNA-spel. Christian Ulf

JavaRats. Kravspecifikation. Version 1.1. Gustav Skoglund Marcus Widblom Senast ändrad: 13 / 05 / 08

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

NYTT KURSUPPLÄGG OCH MUNTLIG TENTAMEN

Datastrukturer och algoritmer. Föreläsning 15 Inför tentamen

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

Någonting står i vägen

Innehåll. Tiden som krävs. Design är nyckeln. Vad en investering kan ge. Attityd är allt. Samma namn regerar. Att vara en copycat. Du påverkar humöret

RESULTAT - MÅLUPPFYLLELSE

Allta bilder du ritar med verktygen i verktygspanelen eller importerar är grafik.

Skapa modeller i Vikingen

Berzanspel. Läsåret 2012/2013. Projektgrupp: Henrik Adolfsson, Nils Björklund, Isak Pettersson, Villiam Rydfalk Nv3E. Handledare: Tina Bergman

Har du läst kursen på Campus eller distans Campus 8 53% Distans 7 47%

Slutrapport Thunderbug

Kursvärdering - självständigt arbete

Påminnelse: en datatyp för bilder. Programmering. En datatyp för bilder. Spegelbild. hh.se/db2004

Grunder. Grafiktyper. Vektorgrafik

Innehåll. Mina målsättningar. Vad krävs för att nå dit? Obligatoriska uppgifter. Websajten. Datastrukturer och algoritmer

Detaljbeskrivning av Player

Copy Cat Laboration 4

Deltagarnas utvärdering av 23 saker

Brädspelet Mulan. Håkan Berggren, Magnus Ellisson, Lars Kristiansson, Cheng-Huei Kuo, Eva Ljunggren, Joakim Viker. Göteborg 1999.

Programmering eller Datalogiskt tänkande

Träningsdagbok. Av Erik Stintzing. Inom ämnet Idrott och hälsa

ZWCAD har stöd för VBA och Lisp program så alla funktioner som ni tidigare har skapat kan användas direkt utan anpassning.

Objektorienterad Programkonstruktion. Föreläsning 6 23 nov 2015

Projektspecifikation

Lab5 för prgmedcl04 Grafik

729G75: Programmering och algoritmiskt tänkande. Tema 1, föreläsning 1 Jody Foo

Så här funkar Föreningsliv

Introduktion till Matlab

Objektorientering i liten skala

Programmera Lego Mindstormsrobotar

Exempel på hur man kan bygga enkla former i Illustrator

Fyra i rad Javaprojekt inom TDDC32

Laboration i datateknik

MO6003 VT2017. Antal svar: 2

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

Digitala Projekt VT13. PING-Pong

Laboration 2. Webbproduktion En stiligare webbsida HT2015

[Introduktion till programmering ]

PNSPO! Exporterar och Importerar texter från CX- Designer. 20 mars 2012 OMRON Corporation

Sida. Säljteknik GRUND Invändningar

Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl

Strukturering och Planläggning

729G75: Programmering och algoritmiskt tänkande. Tema 1. Föreläsning 1 Jody Foo

Talsystem Teori. Vad är talsystem? Av Johan Johansson

Verktyget FindBugs. Djupstudie i kursen EDA 270 Coachning av programvaruteam. Christofer Bach dt05cb6 Daniel Nilsson dt05dn4. Lunds Tekniska Högskola

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Alfred Nobel Ett liv. ORDLISTA Alfreds bästa idé. Bättre tider i Sankt Petersburg. Ensam ut i världen. Alfred uppfinner dynamit. Pengar och problem

Mjukvaruprojekt Onlinebooks

Kursen som helhet. 1. Har du nått kursens mål. 2. Hur fungerade startdagen i ditt eget lärande?

HEJ! FÖRSLAG PÅ LEKTIONSUPPLÄGG

Transkript:

Viking vs. Demons Ett spel skapat av Albin Wahlstrand 2012-06-03 1

Abstrakt Denna rapport kommer att handla om mina positiva och negativa erfarenheter inom projektet jag jobbat på de senaste 10 veckorna. Jag kommer dessutom ta upp problem jag haft och hur jag löste dem samt vad jag ska göra för att inte få samma problem nästa gång jag gör något liknande. Under detta projekt har jag kommit fram till att XNA är ganska lätt att lära sig grunderna i, men väldigt svårt att bemästra helt. Jag har lärt mig väldigt mycket inom både C#, XNA och hur man jobbar i projekt. Jag hoppas på att lära mig ännu mer. 2

Innehållsförteckning Abstrakt -s.2 Innehållsförteckning -s.3 Inledning / Bakgrund -s.4 Positiva Erfarenheter -s.5 Negativa Erfarenheter -s.5 Sammanfattning -s.6 3

Inledning / Bakgrund Målet med detta projekt var egentligen bara att få så mycket kunskap av XNA som möjligt under 10 veckor, förutom att få fram ett spel som faktiskt går att spela. När jag började arbetet började jag egentligen med att rita upp alla objekt som skulle vara med i spelet, efter detta gjorde jag så att man kunde gå runt med sin karaktär, i början av projektet fick jag titta på väldigt många handledningar om just XNA då jag aldrig använd mig av det tidigare. Det var ganska tidigt i projektet då jag mötte mitt första stora problem, Kollision, Det tog över en vecka att lösa detta, och det var lite lätt! När jag löst kollisionen så började jag titta på AI (Artificial Intelligence) till mina monster, alltså hur de ska röra sig, när de ska röra sig och åt vilket håll de ska röra sig. Efter det var klart så skulle jag ha in frukter som monstren kan droppa när man dödar dem för att hela spelaren, dessa var ganska svåra att sätta ihop med spelarens hälsa då de plockades upp (eller gicks över). Sedan var det dags att bygga upp nivån, jag ville göra så att man lätt skulle kunna byta nivå ifall man skulle vilja lägga in nya, man kan även skapa nya nivåer relativt lätt med endast en textfil. Klassen som skapar nivåerna läser helt enkelt in textfilen och konverterar texten till objekt samt ritar upp dem. Menyn är uppbyggd med massor av bools, vilket är egenskaper som bestämmer om något är sant eller falskt. Menyn var väldigt knölig att implementera i efterhand, det bör nästan ha gjorts först, tyvärr var så inte fallet och det blev mycket krångel med den fram mot slutet. Allt grafiskt material är ritat i Adobe Illustrator, där jag använd Grid Tool för att skapa ett rutmönster där jag kunnat fylla i rutor för att skapa en känsla av ett gammalt spel med stora pixlar. Testning har gjorts efter varje liten del implementerad kod, detta för att förhindra/upptäcka fel tidigt och kunna åtgärda dem så fort som möjligt. 4

Positiva Erfarenheter De första två veckorna i projektet lärde jag mig väldigt mycket genom att titta på handledningar på Youtube. Efter att ha tittar igenom dessa ett antal gånger så kände jag genast att det kanske inte var så svårt som det verkade, jag började genast på ett test projekt för att testa ungefär hur allting fungerade när man väl började koda lärde man sig ännu mer om hur saker hängde ihop. Jag har dessutom lärt mig mycket om att jobba i projekt, dokumentation, varför det är en fördel att jobba i iterationer samt anledningen till att man skriver upp risker och försöker bearbeta dem tidigt. Negativa Erfarenheter Jag trodde att kollision skulle vara så mycket lättare än det faktiskt var, hur man flyttar rektanglarna på ett bra sätt, vad som ska hända när de möts. Det största problemet var att hitta ett bra sätt att komma på vilken sida de möts på. För att förhindra detta problem skulle jag ha läst på mer om objekten inom XNA, då hade jag direkt vetat att det finns inlagt redan som Rectangle.Bottom, Rectangle.Top etc. Det hade gått mycket snabbare och smidigare om jag hade vetat om det innan jag började med kollisionen. En annan sak som gick mindre bra var att lägga in själva menyn efter att spelet var färdigt, då jag behövde skriva om hälften av all kod jag skrivit när jag skulle implementera detta. Därför ska jag, nästa gång jag gör ett spel, börja med att lägga in menyn eller i alla fall göra det väldigt tidigt. 5

Sammanfattning Under kursens gång har jag lärt mig massor om XNA och även utvecklat mig inom C#. Jag har också blivit mycket bättre på att dokumentera under iterationerna. Jag hittade en jättebra programmeringshemsida där man kan ställa frågor och få hjälp, den kommer användas i fler projekt. Eftersom det är ett spel jag skapat så finns det mer eller mindre oändliga utvecklingspotentialer, jag kan bland annat lägga in flera banor för att göra spelet längre. Jag kan dessutom lägga in en spara/ladda funktion för att låta spelaren börja där den slutade förra spelomgången. Självklart kan jag även förbättra grafiken, samt fixa buggen med att man kan knuffa in monster i väggar. Jag kan lägga in fler monster och lägga in flera olika drops från monstren, som vapen eller rustningar för att höja skadan man gör eller sänka skadan man tar. Något jag kan bli ännu bättre på är att strukturera dokumentationen, jag vet att speciellt min tidsrapportering inte ser jättefin ut den kommer göras annorlunda nästa projekt. 6