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.

Relevanta dokument
Slutrapport. Super Mario klon. Tomas Wallin tw222bv WP

Ett spel skapat av Albin Wahlstrand

PROJEKTLEDNING OCH KANDIDATARBETET APPLICERING OCH PRAKTISKA RÅD

Goda råd från studenterna som gjorde kandidatprojektet 2018

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

Joakim Jonsson jj222kc. Minesweeper. Individuellt Mjukvaruprojekt Joakim Jonsson

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

Slutrapport Thunderbug

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

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

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

Kandidatarbetets planeringsrapport och planeringen (Projektplanering 2)

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

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

Fyra i rad Javaprojekt inom TDDC32

Slutrapport för SquareShooter

PROJEKTRAPPORT EDA095 NÄTVERKSPROGRAMMERI

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Preliminär specifikation av projekt

SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Digitalt lärande och programmering i klassrummet

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

Projektrapport EDA095

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 5. Laboration 4 Lådplanering Exempel på grafik, ett avancerat program Frågor

SKOLFS. beslutade den -- maj 2015.

Projektuppgift.

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Projektuppgift - Biblioteket

Projektmetodik. Johan Nilsson. Institutionen för Biomedicinsk Teknik LTH, Lunds Universitet

Projektet. TNMK30 - Elektronisk publicering

Slutrapport för Pacman

Inkapsling (encapsulation)

hannalabom.se Alexandra Jonasson Aj222im

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

SKOLFS. beslutade den XXX 2017.

Projektmaterial. Birkagårdens folkhögskola

Space Invaders - Slutrapport

URVAL AV UTFÖRDA HOBBYPROJEKT

Universe Engine Rapport

1. (3p) Inom MDI-området framhåller man att människor lär sig via metaforer. Hur menar man att detta går till?

Filhanterare med AngularJS

Praktikum i programvaruproduktion

HAND TRACKING MED DJUPKAMERA

Betatestning - Solsystem

Objektorienterad programmering, allmänt

Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt. Vilka egenskaper vill vi att våra program ska ha?

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

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

Endless shooter neon - Post mortem

Nätverksprogrammering, EDA095

Presentationsprogram - Kravspecifikation. Henrik Österdahl och Jenny Melander, D mars 2002

Hur jag lärde mig att älska Datavetenskap

Model View Controller. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

SPELHUND.Se. Nummer 1 Juni 2018

Verksamhetsuppföljning- Daglig verksamhet Oktober/November 2017

Dagbok Mikael Lyck

Vad är. Domändriven design?

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 5. Laboration 4 Lådplanering Exempel på layout, ett GUI-baserat program Frågor

Projektpresentation. Kungliga Tekniska Högskolan 2D1954 Programutvecklingsprojekt Vårterminen 2002

SLUTRAPPORT RUNE TENNESMED WEBBSHOP

Projektuppgift - Gymmet

Objektorienterad Programkonstruktion

Undervisningen i ämnet programmering ska ge eleverna förutsättningar att utveckla följande:

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

Tentamen TNM061, 3D-grafik och animering för MT2. Tisdag 3/ kl 8-12 TP51, TP52, TP54, TP56, TP41, TP43. Inga hjälpmedel

Rapport för Projekt Alhanko

Att komma igång rätt i en projektgrupp Utdrag ur och sammanfattning av ett arbetsschema.

GRUNDKURS I C-PROGRAMMERING

Projektspecifikation

En grafisk guide till vår identitet

TDDD78 projekt: Tower Defence

Slutrapport för JMDB.COM. Johan Wibjer

Design och konstruktion av grafiska gränssnitt

Scriptprogrammering och avancerad Flash. Ulf Larsson Jon Wåhlstedt

Tor Sterner-Johansson Thomas Johansson Daniel Henriksson

Inledning. Om spelarutbildningsplanen. Spelarutbildningsplanens utformning och utgångspunkter

Utöver projektdirektivet ska en teknisk dokumentation för projektet arbetas fram.

Analys och design. Objekt. Klass. med hjälp av CRC. Klassdiagram

30 år av erfarenhet och branschexperts

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

Concept Selection Chaper 7

Projektmetodik. Andreas Lenshof. Institutionen för Biomedicinsk Teknik LTH, Lunds Universitet

LPP för årskurs 2, Matte V HT12

Programinformation för. Technical Artist i Spel, 180 högskolepoäng. (Technical Artist for Games, 180 ECTS credits)

TDDD78, TDDE30, 729A85 Objektorienterad programmering och Java

Laboration i datateknik

Webservice & ERP-Integration Rapport

Examensarbete Verklighetsbaserat utvecklings- och projektarbete - Automationsteknik med mekatronik

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

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

Planeringsspelets mysterier, del 1

SMULTRON. Fredrik Li, Ester, Anders, Jessica, Philip. Malmö Högskola Konst Kultur Kommunikation OOP5 - Mobile Applications IDK 05 - April/Maj 2007

Opponenter: Erik Hansen Mats Almgren Respondent: Martin Landälv ioftpd-verktyg

Objektorienterad programmering med Java Swing: Händelser, lyssnare och applets

Föreläsning 11 - Automater, textsökning, tillstånd

Tidsramarna för de olika momenten inom kandidatprojektet är följande:

Inlämningsarbete Case. Innehåll Bakgrund bedömning inlämningsarbete... 2 Inlämnade arbeten... 4

Programmering = modellering

Axiell Arena Visa BOOK-IT:s resurser

Transkript:

Planeringsrapport Rally sport racing game Grupp 27 Bakgrund Idag växer spelindustrin enormt och tusentals nya spel kommer ut varje år så för att skapa ett spel som ska kunna säljas krävs att man har en unik idé. Vårt mål med kandidatarbetet är att få fram en så pass bra produkt så att den skulle kunna säljas, så vi blev tvungna att ta detta med i beräkningen då vi utformade den mer konkreta idén om hur spelet skulle se ut och fungera. Då grundidén till kandidatarbetet går ut på att skapa ett racing spel med extra fokus på grafikeffekter var genren för spelet redan satt och vi behövde inte fundera mer på det. Ett racing spel ger oss möjligheten att spendera mindre tid på avancerad spellogik och animationer och mer tid på att få fram ett så snyggt spel som möjligt vilket är väsentligt då vi är sju personer i gruppen och var och en förväntas enbart lägga 400 timmar på projektet vilket är en utmaning då de flesta stora spelföretag som lyckas bra har hundratals människor som jobbar på samma spel i flera år. Då det finns massor av olika racingspel på marknaden idag så valde vi att använda oss av en mer unik miljö. Vår idé blev att skapa ett racingspel i rymdmiljö då det idag inte finns speciellt många spel i den genren med den miljön. Det som ger vårt spel en extra tvist är att det är i full 3D, det är inte bara miljön som är 3D utan även rörelsemöjligheterna. 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. Syfte Den övergripande idén med projektet är att under kandidatarbetets tidsrymd utveckla ett färdigt PC-spel med extra fokus på grafikeffekter. Det huvudsakliga syftet är att vid färdigställande få fram ett så visuellt snyggt spel som möjligt. Det vi vill uppnå med detta projekt är att få en djupare kunskap om hur man utvecklar ett PC-spel med alla utmaningar det innebär. Spelet kommer att ha temat rymden och vara i full 3D. Våra miljöer och val av racingfordon kommer att spegla detta. Vi kommer att dela upp vårt projekt i huvudsakligen tre spår ett spår som fokuserar på spellogiken, ett spår som fokuserar på grafikmomenten i spelet och ett spår som fokuserar på att skapa en baneditor för spelet. Dessa spår kommer mer konkret att bestå av mindre grupper av den stora kandidatgruppen detta för att det blir ett mer effektivt arbetssätt om alla får sin del av projektet att fokusera på och det är lättare att få fram snabba beslut i mindre grupper.

Spellogik Vår första uppgift är att utveckla ett fungerande singleplayer-spel med ett racingmoment som sedan kan utvecklas vidare till att bli ett multiplayer-spel. Det kommer sedan att läggas till mer avancerad funktionalitet i spelet. Vi har även valt att utveckla en baneditor så att det kommer att vara möjligt för användarna att själva skapa fler banor. Detta för att vi själva då kan spara tid genom att inte behöva skapa flera unika banor och det blir i slutändan ett roligare spel då användarna själva kan vara mer delaktiga i hur spelet ser ut. Vi kommer att först fokusera på att modellera objekt som behövs i vårt spel, som racingfordon, miljö och delmål på banan så kallade "waypoints". När detta är klart kommer det att läggas större fokus på att implementera grafikeffekter i spelet som ljus, skuggor, explosioner med mera. Problem/Uppgift Den uppgift vi fick av vår handledare var väldigt vagt formulerad och vi har sedan utvecklat vår egen idé utifrån den. Spelets grundidé är att det ska vara ett racingspel där man så snabbt som möjligt ska ta sig igenom en banan, detta ska sedan kunna göras mot andra spelare och eventuellt datorstyrda motståndare. Vi valde att använda oss av miljön rymden då det skulle göra det lätt för oss att skapa visuellt snygga miljöer med små medel och det är en relativt unik miljö för moderna racingspel. Delproblemen kommer att bestå i att få fram ett fungerade spel för en spelare med tidsmomentet att komma i mål så snabbt som möjligt och att banan begränsas av vissa etappmål, som från och med nu kallas för waypoints, som måste uppfyllas. Samtidigt ska en baneditor utvecklas och de grafiska objekten skapas. Nästa steg blir att skapa ett multiplayer-moment i spelet så att man inte bara spelar mot sig själv på tid utan även mot andra spelare vilket är extremt viktigt för att få fram ett lyckat och roligt spel det ger oss också en ny dimension av spelet då man kan krascha in i andra spelare och sedan kunna skjuta på varandra. Vi har valt att använda oss av XNA-ramverket för att skapa vårt spel, detta för att vi alla gillade idén att programmera i C# då det är ett relativt simpelt språk att lära sig om man har tidigare erfarenhet av Java eller C. XNA ger oss dessutom tillgång till all avancerad funktionalitet som vi kommer att behöva i vårt spel. Avgränsningar Vi har valt att begränsa komplexiteten på projektet med att skapa just ett racingspel med farkoster då vi inte behöver skapa några avancerade animationer i spelet och spellogiken är så pass enkel att projektet kommer att kunna bli genomförbart på de 400 timmar per person vi har till vårt förfogande. Vi har även valt att specificera funktionalitet vi vill ska ingå i spelet men har prioriterat dem så att vi kan välja att inte ta med en del avancerad funktionalitet beroende på tid.

Metodik/Genomförande Vi har tänkt dela upp gruppen i tre olika grupper för att kunna effektivisera arbetet. Det kommer att finnas en grupp som fokuserar på spellogiken i spelet, en grupp som ska utveckla en baneditor och en grupp som fokuserar på de grafiska delarna av spelet. Grupperna kommer att vara dynamiska och gruppstrukturerna kommer att ändras beroende på hur många som behövs i varje grupp vid olika delmoment i projektet. Spellogik Spellogik gruppen kommer att ha som första delmål att få fram ett spelbart singleplayer-spel med spelmomentet att ta sig i mål på tid. De kommer att först arbeta fram en klasstruktur och sedan samarbeta med baneditorgruppen och grafikgruppen i att se till så att formaten på filer som behöver skickas mellan spelets olika delar är kompatibla. I moment två kommer gruppen sedan att ta spelet till nästa nivå så att man kan spela multiplayer mot varandra och kunna krascha med andra spelare. Det sista delmomentet kommer att bli att lägga till mer funktionalitet i spelet som att man kan skjuta på varandra och att vissa objekt kan ge en fartökning. gruppens första delmål är att få fram ett gränssnitt som sedan kan vidareutvecklas och användas till den färdiga baneditorn. Moment två kommer att vara att få fram de byggstenar som behövs för att skapa en bana och få de att fungera med gränssnittet. Dessutom ska man kunna ladda och skapa en bana. Det tredje momentet blir att få fram användarvänligheten i baneditor så att våra användare kommer att kunna använda sig av den. gruppen kommer att i första delmomentet börja modellera 3D objekt som kommer att behövas för det första delmomentet i logikgruppen. Det som först ska göras är att skapa en farkost i rymdskeppsstil som ska användas som spelavatar, den frakost som i spelet kommer att representera spelaren. En simpel miljö ska även skapas och 3D objekt som man måste ta sig igenom för att följa banans gång ska modelleras dessa kallas waypoints. Moment två kommer att vara att fortsätta med modellerandet beroende på vad som behövs för de olika banorna och att börja lägga in simpla grafikeffekter som skuggor och ljus för att få en mer verklig känsla i spelet. Moment tre kommer att bestå i att lägga in mer avancerade grafiskaeffekter i spelet och modellera flera olika typer av farkoster för multiplayer momentet och skapa mer detaljerade miljöer för banorna. Tidsplan Vi kommer att ha delmål ungefär varannan vecka i form av iterationer där den sista iteration är till för att få med så många extra detaljer som hinns med detta så att vi ser att projektet ligger i fas hela tiden. Parallellt med de övriga momenten kommer projektrapporten att skrivas men det är uppsatt 4 veckor i slutet av kandidatarbetet till att enbart skriva på projektrapporten. Spelet ska helst vara färdigt senast i mitten av april så att resten av tiden kan ägnas åt att skriva rapporten. För att få en bättre överblick över vår tidsplan har vi skapat ett gantt schema med vecka för vecka planering över vad som sker. Vad som innefattas i de olika delmålen representerats i efterföljande stycken. Iterationerna är tänkta att beskriva kriteriet för att räknas som avklarade, inte det som behöver göras innan vi avslu-

tar arbetet på den iterationen. Iteration 3 blev uppdelad i 2 delar för grafik- och spellogik-gruppen för att ge utrymme för tentaperioden. Spellogik Iteration 1 innefattar att få fram ett spelbart singleplayer-spel, få fram ett kodskelett som innehåller de mest basala funktionerna för att kunna få upp en värld och styra runt ett skepp i den. Även själva spelmomentet ska fås med i iteration 1, att ta sig från start till mål på tid. Iteration 2 innefattar att ta spelet från ett singleplayer-spel till att bli multiplayer med allt vad det innebär. Vi kommer att behöva lägga till kollisionsdetektion och effekter för explosioner om två skepp skulle krascha. I iteration 3 är det tänkt att avancerad funktionalitet ska implementeras som vapen, olika föremål som ger en hastighets ökning, precisionsstyrning och att kunna ladda in en bana från en fil så att spelet kan använda sig av baneditorn. gruppen kommer att börja när spellogikgruppen har fått upp tillräckligt mycket av strukturen i spellogiken för att kunna dela sig och alla är bekväma i att koda C# med XNA. Iteration 1 är tänkte att ägnas åt att skapa ett gränssnitt åt baneditorn med skelett kod som förbereder för att utveckla den vidare. I iteration 2 ska man kunna placera ut objekt som representerar olika delar av banan som start, mål och delmål så kallade waypoints. Det ska också vara möjligt att ladda en bana till baneditorn och att spara en skapad bana. Iteration 3 innefattar att få baneditorn användarvänlig. Skapa ett bättre grafiskt gränssnitt och ett lättöverskådligt sätt att se banan man skapar i antingen 2D eller 3D. Iteration 1 för grafikgruppen kommer att innebära att de första modellerna i 3D skapas ett skepp, en värld att åka runt i och waypoints som markerar banan. I iteration 2 ska de första grafikeffekterna implementeras och flera modeller som planeter och asteroider och diverse bakgrundsföremål som nebulosor skapas. Iteration 3 kommer att ägnas åt att implementera mer avancerade grafik effekter samt att försöka fylla banorna med föremål och effekter så att det blir en mer visuellt stimulerande upplevelse att spela vårt spel.