Edlund, Louise Ekdahl, Johan Fernström, Jesper Jansson, Fredrik Larsson, Helene Malmén, Per Sölen, Baran Wiksten, Oskar



Relevanta dokument
Mobile Arkanoids. Edlund, Louise Ekdahl, Johan Fernström, Jesper Jansson, Fredrik Larsson, Helene Malmén, Per Sölen, Baran Wiksten, Oskar

PROJEKT- PRESENTATION

SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS

Programmering av NXT Lego- robot Labbrapport för programmering av en Lego- robot

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

Användarhandledning - Skogsappen

Handbok Utbrytning. Fela Winkelmolen Stephanie Whiting Översättare: Stefan Asserhäll

Programmering. Scratch - grundövningar

Tor Sterner-Johansson Thomas Johansson Daniel Henriksson

3. Välj den sprajt (bild) ni vill ha som fallande objekt, t ex en tårta, Cake. Klicka därefter på OK.

Konstruktion av en radiostyrd legobil. Digitala projekt av Arbon Vata Leonardo Vukmanovic Amid Bhatia

PROGRAMMERING I NXC. Sammanfattning KUNGLIGA TEKNISKA HÖGSKOLAN

Slutrapport för Pacman

Preliminär specifikation av projekt

Manual Skogsappen - Hemkomstkontroll

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

Den hungriga fisken. Vi ska göra ett spel om en hunrgig fisk! Styr den stora Hungriga Fisken och försök att äta upp alla kräftor som simmar omkring.

Bidrag till tävlingen Bästa vara

Laboration i datateknik

Slutrapport: Informationsvisualisering av släktträd

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

Användarmanual för mycaddie version 2.0

Köpguide för mobila växlar. Modern telefoni till företaget är långt ifrån vad det var för bara några år sedan.

Projektförslag. Grupp 5. Axel Roos Mikael Törnered Björn Lindeberg Max Angervall John Beijar Niklas Andersson

16. VOLLEY Volley är tillåtet dock inte på serven.

Handbok Kollision. Paolo Capriotti Översättare: Stefan Asserhäll

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

KTH Programutvecklingsprojekt med mjukvarukonstruktion 2D1362. Projektpresentation

Snake. Digitala Projekt (EITF11) Fredrik Jansson, I-12 Lunds Tekniska Högskola,

Användarmanual. Dokumentationen finns tillgänglig på Internet:

Våra designmål Roligt Lättnavigerat Lekfull. Vår målgrupp Barn mellan 9-13 år som vill lära sig mer om väder.

PROJEKTRAPPORT EDA095 NÄTVERKSPROGRAMMERI

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

Labrapport: Programmering i NXC Programmera LEGO Maindstorm med NXC

Användarmanual TextAppen Online

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

Laborationsrapport av robotprogrammering

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

Projektpresentation Gängbildning

TDP005 Projekt: Objektorienterat system

TDDC74 - Projektspecifikation

Praktikrapport. Sofia Larsson MKVA12, HT12

Kravspecifikation TDP005 Projekt: Objektorienterat system

Space Invaders - Slutrapport

Joakim Jonsson jj222kc. Minesweeper. Individuellt Mjukvaruprojekt Joakim Jonsson

Objektorientering i liten skala

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

Grupputvärdering Gängbildning

Projekt Rapport. RaidPlanner. Jeanette Karlsson UD10

Programmering i Scratch 2.0

Post Mortem för Get The Treasure!

Kurs 5:1 Att presentera med PowerPoint del 1

Robotar i NXc. En laboration med Mindstormrobotar. Sammanfattning KUNGLIGA TEKNISKA HÖGSKOLAN

Programmera Lego Mindstormsrobotar

Digitala Projekt VT13. PING-Pong

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Reminder UF Affärsplan Perioden: Affärsplan. Håbo kommun, Uppsala län. Styrelse Fredrik Marteleur Tommy Nordström Christian Lund

Projektrapport EDA095

Handbok Kollision. Paolo Capriotti Översättare: Stefan Asserhäll

Introduktion till programmering med hjälp av Lego Mindstorm

Process- och metodreflektion Grupp 5

DESIGNDOKUMENT 1(8) 1. Idé & koncept. Grundidé, syfte & innehåll. Målgrupp, koncept & sammanhang

Department of Information Technology Digitala projekt. SuperKull. Daniel Öhman Alexander Persson

Byalag.se Administrationsmanual

Made by Noemi Senast uppdaterad

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

Lycka till! Joacim & Madelaine

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

F9 del B Organisatoriskt. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson Datavetenskap, LTH

Projektpresentation Sakfrågan

Min individuella uppgift om hamnens Webbsida

Utvärdering av prototyp: Frågedatabas av Mårten Cronander. Innehållsförteckning

SLUTRAPPORT RUNE TENNESMED WEBBSHOP

UNDERVISNINGSPLAN STOCKHOLMS TRAFIKSÄKERHETSCENTER GILLINGE AB VALLENTUNA

Twisted Scissors. Ett projekt i kursen tnm /2007. Björn Gustafsson bjogu419@student.liu.se. Mats Wedell matwe812@student.liu.

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

1 Kravspecifikation Snake App

INTEGRERAD KONSTRUKTION OCH TILLVERKNING, TME041. GruppB1steg3. Henrik Ohlsson Knut Andreas Meyer Martin Bäck Ola Lindahl Tobias Eriksson

Programmeringsappar. Av Alex

Upprepade mönster kan talen bytas ut mot bokstäverna: A B C A B C eller mot formerna: Anna-Lena Ekdahl, Högskolan i Jönköping

Portfolio Johan Brink

Bonus Rapport Kommersiell Design KTH

ha fördjupat si na kunskaper i digitalt skapande inom något område

är här! Xpo Seniortuffingen Premiär för vår tåliga kameramobil Doro PhoneEasy 520X NYHET!

Dagbok Mikael Lyck

Dialect Unified. Användarmanual mobilapplikation ios

PROGRAMMERING AV LEGO-ROBOT VIA NXC

Whack-a-Witch. Introduktion. Nivå

Bakgrund: När man programmerar på professionell nivå så går det ut på att koppla gränssnittet till funktioner.

Collector en Android-app för att samla saker. Kim Grönqvist (kg222dk) Slutrapport

BRIDGE MASTER 2000 SCANDINAVIA av Fred Gitelman

Programmering av en Lego robot

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

Thomas Padron-Mccarthy Datateknik B, Mobila applikationer med Android, 7.5 hp (Distans) (DT ) Antal svarande = 18

OOP Omtenta

Elevernas uppfattningar om alltmer digitaliserad undervisning

Algoritmer och datastrukturer. HI1029 8,0 hp Introduktion

Kravspecifikation. 1. Introduktion. 2. Övergripande beskrivning. 1.1 Syfte. 1.2 Omfattning. 1.3 Definitioner och förkortningar. 1.

KUNGLIGA TEKNISKA HÖGSKOLAN KISTA. Lego Linefollower. Få en robot att följa linjen på golvet!

Transkript:

0RELOH$UNDQRLGV *UXSSPHGOHPPDU Edlund, Louise Ekdahl, Johan Fernström, Jesper Jansson, Fredrik Larsson, Helene Malmén, Per Sölen, Baran Wiksten, Oskar

I dagens samhälle spelar mobiltelefonen en allt större roll. De används i första hand för att hålla kontakt med andra människor via traditionella telefonsamtal, men mobiltelefonen har även många andra användningsområden. Man kan använda den för positionering, för att betala då man handlar varor i en affär och det finns till och med mobiltelefoner med inbyggd kamera och radio. Faxmöjligheter och tillgång till sin e- brevlåda via mobiltelefonen är redan gammal skåpmat. Givetvis finns också olika spel på telefonerna. Lagringsrutrymmet i en mobiltelefon är relativt litet, och möjligheten att se många detaljer och färger på de små skärmarna är i dagsläget blygsam. Steget är fortfarande långt till den prestanda som en vanlig persondator erbjuder och detta faktum medför begränsningar för de spel som kan erbjudas. Genom att sätta oss in i de begränsningar som det innebär att utveckla ett spel till mobiltelefoner har vi insett att den marknad som öppnar sig för de som behärskar den kunskapen är lockande. Utvecklingen av nya mobiltelefoner är explosionsartad och många företag slåss om att ha bäst design och mest tilltalande funktionalitet. I jakten om kundernas gunst är utbudet av spel och andra finesser på mobiltelefonerna viktiga konkurrensmedel. Vi är därför övertygade om att efterfrågan på spel till mobiltelefoner kommer öka kraftigt, utvecklingen av spel till mobiltelefoner bara börjat. Det spel som vi valt att presentera heter Mobile Arkanoids. Designen är stilren och konceptet beprövat. Spelet är välkänt och älskat av många. Spelarens uppgift är att med hjälp av en studsande boll krossa de block som finns utplacerade på spelplanen. Detta görs genom att styra den paddel som bollen tillåts studsa mot och därigenom påverka bollens färdriktning. Spelreglerna är enkla och det tar inte mer än några få ögonblick från det att spelet är installerat på telefonen tills dess att man är i full gång med att spela. 2

,QQHKnOOVI UWHFNQLQJ 1. Bakgrund...4 1.1. Målgrupp...4 2. Målsättning...)HO%RNPlUNHWlULQWHGHILQLHUDW 3. Utvecklingsarbetet...4 3.1 Datormiljö och programvara som använts...4 3.2 Funktioner i systemet...5 3.2.1 Användargränssnitt...5 4. Testkörning och eventuella förändringar...6 4.1. Problem hos bollen...6 4.2. Mindre estetiska problem...6 4.3. Kvarstående problem som ej åtgärdats...7 4.3.1. Bollen kan "fastna inuti paddeln...7 5. Utveckling av spelet i framtiden...7 5.1. Funktionalitet vi strukturerat, men inte implementerat...7 6. Nedlagd tid...8 7. Resultat...9 8. Referenser...9 3

%DNJUXQG Detta projekt genomfördes våren 2002 som ett obligatoriskt moment i kursen Programutvecklingsprojekt 2D1954 på Kungliga Tekniska Högskolan. Uppgiften bestod initialt i att för företaget Jadestone ta ett befintligt spel till spel- och chat-handdatorn Cybiko Extreme, (lanseras i Sverige våren 2002), och programmera om det till lämplig java-mobil. Efter undersökning kom gruppen fram till att de spel som idag finns på marknaden inte är tillräckligt kreativa och intressanta att spela. Gruppen framförde då en önskan till uppdragsgivaren Jadestone att själva hitta ett annat spel och programmera det till en javamobil. Önskan bifölls och valet föll tillslut på spelet Arkanoids, ett spel som funnits länge. Att gruppen valde Arkanoids beror just på att det är ett välkänt spel för de blivande användarna. Projektnamnet valdes till Mobile Arkanoids, för att användarna ska känna igen sig och genast förstå vad det är för spel redan då de ser namnet. 0nOJUXSS Spelet vänder sig framförallt till målgruppen ungdomar mellan 12-18 år, men även andra intresserade mobilanvändare. Huvudmålgruppen är lämplig eftersom de är vana vid spel i olika former, och lätt tar till sig ny teknik och nya produkter. 0nOVlWWQLQJ Målsättningen är att göra ett enkelt spel med grundläggande funktionalitet enligt det traditionella konceptet för Arkanoids. Grundläggande funktionalitet innebär: en bana med block, en studsande boll och en paddel som rör sig horisontellt. Utöver detta ska antal kvarvarande bollar synas. Då spelet är över skall slutsumma samt texten Game Over presenteras på skärmen. Möjlighet skall finnas att utöka spelets funktionalitet i efterhand på ett enkelt sätt. Strukturen skall läggas upp på ett sådant sätt att man lätt ska kunna lägga till ytterligare funktioner. 8WYHFNOLQJVDUEHWHW DWRUPLOM RFKSURJUDPYDUDVRPDQYlQWV Utvecklingen av spelet har främst skett på PC-datorer med olika utvecklingsplattformar för Javaprogram (JBuilder från Borland), med tilläggspaketet Java 2 Micro Edition Toolkit från Sun Microsystems för att kunna programmera spelet till de javamobiler som kommer senare i år. För mer utförlig information om hur spelet är uppbyggt samt modell- och klientdiagram hänvisar vi till Systembeskrivningen (bilaga 2). 4

)XQNWLRQHULV\VWHPHW Spelet Mobile Arkanoids går ut på att krossa block med hjälp av att styra en paddel så att bollen studsar på paddeln och upp på blocken. Vissa av banorna kräver dock att man träffar samma block flera gånger innan det försvinner. Paddeln styr man åt vänster och höger med hjälp av sifferknapparna 4,6 eller med piltangenterna, beroende på vilken mobiltelefon man använder. I användarmanualen hänvisar vi till respektive mobiltelefons manual för att utröna vilket av ovanstående alternativ man ska välja. För mer utförlig information om hur spelet fungerar hänvisas Användarmanualen (bilaga 1). $QYlQGDUJUlQVVQLWW Mobiltelefoner är relativt små, vilket innebär att det är svårt att få spelen tydliga. Mobile Arkanoids är konstruerad så tydligt som möjligt, vilket medför att förekomsten av detaljer begränsats. Utseendet på spelet är dock detsamma för olika telefoner. Spelet finns både i färg- och gråskala då många telefoner saknar färgskärm. Nedan visas hur det kan se ut på två olika typer av emulatorer (simulerade telefoner). Nedanstående visar spelet på en standard-emulator, dvs en mycket enkel representation av en java-mobil. Denna är dock fullt tillräcklig för att simulera hur spelet kommer att se ut på verkliga mobiler. 5

På en Motorola har spelet nedanstående utseende: 7HVWN UQLQJRFKHYHQWXHOODI UlQGULQJDU Under testkörningsveckan upptäcktes vissa problem hos spelet. Dessa åtgärdades och skapade dessutom möjligheter att lägga till vissa funktioner hos spelet. 3UREOHPKRVEROOHQ Ett problem som uppstod var att bollens hastighet minskade eller stannade plötsligt efter kollision. Detta problem åtgärdades genom förändring av den kollisionsalgoritm som använts för bollens rörelse. 0LQGUHHVWHWLVNDSUREOHP Under testveckan upptäcktes att det inte fanns någon information om vilken poäng man har för tillfället eller vilken nivå man befann sig på, vilket åtgärdades. Det bestämdes också att det skulle läggas in en ny funktion, som gjorde att det för vissa banor skulle krävas flera studsar på blocken innan dessa försvann. Det lades till en del meddelanden såsom Ball Lost när man missar bollen, eller Game Over om det är den sista bollen, och samtidigt kommer då ett ljud spelas upp. Spelet gjordes även om så att det skulle passa till de mobiltelefoner som har färgskärm. Det gjordes också ett par mindre ändringar som var av mer estetisk karaktär. Blocken flyttades så att det skulle se snyggt ut på mobilens skärm, och antalet rader ökades också, med en ny rad för varannan ny nivå. Bollen gjordes också något större då den till en början var svår att se. 6

.YDUVWnHQGHSUREOHPVRPHMnWJlUGDWV %ROOHQNDQIDVWQD LQXWLSDGGHOQ Ett annat problem som upptäcktes under testveckan var att bollen fastnade inuti paddeln. För att motverka att detta ska uppstå förminskades paddelns höjd, vilket minskar sannolikheten att bollen hamnar inuti den. Dessutom ställdes bollens riktning om, vilket ytterligare förminskar sannolikheten att detta sker. Vi ställde dessutom om bollens riktning något ytterligare förminskar sannolikheten att detta sker. En korrekt lösning av detta problem skulle vara att göra samma kollisionsalgoritm när man förflyttar paddeln som vi använde för bollen, dvs betrakta paddeln som en "boll" och bollen som en kloss. Det skulle göra att paddeln inte får förflytta sig till en position som är upptagen av bollen. En sådan implementation skulle vara korrekt, men vi anser vår modell vara tillräcklig för uppgiften. 8WYHFNOLQJDYVSHOHWLIUDPWLGHQ Spelet är enkelt konstruerat och grundläggande. Det är även strukturerat på så sätt att fler funktioner finns tillgängliga för implementation. Dessa funktioner har dock inte implementerats, delvis p.g.a. tidsbrist. Spelet är programmerat så att man enkelt kan lägga till dessa nya funktioner hos spelet, och på så sätt utveckla det vidare. )XQNWLRQDOLWHWYLVWUXNWXUHUDWPHQLQWHLPSOHPHQWHUDW )OHUEROODU Eftersom spelet redan är strukturerat för en boll så är det inget problem att införa flera bollar. Dessa kommer då att ärva de egenskaper som är typiska för den ursprungliga bollen. Vidare skulle även bollarna kunna studsa mot varandra. Dessa enkla förändringar skulle troligen lyfta spelet betydligt och troligtvis blir då spelet roligare för användaren. 2OLNDNROOLVLRQVPRGHOOHU Det är strukturerat för att bollen ska kunna studsa olika beroende på var på paddeln bollen träffar, så förändrar man dessa modeller kan man få en rörelse hos bollen som inte är given. $QQDWXWVHHQGH P.g.a. den strukturering som är gjord är det trivialt att göra t.ex. en applet av spelet, med samma funktionalitet och utseende. 2OLNDW\SHUDYSDGGODU Att ha paddlar med olika funktioner skulle även det lyfta spelet betydligt. Genom att ge paddeln någon form av skjutförmåga eller göra 7

den större alternativt mindre, kan man minska respektive öka svårighetsgraden på spelet för spelaren. $YDQFHUDGHEDQRU Block av olika storlek, form och "hårdhet" är möjliga, vilket skulle göra att spelet blir svårare att klara på de högre banorna. %RQXVSRlQJ För att göra spelet än mer attraktivt kan man t.ex. låta saker ramla ner då man lyckas krossa vissa block, och om man lyckas fånga dessa saker får spelaren bonuspoäng. 1HGODJGWLG Detta projekt har tagit oss 98 timmar att genomföra, inklusive projektmöten och möten med uppdragsgivaren. Planering och programmering tog 49 timmar, och dokumentationen samt göra hemsidan tog 49 timmar. 8

5HVXOWDW Detta projekt har genomförts med lyckat resultat. Målet att konstruera ett spel för mobiltelefoner har lyckats. Spelets funktionalitet har blivit så grundläggande som gruppen projekterade för men tillåter utbyggnad. Målet var att man med relativt enkla medel ska kunna komplettera spelet med ytterligare funktionalitet och det har efterstävats samt uppfyllts. Svårigheter såsom brist på tillgång av mobiler som stöder Java har eliminerats med hjälp av emulatorer. Inga möjligheter att testa spelet på en riktig mobiltelefon har funnits varför det är svårt att bekräfta att spelet verkligen fungerar på en sådan, men tester på emulatorer tyder på att spelet är korrekt. Gruppen hoppas inom en snar framtid få möjlighet att testa spelet på en riktig mobiltelefon. 5HIHUHQVHU Programmeringsgruppen har löst de problem och frågeställningar som uppstått helt på egen hand utifrån de kunskaper de tillförskansat sig genom tidigare utbildning. Programmet JBuilder från Borland samt tillhörande Java 2 Micro Edition Toolkit från Sun Microsystems har använts för att kunna programmera spelet till mobiltelefoner. För mer information se: http://www.borland.se http://java.sun.com/ Utöver gruppens egna kunskaper har Jadestone fungerat som rådgivare inför programmeringstekniska beslut. Kontaktpersoner på Jadestone är: o Tommy Palm, tommy.palm@jadestone.se o Patrik Roos, patrik.roos@jadestone.se 9