MonstroCity Ett positionsbaserat MMORPG spel

Storlek: px
Starta visningen från sidan:

Download "MonstroCity Ett positionsbaserat MMORPG spel"

Transkript

1 MonstroCity Ett positionsbaserat MMORPG spel Johan Afseer Andreas Bjerkeholt Peter Lundberg Hans Andersson Otto Kahne Alexander Nordh 15 maj 2009

2 Sammandrag Vårt projekt har varit att utveckla ett mobilspel som utnyttjar positioneringsteknik för att förstärka spelupplevelsen. Spelet var ett äventyrsrollspel i en storvärld med multipla användare och hade ett Sci-fi tema. I vårt arbete nyttjade vi verktyg XX, YY och ZZ för att skapa både en server och en mobilklient för spelet... Abstract The aim of this project was to develop a mobile game to 3:rd generation mobile phones that utilises positioning technology to enhance the player experience. Sida 2 av 48

3 Förord Detta är ett kandidatarbete i Datorteknik vid institutionen för Data och Informationsteknik, Chalmers tekniska högskola. Vi har samarbetat med Nokia och vill tacka för det generösa lånet av mobiltelefonerna som gjort det möjligt att testa vårt spel. Vi skulle vilja tacka Anders Mårtensson, Anders Qvist och Leif Ryd för idéen till MonstroCity [1]. Vi vill tacka vår handledare Sus Lundgren som har varit ett stöd i det vi visste minst om, men också vår andra handledare Staffan Björk. Vi vill också tacka för alla tips och hjälpsamma kommentarer som vi har fått på vägen. Våra examinatorer Peter Lundin och Christer Carlsson. Sida 3 av 48

4 Innehåll 1 Inledning Syfte Avgränsning Historik Slutprodukten Metod Hur vi arbetade Använda verktyg Planering Litteratur studier Speldesign Vision Spelmekaniker Användning av positionering Spelsession Spela själv Spela i grupp Strider Föremål Quests Accelerometer Tema Designval gällande temat Alternativa teman Teknik & Kommunikation Generellt Nätverk Det gamla protokollet Brister i det gamla protokollet Det nya protokollet Fördelar med nya protokollet Problem Design och utveckling av klienten Klientens struktur Trådar Strukturen Utveckling Klientens GUI Utvecklingen av anv ndargr nssnittet Design beslut Problem med användargränssnittet Sida 4 av 48

5 6 Server Struktur GUI Modell Positionering Problem Diffar på upp till 25 m Lång laddningstid efter förlorad kontakt med satellit Radioskugga Representation Andra tekniker Diskussion 33 9 Bibliografi Ordlista 36 A Användardokumentation 37 A.1 Introduktion A.2 Tutorial B Användarmanual 37 B.1 Att börja spela B.2 Att skicka medelanden B.3 Att slåss med monster B.4 Att slåss med spelare B.5 Att förlora kontakten med ditt alias B.6 Att finna information om sin styrka B.7 Att hantera dina föremål B.8 Att undersöka föremål B.9 Att ta på eller av sig ett föremål B.10 Att flytta föremål B.11 Att använda föremål B.12 Att göra sig av med föremål B.13 Att stänga av spelet C Systemdokumentation 45 C.1 Kravdokument C.2 Systemspecifikation C.3 Detaljerad systemspecifikation C.4 Modul- och underprogram/metodspecifikationer C.5 Kvar att implementera C.6 Nätverksprotokoll C.6.1 Översikt kommandon C.6.2 Utvalda kommandon i detaljnivå Sida 5 av 48

6 D Utvecklingsdokumentation 48 D.1 Dagbok D.2 Tidsplaner D.3 Slutsatser om kandidatarbetet D.4 Slutsatser om uppgiften Sida 6 av 48

7 1 Inledning Spel i digital form är en ständigt växande marknad och är nu en etablerad del av underhållningsbranschen. Under årens lopp har spelen utvecklats i takt med tekniken och nya tekniker har gett möjligheter för nya idéer till att spela på. Ett tydligt exempel på senare år där sättet att spela ändrats radikalt är Nintendos senaste konsol Wii, där fokus har varit på kontrollsystemet och att få spelarna mer aktiva i sin interaktion i form av mer rörelser under spelandet. En ny teknik som vuxit fram på senare år och nu blir allt vanligare i bärbara produkter, och främst mobiltelefoner, är GPS-positionering där man med hjälp av satteliter kan se var man är på en karta. Detta öppnar upp nya möjligheter för att få fram en unik spelupplevelse där spelet kan få en medvetenhet var i världen man är och spel där man tar sig från en plats till en annan i verkligheten kan reflekteras i spelvärlden. Då detta är en ny teknik finns det ännu inte många spel som utforskat dessa möjligheter. Vårt arbete har gått ut på att utveckla just ett sådant spel. Med vårt spel ville vi utforska möjligheterna med dagens GPS-teknik i just mobiltelefoner där man enkelt ska kunna ansluta sig till en spelvärld där det har betydelse var man är någonstans. Spelet har utvecklats från grunden och involverat delar som speldesign, där vi fått en inblick i alla aspekter man behöver tänka på före man sätter igång med att skapa ett spel. Utöver det har vi fått nyttiga erfarenheter vad gäller nätverkskommunikation, där bland annat design av ett nätverksprotokoll och skapandet av klient och server ingått. Vi har även bekantat oss med, vad som för oss var, ett nytt programspråk, i form av Python. 1.1 Syfte Syftet var att skapa ett spel som vi kände oss nöjda med, med andra ord ett spel som vi själva tyckte var roligt att spela. Spel skulle innehålla element av socialt utbyte mellan spelarna, i form av både samarbete med, och tävlan mot, andra. Alltså krävdes både incitament till och möjligheter att sätta sitt spelar-alter ego i relation till andra. Spelet skulle även ha ett genomgående tema som vi kunde arbeta utefter i övriga delar av designen. Därtill följde ett medryckande stridssystem som skulle vara både roligt och balanserat. För att skapa motivation för spelaren skulle spelet ge möjligheter att utveckla ens spelkaraktär på något vis. Förutom strider ville vi även att spelet skulle erbjuda spelarna uppdrag att utföra. 1.2 Avgränsning För hela projektet har vi låtit mobiltelefonernas inbyggda funktioner hantera alla GPSberäkningar, att göra något eget skulle varit ett väldigt omfattande arbete, kräva omfattande ämnesstudier och inte nödvändigtvis blivit bättre än vad som nu fanns att tillgå. Denna avgränsning har möjliggjort för oss att fokusera på speldesign och att implementera positioneringen. Sida 7 av 48

8 Projektet har gjorts för att undersöka positionering i spel och vad det kan innebära varför många saker som vanligtvis skulle höra till att utveckla ett stabilt spel inte har behandlats t.ex. användartester, eftersom spelet aldrig var innehållsrikt för att vara lockande för testare. Omfattande utveckling av innehåll, då vi såg det mindre relevant för våra undersökningar har spelet inte fyllts med en stor mängd olika utrustningar, olika typer av monster eller många viktiga platser på kartan; Stresstester, vi har aldrig haft möjligheten att ha ett stort antal spelare i spelet samtidigt, skulle detta ha blivit en kommersiell produkt hade detta behövts göras; Begränsad karta, då testningen skedde på Chalmers campus Johanneberg begränsades spelytan till detta område varför det inte går att spela utanför, något som skulle ha varit eftertraktat i en faktiskt produkt. Slutligen så har avancerad grafik och avancerade grafiska funktioner aldrig varit prioriterat under projektet, dels för att mobiltelefonerna har begränsad beräkningskapacitet men även för att de hade ökat komplexiteten med en hög grad och för att vi saknade specialkompetens inom området. 1.3 Historik GPS har funnits länge men det är först på senare år som de börjat finna sin väg in i var mans hand... Mobilers prestanda, i form av beräkningskraft, har ökat omfattande och således även möjlighetena man har när man arbetar med mobiltelefoner, på senare tid har detta lett till mera och mera avancerade spel och till att mobiltelefoner utrustas med GPS. Samtidigt har införande av 3G och Turbo-3G lett till större möjligheter för högkvalitativa internetanslutning var man än befinner sig. Tidigare Pervasive games 1.4 Slutprodukten I slutändan av projektet har vi ett spel som spelas på användarnas mobiltelefoner där deras position i den verkliga världen avgör deras position i spelet. Spelarna kan slåss mot monster och strida mot varandra där vinnaren avgörs av spelarna utrustning, nivå och grundvärden. Allt detta hanteras i servern som håller i spelmodellen och via spelarna mobiltelefoner som fungerar som spelarna kommunikationsverktyg med modellen. Sida 8 av 48

9 2 Metod 2.1 Hur vi arbetade För att skapa mjukvaran har gruppen använt arbetssättet Iterativ utveckling. Många delar av projektet gick att arbeta individuellt med, och andra behövde kopplas ihop, därför har gruppen arbetat både individuellt och i grupp. Grupparbete skedde mest när kod mellan server och klient eller bara kod mellan olika klasser behövde kopplas ihop. Gruppen delades tidigt in i en halva som lärde sig Python syntax och hur mobilen fungerade för att kunna skriva klienten, samt en halva som specialisera sig på Java, servern och databasen. 2.2 Använda verktyg Den första gången gruppen träffades bestämde vi genast hur vi skulle kunna kontakta varandra. Därefter lämnade alla ut sina mail adresser, samt annan kontakt information som kunde vara viktig. Det sattes upp en Wiki sida där alla möten skrevs upp, tillsammans med all annan text gruppen skrev inom alla tänkbara delar av projektet. Dessa innefattade allt från spel ideér till tidsloggböcker. Gruppen har även använt andra medier för att kontakta varandra, exempel på dessa är MSN, SMS och mobil telefoner. För att hantera all den data vi delat, som inte har varit informativ text, har vi använt SVN, vilket står för Sub version, som sparar revisioner av allt arbete i olika versioner. På detta sätt kan vi gå tillbaka och se hur kod och bilder tidigare har sett ut, allt detta material har kunnat nås och uppdaterats av alla grupp medlemmar. För att hantera SVN lokalt på datorerna, har vissa i gruppen använd sig av programmet Tortoise, som förenklar hanteringen av SVN. Vår kod har varit uppdelad i två delar, en del för varje språk, dessa var Java och Python. För utveckling av Python kod så använde gruppen först en emulator från Nokia vid namn S60 Emulator, eftersom gruppen då ännu inte fått tillgång till egna telefoner att arbeta med. Denna emulator fungerade för att göra det mesta, men kunde självklart inte emulera saker som vibrationer eller framförallt GPS. När telefonerna väl hade anlänt började Python sidan av gruppen arbeta med olika text redigerings program som alla innehöll stöd för så kallad highlightening vid skrivning av kod. Utvecklingen av Java kod för servern har skett genom utvecklingsmiljön Netbeans. Gruppen har kunnat arbeta effektivt i grupp på grund av att nästan alla har en laptop dator. Att sitta i en datorsal hade inte fungerat, eftersom vi behöver ett stort antal olika sorters utvecklingsverktyg installerade för att kunna arbeta. Ett exempel på detta hade kunnat vara SVN och Tortoise. Utan laptop datorer hade effektivt grupparbete blivit mycket svårare att uppnå. 2.3 Planering Gruppen planerade flera olika deadlines, som visades på Wiki sidan som nämns i Använda verktyg. På detta ställe antecknades också alla möten, samt vad för typ av möte det var. Högpriomöte, arbetsmöte eller handledarmöte var de 3 huvudsakliga mötes typerna. Gruppen hade bara 2 lokaler som var de huvudsakliga mötes platerna. Den ena lokalen var för handledarmöten, och den andra för alla andra möten. När gruppen arbetade så fanns det en högre prioritet på vissa delar av projektet. Ett av de större målen gruppen hade var att få igång fungerande strider. Detta eftersom att det var en viktig del av spelet och det krävde att många delar fungerade tillsammas. Eftersom att gruppen bestod av 6 gruppmedlemmar, så har det ibland varit svårt att planera möten som stämmer överens med allas sheman. Detta Sida 9 av 48

10 på grund av att många har minst 1 annan kurs som går parallellt med kandidatsarbetet vid olika tider. 2.4 Litteratur studier En av de få litteratur studier som gjorts i gruppen har varit att läsa om tidigare positions baserade spel. Detta för att få information om vad dessa spel har haft för tekniska problem, vilket hade kunnat förenkla gruppens arbete och ge insikt i vad för problem som kan uppkomma. Det gav också insikt i vad för andra spelidéer som genomförts på samma område. Dessa har gruppen sedan kunnat jämföra med sin egen spelidée och dra lärdom av. Gruppen gjorde även en del litteratur studier inom olika sorters positioneringstekniker. Detta eftersom det var ett val som var av stor vikt för projektet. Ett dåligt val av positioneringsteknik hade kunnat begränsa spel designen eller göra spelet otillgängligt för många spelare. Det valet vi tog var tillslut GPS, men även Triangulering diskuterades. Sida 10 av 48

11 3 Speldesign I detta kapitel behandlas själva designen av spelet med de problem det medför. Olika förslag och möjligheter tas upp och hur det skulle påverkat slutprodukten och sedan en motivering till varför designvalen blev som de blev. 3.1 Vision Vår vision är att skapa ett spel som skiljer sig från traditionella dator- och mobilspel genom att införa rörelse. När man slåss i spelet mot andra spelare och monster ska man behöva röra på sig för att lyckas. Dessutom kommer rörelse ingå på andra sätt, då man kan tvingas ta sig till vissa platser. Vårt mål är att spelet ska vara roligt, det ska vara fördelaktigt att gå samman med andra spelare och bilda lag, men det ska samtidigt gå att spela ensam. Spelaren ska vara driven att återkomma till spelet för att utveckla sin karaktär och delta i tävlande mellan spelare. 3.2 Spelmekaniker Användning av positionering I strid används positioneringen endast till att räkna ut om spelaren eller den spelaren attackerar är inom räckhåll för varandra så de kan utdela skada. Ursprungligen var det tänkt att positioneringen skulle användas för att mäta förflyttningen mellan varje period för att kunna räkna ut chansen att väja för skada. Ju mer spelaren förflyttar sig, desto större chans är det att spelaren undviker att bli träffad. Då tekniken för att bestämma positionen inte är tillräckligt exakt eller responsiv för att på ett rättvist sätt kunna använda ett sådant stridssystem fick idén skrotas. Tanken var också att positioneringen skulle användas till att bestämma om uppdrag har utförts genom att dom förflyttat sig till en specifik plats definierat i uppdraget men det blev inte implementerat i brist på tid Spelsession En viktig fråga för spelet var när en spelomgång slutade, om den slutade överhuvudtaget, och om det skulle finnas vinnare och i så fall hur denna skulle utses. Dessa beslut var otroligt viktiga för hur spelet i slutändan skulle spelas. Korta spelsessioner Ett alternativ var att hade kortare spelsessioner där man möttes på en i förhand angiven plats och spelade under en kort men intensiv tid på allt ifrån ett tjugotal minuter till flera timmar innan en slutgiltig vinnare utsågs. Denna idé hade fördelen att man på förhand kunde anordna större spelträffar och få en intensiv spelstund. Spelet skulle då bli ganska simpelt, man skulle lära sig det fort och grunden skulle då bli det sociala umgänget. Spelet skulle riskera att brista i variationen och till slut bli enformigt. Sida 11 av 48

12 Det hade sedan tidigare bestämts att spelarna skulle få belöning och kunna bygga på sin spelkaraktär allteftersom. Även om detta kunnat göras med kortare spelsessioner då man kunde få belöning efter varje avklarad session skulle det bli väldigt begränsat då en som spelade ofta skulle få stora fördelar mot en som spelade mindre ofta och spelet skulle bli svårtillgängligt för nya spelare då de i största del bara kunde spela mot varandra. Fortlöpande Ett annat alternativ var att låta spelet fortlöpa hela tiden och ha topplistor över bland annat dödade monster och hur det gått i möten med andra spelare som spelare kunde följa. En stor nackdel med detta var att de som kom i kontakt med spelet tidigt skulle få en stor fördel mot människor som började spela i efterhand och allt eftersom tiden gick skulle spelet bli mer och mer svåråtkomligt för nya användare. Detta är något som skulle kunna lösas med spelzoner där vissa områden var svårare och andra lättare men det skulle begränsa tillgängligheten då alla spelare skulle få ta sig till specifika områden för att kunna spela vilket skulle ta bort en del av möjligheten för en spelare att ta upp och spontanspela på vägen till affären. En stor del av spontaniteten riskerade att gå förlorad. En annan idé skulle vara att världen delades in i olika nivåer där man enbart såg andra spelare som låg ungefär på samma nivå, mötte passande monster och fick uppdrag som passade till spelarens nivå. Detta skulle dock begränsa spelvärlden och det skulle krävas en väldigt stor användarbas för att det inte skulle bli ödsligt där flera spelare sprang omkring för sig själva och sannolikheten för att träffa på en annan spelare av en slump när man var ute och gick på stan skulle minska. Månadsbaserat spelande Till slut valdes en mellanväg där spelet skulle fortlöpa under en månad innan allt nollställdes och en vinnare utsågs. Det gjordes via en topplista för att ranka spelare under spelsessionen. Det gjorde nya spelare som kom in mitt i den förra sessionen fick en chans att placera sig bättre på topplistan då det är en klar fördel att vara med från början av varje spelsession för att få hög poäng. Topplistan är för att främja tävlande mellan spelare och en genväg för oss som spelskapare att inte behöva tillhandahålla unikt material hela tiden för att sysselsätta spelarna utan att lockelsen att vinna gör att de sysselsätter sig själva. Diskussioner fördes även om att belöna segrarna efter en viss omgång genom att ge dem något som visade att de vunnit. Detta skulle inte göra dem starkare i spelet men till exempel en titel som visades hos en annan spelare när den kom i kontakt med en tidigare segrare. Sida 12 av 48

13 Då spelet skulle ge möjligheter att spela själv samt spela med andra behövdes ett system som tillät och motiverade detta. Spelaren behövde kunna välja själv om han ville spela mot andra spelare, samarbeta eller spela själv. Därför behövdes framförallt ett stridssystem som fungerade både för ensamt spelande och för flera. Spelaren borde också kunna hindra andra spelare att anfalla om denne inte ville spela mot andra Spela själv Det man ska få ut av att spela själv... Vi valde att inte ha med följande saker av följande anledningar... Då andra spelare oftast är inloggade i spelet samtidigt som du så spelar du aldrig ensam. Du kanske väljer att inte interagera med dom andra spelarna men alternativet finns alltid så länge det finns spelare online. Spelet är fullt spelbart utan andra medspelare då det finns gott om monster att bekämpa och en hel del uppdrag att klara av på egenhand Spela i grupp Det man ska få ut av att spela i grupp... Vi valde att inte ha med följande saker av följande anledningar... Genom att spela i grupp så gör man spelet ännu mer socialt. Om man förflyttar sig tillsammans kan man ju kommunicera genom tal som är ett betydligt snabbare och tydligare sätt än att skriva meddelanden genom spelet till varandra. Men det öppnar upp nya möjligheter genom att du kan besegra starkare monster och då få mer pengar och xp. Det finns inget sätt att officiellt visa andra spelare att man är en grupp då vi inte har infört ett party-system då detta inte är en nödvändigt funktion för att spelat ska vara spelbart utan har blivit bortprioriterat i brist på tid Strider Fungera genom att.. Detta valde vi eftersom... Stridssystemet är uppbyggt genom två olika lägen som en spelare kan vara i. Om en spelare är i passivt läge kan denna ej attackeras men inte heller attackera andra spelare. Men är han i aggressivt läge så kan han både attackera och attackeras. Är spelaren i passivt läge och vill övergå till aggressivt så tar detta 30 sekunder. Samma sak gäller för att gå från aggressivt till passivt. Båda fördröjningarna är avsiktliga för att förhindra att folk missbrukar övergångarna genom att byta fram och tillbaka i strider. En övergång mellan lägena visas tydligt för påverkade parter. Sida 13 av 48

14 Spelaren har chansen att att skada sin motståndare inom en begränsat område kring sig, vilket utgörs av spelarens egna räckvidd vilket inte ska förväxlas med spelarens synvidd. Även om spelaren inte har någon annan spelare inom sin egen räckvidd betyder inte det att denne är säker från attacker då andra spelare och monster kan ha en större räckvidd. Spelaren kan enbart göra skada på ett objekt i taget. Detta sker genom att markera en spelare och välja att attackera det. Själva skadan utdelas i intervaller på fem sekunder och fortsätter tills spelaren väljer ett nytt mål eller går ur attackläget. Detta kan göras självmant, eller på grund av andra anledningar såsom att målet dör. Om det är en annan spelare kan det även avbrytas när denne loggar ut eller byter till passivt läge. Attacken avbryts inte men ger ingen skada då objektet kommer utanför det området som du skadar inom men så fort objektet är tillbaka inom räckhåll så görs skada som vanligt. En attack pågår tills målet är besegrat, spelaren själv blir besegrad eller attacken avbryts. Om det bekämpade objektet är ett monster så får spelaren pengar och xp för sin insats. Om spelaren i sin tur blir attackerad av ett objekt så måste blir valet att attackera tillbaka för att returnera någon skada eller springa utom räckhåll för att komma undan. Alternativa designer på stridssystemet Det fanns många tankar om hur stridssystemet skulle fungera som till slut inte implementerades eller som skrotades av ett skäl eller ett annat. Ett förslag var att spelaren skulle trycka på en knapp på mobiltelefonen för varje anfall. Ganska fort kom avslogs den idén då detta inte var någon bra idé då man blev väldigt upptagen med att trycka på mobiltelefonen och inte kunde ägna lika mycket tid åt att röra sig i verkligheten vilket var ett av grundmålen med projektet. Ett annat förslag var att spelare och monster inte skulle ha en diskret räckvidd utan ett område där skadan bestäms utav en kvadratisk ekvation beroende av avståndet med effekten att det då skulle gå att finna ett optimalt avstånd som man vill befinna sig inom och att det skulle variera för varje fiende man mötte. Vi kända ett systemet var lovande men att det var väldigt tungt att implementera eftersom det, förutom att se till att alla monster gavs passande ekvationer och se till att alla spelare skulle kunna modifiera sin egen kurva på ett smidigt och lättförståbart sätt innebar att en passande visualisering behövde göras och att det hade krävts omfattande balansering av systemet för att få något som inte bara hade en bästalösning. Ytterligare en idé var ett system för gruppstrid som innebar att spelarna skulle få en bonus på sina attacker om de omringade och anföll ett monster från flera sidor. Bonusen skulle vara beroende på den vinkel som bildas mellan monstret, spelaren och spelarens närmaste medspelare, vilket skulle leda till att man alltid vill placera sig med jämt avstånd mellan sina medspelare och att alla i laget skulle behöva göra sitt yttersta för att positionerna ska vara rätt medan det man slår mot rör sig. Se förklarande figur-??. Ännu mera intressant hade det Sida 14 av 48

15 blivit om två lag möts då spelarna skulle göra sitt bästa för att försöka omringa det andra laget och samtidigt se till att vara på jämna avstånd från varandra vilket hade medfört att framgång i spelet hade berott på samarbete, koordination och löpskicklighet. Anledningen att detta inte blev implementerat var pga tidsbrist och även brister i tekniken som utgjorde hinder. Framförallt precision och tidsfördröjning från det att man rör sig till det att spelet uppfattar det gjorde detta svårt att genomföra Föremål Föremål i ett spel såsom MonstroCity kan rent konceptmässigt ses som en karaktärs ägodelar i spelvärlden, men rent spelmekaniskt handlar det i grunden endast om utbytbara permanenta eller temporära ökningar av spelkaraktärers spelmekaniska värden. Det är därför inte helt givet att denna spelmekaniska funktion skall kallas för just föremål, även om detta namn är ett vanligt inslag i merparten av de MMORPG som finns på marknaden idag. Föremål är också av den karaktären att de i regel går att hitta någonstans i spelvärlden, alternativt köpas på specifika platser däri. Hur stor roll dessa föremål skall spela för en karaktärs förmåga att vinna strider kan man dock ha ganska skilda åsikter om. Fördelar och nackdelar Den huvudsakliga diskussionen kring föremål i ett MMORPG är inte alltid gällande deras vara eller icke vara, då det ju kan ses som ett ganska kul spelelement att samla på sig saker som på olika vis förbättrar ens karaktär. Möjligheten att hitta eller införskaffa nya föremål, och de valmöjligheter detta ger för ens karaktärsskapande, är också ett gott incitament för att få spelare att vilja fortsätta spela. Dock kan ett brett föremålsutbud göra ett spel mer svårbalanserat, eftersom antalet kombinationer blir många, och det blir svårt för utvecklare att förutsäga hur spelare kommer att hantera dessa kombinationer. Det är också diskutabelt hur svårt det skall vara att hitta de allra bästa föremålen, och hur stor skillnad det skall vara mellan de bästa och de sämsta föremålen. Om spannet är stort kommer föremålen till stor del att diktera hur striderna går, vilket kanske inte alltid är önskvärt. Idéer Det framkom under designfasen ett antal alternativ för hur MonstroCity:s föremålssystem skulle se ut. Ett alternativ var ett system där alla en karaktärs förmågor och värden var helt baserade på föremål eller något dylik spelmekanisk funktion med ett annat namn. Övriga alternativ tonade ned föremålens vikt en aning, till förmån för grundvärden som baseras på en spelares karaktärsnivå. Till en början var det tänkt att man skulle kunna köpa föremål i platsbundna affärer, som var relaterade till affärer i verkligheten; något som sedermera frångicks med anledning av beslut om spelkonceptet. Därtill fanns det tankar om att man skulle kunna hitta föremål på de monster som man besegrat, vilket dock inte blev fallet i den slutgiltiga designen. Systemet Slutligen fick MonstroCity ett system bestående av fyra olika sorters föremål vapen, rustning, övriga föremål som man kan bära på sig själv, samt övriga föremål som man måste bära i sitt inventarium (I spelet: Weapon, Armor, Equippables, Non-Equippables). Den sista kategorin, som man endast bär i sitt inventarium är av formen engångsföremål, som försvinner när man använt dem en gång. I ett givet tillfälle går det endast att nyttja ett Sida 15 av 48

16 vapen, en rustning, samt två föremål som går att bära på sig själv. Namngivningen är dock inte på något vis bundet till spelkonceptet i sig, utan speglar enbart vad föremålen har för spelmekanisk funktion. Systemet fungerar också på så vis att det endast är två värden som grundas enbart på föremål det vill säga hur mycket skada man gör när man anfaller någon, och hur mycket skada ens rustning absorberar när man blir slagen. Övriga värden kan modifieras av föremål, men är i grunden beroende av karaktärsnivå. Detta gör föremålen enklare att balansera, men är ändå viktiga för karaktären, samtidigt som de ger spelaren ett visst mått av valmöjlighet. Det var även tänkt att man skulle kunna köpa föremål i en icke platsbunden affär i spelvärlden, för en monetär enhet som man erhåller då man besegrar monster. Själva affärssystemet är dock, av tidsskäl, ännu inte implementerat Quests Quests eller uppdrag är en del som sågs som ganska viktig men inte hann implementeras på grund av tidsbrist. Målet med uppdrag är att spelaren ska dras in mera i spelet genom att spelaren får uppdrag att utföra som leder till olika former av belöningar, de tänkta belöningarna var främst tänkt att vara föremål, erfarenhetspoäng eller i form av den spelinterna valutan men hade även kunna varit titlar eller tillfälliga förstärkningar för spelarens avatar. Designen av uppdrag var att det skulle finnas två typer, personliga uppdrag och globala uppdrag där den avgörande skillnaden skulle vara vilka som kunde avklara uppdragen och om man skulle göra den i tävlan med andra eller ej. Personliga uppdrag skulle vara uppdrag där målet var att ta sig till en plats eller besegra ett visst monster medan globala uppdrag skulle ha samma mål men med kriteriet att det skulle vara tillgängligt för alla spelare samtidigt och att bara en eller ett fåtal spelare skulle kunna få belöning för avklarat uppdrag. Med globala uppdrag hoppades vi få till en större mängd tävlan och action i spelet eftersom spelaren behöver agera snabbt för att försäkra sig om att få uppdragets belöning, en annan fördel var att det skulle ge spelaren en anledning att ha spelet rullande eftersom man aldrig kunde veta när ett globalt uppdrag skulle dyka upp brevid sig. Gällande för alla uppdrag är att när uppdraget var avklarat skulle det försvinna från alla spelares lista över aktiva uppdrag. Det övervägdes även att införa eventuella tidsbegränsningar på uppdrag för att undvika att spelet stagnerade pga oavklarade uppdrag men eftersom detta skulle vara en avvägningsfråga som bäst löses med spelartester och data från faktiskt spelande lyckades vi inte komma till någon slutsatts i frågan. Uppdrag skulle, om de hade implementerats, som det mesta andra ligga i modellen och ett antal ändringar hade behövts göras till koden, nätverksprotokollet skulle behövts utökas, quest-objektet skulle behöva kodas och vid varje tidpunkt skulle det behöva kollas om spelare lyckats uppfylla sina uppdrag. Sida 16 av 48

17 Dessutom skulle lämplig modellering för att ge spelarna en visuell representation av uppdragen behöva göras, den tillgängliga kvarvarande tiden ansågs vara för kort och uppdrag lades på is Accelerometer Efter att ha fått igång simpla strider mot slutet av projektet och det blev klart att precisionen och tidsfördröjningen omöjliggjorde en del av idéerna för stridssystemet börjades det titta på lite alternativ för att få striderna mer interaktiva. Då mobiltelefonerna var utrustade med accelerometer övervägdes vissa funktioner där man skulle interagera på andra sätt än knapptryckningar och position. En idé var under strider när någon händelse, till exempel en attack, skulle inträffa skulle telefonen vibrerar och man skulle få några sekunder på sig att skaka telefonen för att få ett bättre utfall. Detta alternativ hann dock aldrig ses över närmre utan stannade i idéstadiet. 3.3 Tema Handlingen utspelar sig i nutid men har ändå lite av ett futuristiskt inslag.under ett experiment så finner forskare av en slump en länk till en parallell dimension. Det enda sättet att nå denna dimension är via GPS-satelliter Man är inte i den andra dimensionen fysiskt utan man tar en typ av fysisk form i den dimensionen som rör sig likadant som man själv fast i den dimensionen. Vid radioskugga tappar man kontakten med sitt alias i den andra dimensionen. Efter många tester och experiment på den parallella dimensionen får forskarna fram att den består av en oändligt stor, ren och lättutvunnen energi. Denna energin är dock bunden i den andra dimensionens invånare och för att ta tillvara på energin krävs att man förkortar invånarnas livslängs avsevärt. Detta väcker stora protester då invånarna har formen av små gulliga kaniner också så kallade monster. Men i vår tid då priset på bränsle nått nya höjder börjar folk bli desperata och drar sig inte för att vara omoraliska. Giriga företag hittar en billig och effektiv lösning för att ansluta till den andra dimensionen genom en mobiltelefon. Företagen söker en massa människor som kan hjälpa till att utforska den andra dimensionen och samla energi, så kallade utforskare. Utvinningen av all energi som alla utforskare samlat görs via ett konstgjort svart hål i slutet på varje månad. Kaninernas enda försvar är att försöka kasta ut en ur dimensionen genom att störa din signal. När din signalstyrka är noll så dör ditt alias och du måste ladda upp den igen genom att ta dig till en laddningsplats. Även utforskarna har funnit knep för att störa andra utforskares signal och kasta ut dom ur dimensionen, detta för att temporärt minska konkurrensen. För att motivera utforskarna att göra ett bra jobb hålls en topplista över bästa energisamlare i varje månad. När en månad är slut evalueras utforskarnas arbete och den utforskare som samlat ihop mest energi vinner ära och berömmelse. Han kan också känna att han bidragit starkt till att lösa världens energiproblem även om han är medbrottsling i att förstöra en annan dimension. Med pengarna som utforskarna får kan dom köpa bättre utrustning så som skydd mot störningar och apparatur som avger störningar men detta kan göras på speciellt utvalda affärer. Sida 17 av 48

18 3.3.1 Designval gällande temat Vi valde detta tema av ett antal anledningar, den först och ytligaste anledningen var att ingen i gruppen kände för att utveckla ett fantasytema för spelet eftersom vi känner att det är mera än en aning överexploaterat. Det diskuterades både post-apokalyptisk Sci-fi och kriminellt-tema men det vi fastnade för var nära framtid/alternativ nutid-temat som nämns ovanför. Anledningen till detta kan lätt förklaras med immersion vilket översätts till f rsjunkenhet och innebär att spelet känns som mera än bara ett spel. Det vi ville uppnå vara ett scenario där ens spelande känns som det faktiskt skulle spela roll. Att få spelaren att tänka-tänk om detta är verkligt och det jag gör nu är avgörande vilket skulle ge spelet något av en extra dimension När vi väl hade grunderna till scenariot såg vi till att blanda in en naturlig förklaring för de spelkoncept vi redan hade utarbetade in i temat, två av dessa var att vi ville ha en återställning av spelet varje månad och att vi ville ha ett erfarenhets system som skulle vara relativt överdrivet för människor. Månadsåterställningen förklarades med det svarta hål som krävdes för att föra över energin mellan världar och den accelererade erfarenhetskurvan förklaras med att det inte är du utan din avatar i den alternativa världen som utvecklas Alternativa teman I början av projektet då vi försökte enas om ett tema att bygga spelet kring så fanns ett par dela meningar om hur temat skulle vara. Dom två huvudsakliga idéerna var ett kriminellt tema och ett fantasy tema. Det kriminella temat handlade i stort om att man skulle utföra kriminella gärningar för att tjäna pengar och klättra i rang i en kriminell undre värld. Skriv nåt om fantasytemat här... Sida 18 av 48

19 4 Teknik & Kommunikation 4.1 Generellt Vilka delar projektet består av... Vilken information som finns i systemet Hur modellen ser ut 4.2 Nätverk Figur 1: Kommunikationen mellan server och klient. En väldigt viktig del av MonstroCity är kommunikationen som sker mellan klient och server. I dagens nätverk används vanligtvis något av de två olika transportprotokollen TCP och UDP. UDP har fördelen att det är ett lättviktigt protokoll, vilket helt enkelt innebär att mindre information behöver skickas på nätverket. Eftersom kostnaden för spelarna i många fall beror på trafikmängden sågs det som önskvärt att hålla trafiken så låg som möjligt. En annan intressant egenskap hos UDP är att det är förbindelselöst, vilket skulle kunna göra hanteringen av ett stort antal klienter enklare för servern. UDP saknar dessvärre felhantering, vilket innebär att paket som försvinner inte sänds om, utan försvinner spårlöst. Det har heller inget system för att ignorera paket som kommer fram så sent att de saknar relevans. TCP är å andra sidan ett mycket pålitligt protokoll, som hanterar omsändning av paket. Slutligen bedömdes det även vara möjligt att UDP-paket skulle fastna i brandväggar, vilket ledde till att TCP var det protokoll som valdes. För en översikt se bild 1. För att servern skulle slippa behöva hantera ett mycket stort antal parallella uppkopplingar, trots det faktum att TCP inte är förbindelselöst, byggdes nätverket så att en ny anslutning upprättas varje gång en klient behöver skicka något till servern. En annan anledning till det byggdes på det viset var att data skickas såpass sällan, i nätverkssammanhang, ungefär en Sida 19 av 48

20 gång i sekunden. Innan anslutningen avslutas sänder servern dessutom alla uppdateringar som klienten är i behov av. Arbetet påbörjade sedan med att ta fram ett protokoll som klient och server skulle prata för att förstå varandra. En bit in i projektet kom vi dock fram till att några saker gjorde det onödigt komplicerat och var inte tillräckligt dynamiskt, varpå vi utvecklade ett nytt protokoll med denna lärdomen. Följande underkapitel kommer alltså handla om det gamla och det nya protokollet, och skillnader strukturellt mellan dem Det gamla protokollet Strukturen på det gamla protokollet var i stora drag att vi hade nyckelord som betydde en specifik sak, följt av några rader med data som tillhörde detta nyckelord. Här följer ett exempel på ett paket som klienten skickar när den uppdaterar sin position. Text inom hakparenteser ersätts av data från klienten. KEY [sessionkey] POS [latitude] [longitude] [satelliter] END Brister i det gamla protokollet Olyckligtvis fanns det flera brister i det första protokollet som utvecklades. Speciellt tekniskt sett blev implementationen svår att hålla snygg och lättläst, vilken innebar att det var lätt att införa buggar. Ett väldigt vanligt sätt att läsa och skicka saker på nätverket är att läsa och skicka hela rader i taget. Nu var det dock så att för att läsa all information tillhörande ett nyckelord var vi tvungna att läsa flera rader. Detta innebar att det blev en mycket loopar och onödigt komplicerat. Dessa problem blev större och större ju längre vi kom och expanderade protokollet. En annan brist var att, om nya nyckelord infördes i protokollet utan att man uppdaterade klienten, så kunde inte klienten tolka kommunikationen alls längre. Den behöver nämligen veta hur många rader den ska förvänta sig efter varje nyckelord Det nya protokollet Med bristerna ovan bestämdes det protokollet skulle skrivas om. Inspiration hämtades från HTTP-protokollet, och likt det infördes huvudkommando och kommando. De två kommandotyperna ersatte det tidigare nyckelordet och fungerar på ungefär samma sätt. Skillnaden mellan huvudkommando och kommando är att varje nätverkspaket från klienten alltid börjar med ett huvudkommando, och innehåller max ett sådant. Det som är viktigt med huvudkommandon och kommandon är att de tar maximalt upp en rad. Fördelarna med detta går att Sida 20 av 48

21 läsa i Fördelar med nya protokollet. För att se nätverksprotokollet i detalj, samt se vilka huvudkommandon och kommandon som finns, se bilaga B.6 Nätverksprotokoll. Här följer samma exempel som i underkapitlet Det gamla protokollet. UPDATE [sessionkey] POSITION [latitude] [longitude] [satelliter] END Fördelar med nya protokollet Det finns många fördelar med det nya protokollet. Lätt att utöka / Dynamiskt Eftersom varje kommando har sin egen rad är det väldigt lätt att skicka med godyckliga kommandon när man vill. Detta kan komma till nytta då man gör mindre uppdateringar av protokollet, eftersom klienten då fortfarande skulle fungera. Ej beroende av ordning Om ordningen på kommandon någon gång skulle ändras skulle klienten vara opåverkad av detta. Mer felsäkert Om klienten skickar data som servern inte förstår (eller tvärtom) kan den lätt bara ignorera detta eftersom den inte är beroende av att raderna kommer i en speciell ordning. Lätt att dela upp och hantera Eftersom varje kommando har sin rad är det lätt att hantera detta programmeringsmässigt. När programmet läst ut en rad, kan det lätt kontrollera första ordet, som är själva kommandot, och därefter skicka raden vidare till en speciellt funktion som tar hand om just det kommandot Problem I början av projektet när en nätverksförbindelse skulle upprättas mellan server och klient så uppstod problem direkt. Försöket bestod av att skicka en textsträng till servern och då skulle servern svara med en textsträng. Servern fick textsträngen som skickats från klienten men klienten fick bara en tom textsträng tillbaka som svar. Vi ändrade längden på textsträngen och den tillåtna längde på strängen som fick skickas men inget hjälpte. Vi sökte efter exempelkod på klienter och servrar och fann att denna var väldigt lik vår kod så vi uteslöt att koden var felskriven. En temporär kopia av klienten skrevs i Java som vi testkörde på en dator. Detta gav oss ett svar tillbaka och då fick vi en teori för att det kanske var fel på nätverkskommunikationen mellan Java och Python. Men när koden för klienten kördes på en dator istället för på mobiltelefonen returnerades ett svar och då gick misstankarna istället över till att det var något fel i python-biblioteket på mobiltelefonen. Då koden för servern kändes korrekt om man jämförde med den exempelkod som fanns tillgänglig blev vi tvungna att byta ut vår kod helt mot exempelkoden för att se om de ändå fanns något dålt fel. Koden Sida 21 av 48

22 för klienten byttes först och det gjorde ingen skillnad, men när koden för servern byttes ut så fick vi äntlig [1]en ett svar tillbaka från servern. En ännu mer detaljerad jämförelse mellan exempelkoden och vår kod genomfördes och vi lokaliserade felet till en metod i som gav ett oväntat resultat. Metoden returnerade inte korrekt data enligt dokumentationen i Java:s api [2]. Efter byte till en metod som utför samma operation i vår serverkod returnerades ett svar enligt förväntan och problemet var löst. Sida 22 av 48

23 5 Design och utveckling av klienten Klienten är användarnas del av spelet och har som främst uppgift att se till att information förs mellan spelarna och spelet och vice versa. Den har även jobbet att få ut information om positioneringen från GPS:en och skicka detta till servern. En av de intressantaste delarna, och även den största utmaningen, med att utveckla till klienten var att vi fick utveckla till en tidigare okänd hårdvara för oss. Att utveckla till en hårdvara som är mindre kraftfull gav oss begränsningar som vi inte var vana vid men samtidigt fick vi nya möjligheter i och med de funktioner som telefonen gav oss. Språket vi valde till klienten blev Python. Från början hade vi funderingar på att köra med Java då den möjligheten fanns men rådet vi fick från vår kontakt på Nokia var att Python var det bästa valet. Python var ett nytt och obekant språk för alla i gruppen och eftersom tiden för det här projektet var ganska begränsad hade vi inga möjligheter att lägga till någon extra tid för att lära oss språket fick vi helt enkelt lära oss under tiden vi utvecklade klienten. S60-telefoner har dock en egen variant av språket vid namn PYS60 (Python 2.3 för Symbian S60 system) som bygger på en äldre version av Python och saknar vissa av de moduler som annars är standard. Den har även en del egna moduler för användandet av de funktioner som är specifika för hårdvaran så som GPS-positionering, knappavlyssning och utritning av grafik. Ett av de största problemen med att utveckla klienten var bristen på dokumentation och hjälp som fanns att finna på nätet. Att använda Internet som främsta källa när man söker lösning på problem i programmering har blivit standard och när man programmerar applikationer i miljöer med bredare utvecklarbas (antal utvecklare) brukar man kunna hitta någon variant på samma problem med en lösning ganska snabbt med hjälp av simpel sökning. PYS60 har ingen bred utvecklarbas då det bara inriktar sig till S60-mobiler vilket är en ganska smal inriktning vilket gjorde att det var ganska begränsat med vad man kunde hitta och utöver Nokias egna forum för utvecklare på deras hemsida fanns det inte mycket hjälp att finna. Det ska dock nämnas att forumet i sig var väldigt bra och hade lösningen på många av problemen. Dokumentationen för de specifika moduler som tillkom i och med PYS60 kändes bristfällig och väldigt svårtydd Oftast fick vi försöka leta fram något exempel på när det användes på Internet och sedan testa oss fram för att förstå hur de skulle användas. Detta blev ganska tidsförödande. 5.1 Klientens struktur Trådar En av de moduler som inte ingår i PYS60 är den standardmodul i Python som annars används när man vill programmera med trådar. Detta gjorde att vi fick förlita oss på en äldre Sida 23 av 48

24 trådmodul som är på en mycket lägre nivå. När man programmerar till S60-telefonerna måste man lägga grafiken och knappavlyssningen i huvudtråden, inte ens bilder som laddats in i en annan tråd kunde sedan användas av huvudtråden. Detta gjorde att vi helt enkelt var tvungna till att lägga ut allt annat som kunde låsa applikationen en viss tid i egna trådar. GPS-positioneringen var en process som behövde en egen tråd då den låste applikationen varje gång den sökte position vilket tog någon sekund varje gång. Det gick dock inte att starta upp en egen tråd som skötte GPS-positioneringen manuellt, det vägrade helt enkelt att fungera när vi försökte. Metoden man kallade på hade istället en callback-parameter där man angav en egen metod som skulle köras varje gång man fick en uppdatering från GPSsatelliterna. På så sätt blev detta en egen tråd som kördes i bakgrunden och den låste inte längre resten av applikationen. Nätverkshanteringen var ytterligare en sak som behövdes läggas i en separat tråd. Då vi inte kunde öppna flera anslutningar från servern på samma gång kunde vi helt enkelt inte starta upp en ny tråd som för varje anslutning utan vi behövde en tråd som låg och väntade på att få utgående meddelanden att skicka och även satte dem i en kö när det kom nya innan den var klar med de gamla Strukturen En huvudklass som hanterar trådarna och skapar instanser av det som behövs. En klass som står för kommunikationen mellan klasserna och trådarna i form av Utveckling 5.2 Klientens GUI Eftersom det viktigaste är att alltid veta var man är så är det också det som visas i anv ndargr nssnittets bakgrund, detta i form av en karta. Spelaren representeras av ett lysande klot, vilken skärmen alltid följer så att det förblir i mitten vid alla tillfällen. Klot av andra färger representerar andra spelare eller monster. På kartan kan man se alla de hus och byggnader man hade kunnat se på vanliga GPS:er, men i spelets alternativa dimension syns istället lysande grönt där det är byggnader och svart där det är väg. Där det är rött är utanför kartan, man kan gå dit, men det kommer inte finnas några monster, affärer eller liknande där, eftersom det är ett område vi inte har arbetat med. Se figur-10. Ovanpå detta ligger två menyknappar nere i varsitt hörn för olika sorters val och högst upp en panel med spelaren liv, samt att det uppe i höger hörn finns en bild som visar om man vill slåss med andra spelare eller inte. De två olika menyerna är Menu och Interact. Menu är gjord för att man ska kunna nå alla spelets fullskärms fönster som innehåller övrig viktig information vilken är nödvändig för spelaren. I dessa fönster finns även inställningar för spelaren, som till exempel vilken utrustning han väljer att bära utav den han har med sig. Interact menyn är istället gjord för att endast ta hand om interaktionskommandon man kan skicka till andra spelare eller ett monster. Exempel på detta skulle kunna vara Engage, som Sida 24 av 48

25 Figur 2: Spelets karta. Figur 3: Under-spelets-gång-karta. Sida 25 av 48

26 gör att man påbörjar en strid med en annan spelare eller ett monster. För att bestämma vem i närheten man vill slåss med får man markera en spelare eller ett monster med Joysticken på mobiltelefonen genom att trycka vänster eller höger. Detta gör att en ring kommer upp runt den andra spelaren eller monstret och du tillåts då att välja en aktion. Om man någon gång vill avbryta en strid finns knappen Disengage i Interact menyn, som gör att spelaren slutar anfalla. I menyn Menu kan man finna två fullskärmsrutor, dessa vid namn Inventory och Stats, se figurerna I stats kan man se detaljerad information om sitt alias. Denna information beskrivs i siffror i turkos text på svart bakgrund. Inventory skärmen har delats upp i tre delar, den översta delen är 4 röda rutor som representerar det du bär på dig just nu. Den mittersta delen är 4x4 blåa rutor som representerar den plats du har att bära med dig saker. På både de röda och blåa rutorna kan föremål vara plaserade. Det finns en markör som kan röra sig med hjälp av mobilens Joystick, som kan flyttas över alla rutor, både röda och blåa. Den understa delen är 3 knappar som varierar beroende på vilket läge du är i inom detta fönster. Den knapp som är längst till vänster har 2 lägen, antingen blank eller Inspect. Inspect öppnar ett nytt fullskärmsfönster som visar Inspect vyn. Denna knapp visas bara om du håller markören över ett föremål, annars är knappen blank. Den mellersta knappen har 7 olika lägen. Dessa är Select, Use, Equip, Unequip, Switch, Move here eller blank. I det fall att man inte markerar ett föremål är denna knappen blank, annars visas Select. Om man väl trycker Select på ett föremål, så kommer detta föremål markeras. När man håller med markören över ett markerat föremål syns nu ett av dessa 3 lägen som mitten knappen kan anta, Use, Equip, Unequip. Detta beroende på föremålets typ och platsens typ. Om den ligger på en utrustningsplats så heter knappen Unequip. Om den är på en vanlig bärplats så är knappen antingen Use om typen på föremålet är NonEquippable, annars är den Equip. De 2 sista lägen som finns kommer fram när man har markerat ett föremål, och sedan håller över en annan ruta. Om denna ruta är tom, så kommer den att vara Move here. Om den har ett föremål på sig, så kommer den att heta Switch. Move here flyttar ett föremål, Switch byter plats på 2 föremål. Den sista knappen som ligger längst till höger har 2 lägen. Om man inte har markerat något föremål så backar den bara ut till grund vyn där kartan syns. Däremot om man har något markerat, så gör den en avmarkering av det du har markerat. Det beskrivs hur man kan nå Inspect vyn ovan. I denna vy kan man se mer detaljerad information om det föremål man valt att inspektera. Denna information innefattar en bild på föremålet, samt dess namn, typ och vad det ger för fördel att bära. Allt detta i turkos text, på svart bakgrund. Även här finns de 3 knapparna längst ner, dock med mycket färre lägen. Den första knappen från vänster kan vara antingen Equip eller Unequip beroende på föremålets typ. Mitten knappen är alltid Drop, för att slänga föremålet. Om man trycker på denna knappen så kommer programmet fråga om man verkligen vill göra detta, om man sedan accepterar så kommer föremålet kastas. Den sista knappen längst till höger backar alltid tillbaka till Inventory vyn Utvecklingen av anv ndargr nssnittet Från början så var GUI:t bara ett meny system, men med tiden så tillkom fullskärmsrutor, samt kartan och allt annat som nu finns där. Ett exempel på hur utvecklingen har gått är Sida 26 av 48

27 Figur 4: Inventory vyn Sida 27 av 48

28 Figur 5: Stats vyn Sida 28 av 48

29 Figur 6: Inspect vyn Sida 29 av 48

30 Figur 7: Knapparnas förändring. knapparna. Som man kan se på knapparna så har de gått från stora och svårlästa, till små och tydliga, se figur-7. Först när transparens löstes blev de menyknappar man ser på kartan mindre problematiska i den aspekten att de gör kartan svår att se när de är framme. Designen på hur man ska visa den utrustning spelaren bär förändrades radikalt sent under utvecklingen efter tips från handledaren. Istället för att det visades i ett eget fönster vid namn Equip blev det en del av fönstret Inventory, och ligger nu i det fönstret istället. Innan detta kan man se flera olika versioner av hur Inventory bakgrunden har sett ut tidigare i figur-9. Alla har följt samma rutmöster, dock så har antalet rutor och deras storlekar varierat mellan versioner på grund av antalet rutor vi velat ha, samt att storleken på knapparna förändrades. I figur-8 kan man se hur kartan såg ut från början. Den nya kartan har gjorts så att den är mer tydlig och passar bättre ihop med temat Design beslut När vi designade GUI:t så tänkte vi på att få det funktionellt sett snarlikt det som mobiltelefonen själv använder i sitt GUI. Det är därför det finns en meny längst ner i vardera hörn, samt när det behövs, även en i mitten. Vid val av olika program eller mappar så har anv ndargr nssnitt en lista med ikoner för de man kan välja utav. Vårt Inventory fungerar också på detta sätt när man navigerar sig bland sina föremål. Anledningen till att vi har den färgskala som vi har på knappar och bakgrunder är att vi vill ge både ett High-tech intryck, samtidigt som vi vill stämma överens med energi temat. I brist på skärm plats så ansåg vi att det var en bra idé att gömma undan så mycket av den information som man inte alltid ville se som möjligt. Vi ville också undvika att ge för mycket information i grund vyn (där man ser kartan), eftersom det han kunnat förvirra nya spelare. Denna information ligger istället i fullskärmsrutor som man når via den vänstra menyn. Vi ansåg också att det var mycket viktigt i ett så rörligt spel som vårt att man har bra grepp om telefonen för att undvika olyckor. Därför har vi sett till att det är fullt möjligt att spela spelet, utan att förlora någon funktionalitet medans telefonen är i infällt läge. Sida 30 av 48

31 15 maj 2009 MonstroCity Figur 8: Den a ldsta kartan. Figur 9: Inventory Bakgrundens fo ra ndring Sida 31 av 48

19 maj 2009 MonstroCity

19 maj 2009 MonstroCity Sammanfattning Projektet har gått ut på att utveckla ett mobilspel som utnyttjar positioneringsteknik för att skapa en förstärkt spelupplevelse. Spelet utnyttjar agps för positionering via Nokia:s S60

Läs mer

MonstroCity Ett positionsbaserat MMORPG spel

MonstroCity Ett positionsbaserat MMORPG spel MonstroCity Ett positionsbaserat MMORPG spel Johan Afseer afseer@student.chalmers.se Andreas Bjerkeholt bjerkeho@student.chalmers.se Peter Lundberg gggg@student.chalmers.se Hans Andersson anhans@student.chalmers.se

Läs mer

MonstroCity Ett positionsbaserat MMORPG spel

MonstroCity Ett positionsbaserat MMORPG spel MonstroCity Ett positionsbaserat MMORPG spel Johan Afseer afseer@student.chalmers.se Andreas Bjerkeholt bjerkeho@student.chalmers.se Peter Lundberg gggg@student.chalmers.se Hans Andersson anhans@student.chalmers.se

Läs mer

MonstroCity Ett positionsbaserat MMORPG spel

MonstroCity Ett positionsbaserat MMORPG spel MonstroCity Ett positionsbaserat MMORPG spel Johan Afseer afseer@student.chalmers.se Andreas N Bjerkeholt bjerkeho@student.chalmers.se Peter Lundberg gggg@student.chalmers.se Hans Andersson anhans@student.chalmers.se

Läs mer

MonstroCity - ett GPS-förstärkt mobiltelefonsspel för multipla användare

MonstroCity - ett GPS-förstärkt mobiltelefonsspel för multipla användare MonstroCity - ett GPS-förstärkt mobiltelefonsspel för multipla användare Kandidatarbete vid Data- och informationsteknik Johan Afseer Hans Andersson Andreas Bjerkeholt Otto Kahne Peter Lundberg Alexander

Läs mer

PROJEKTRAPPORT EDA095 NÄTVERKSPROGRAMMERI

PROJEKTRAPPORT EDA095 NÄTVERKSPROGRAMMERI PROJEKTRAPPORT EDA095 NÄTVERKSPROGRAMMERI NG STRESS LUNDS TEKNISKA HÖGSKOLA - 2013-05-22 Projektmedlemmar: Emil Apelgren adi10eap@student.lu.se Fredrik Helander gda10fhe@student.lu.se Jonathan Klingberg

Läs mer

MANUAL NETALERT FÖR IPHONE VERSION 1.1 WWW.NETALERT.SE

MANUAL NETALERT FÖR IPHONE VERSION 1.1 WWW.NETALERT.SE MANUAL NETALERT FÖR IPHONE VERSION 1.1 Installation Hämta och installera NetAlert till din iphone från App Store. När appen är installerad, starta NetAlert och följ instruktionerna under Första gången.

Läs mer

1 Kravspecifikation Snake App

1 Kravspecifikation Snake App Kravspecifikation Snake App - Kravspecifikation Snake App Utskriven/PDF Export: 2011-09-07 Copyright 2011 Sidan 1 av 7 1 Kravspecifikation Snake App 1.1 Vad är Snake App? Vi skall gör ett Snake Spel för

Läs mer

SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS

SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS Individuellt Mjukvaruutvecklingsprojekt (Utvecklare av digitala tjänster) Den 1 juni 2011 ABSTRAKT Rapporten tar upp positiva och negativa erfarenheter som jag erhållit

Läs mer

Användarmanual Wapspel

Användarmanual Wapspel Användarmanual Wapspel Innehållsförteckning No Refuge...2 Telefonkrav...2 Inloggning...3 Huvudmenyn...3 Spelet...4 Spelplanen...4 Radar...5 Extra tillbehör...6 Earthquake...6 Night mission...6 Datorspelare...6

Läs mer

Fyra i rad Javaprojekt inom TDDC32

Fyra i rad Javaprojekt inom TDDC32 Fyra i rad Javaprojekt inom TDDC32 Analys och design-dokument Version 2.0 Datum 2008-05-19 Dokumentnummer 20080303 Sammanfattning Detta är analys och design-dokumentet för programmet Fyra i rad. Fyra i

Läs mer

Tor Sterner-Johansson Thomas Johansson Daniel Henriksson

Tor Sterner-Johansson Thomas Johansson Daniel Henriksson Lab 4: Anti Tower Defence Oskar Mothander Alan Mendez Larsson dit06omr dit06mln Lärare: Handledare: Johan Eliasson Johan Granberg Tor Sterner-Johansson Thomas Johansson Daniel Henriksson Innehåll 1. Problemspecifikation...

Läs mer

Nätverksprogrammering, EDA095

Nätverksprogrammering, EDA095 Nätverksprogrammering, EDA095 Projekt: Chess game, 2013-05-21 Handledare: Roger Henriksson Axel Hildingsson, a.hildingson@gmail.com Hoang Huyuh Truong, artiq90@yahoo.se Lisa Lindberg, rys07lli@student.lu.se

Läs mer

Handbok Rymdduell. Andreas Zehender Eugene Trounev Översättare: Stefan Asserhäll

Handbok Rymdduell. Andreas Zehender Eugene Trounev Översättare: Stefan Asserhäll Andreas Zehender Eugene Trounev Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 2 Hur man spelar 6 3 Spelets regler, strategi och tips 7 3.1 Översikt av Rymdduellens spelskärm...........................

Läs mer

Lathund Blanketthotell Komma igång

Lathund Blanketthotell Komma igång Lathund Blanketthotell Komma igång Introduktion Denna lathund innehåller lite samlade råd och tips för de som ska använda tjänster från NT Smartwork. (För de som redan börjat använda Blanketthotellet finns

Läs mer

Talsystem Teori. Vad är talsystem? Av Johan Johansson

Talsystem Teori. Vad är talsystem? Av Johan Johansson Talsystem Teori Av Johan Johansson Vad är talsystem? Talsystem är det sätt som vi använder oss av när vi läser, räknar och skriver ner tal. Exempelvis hade romarna ett talsystem som var baserat på de romerska

Läs mer

TDP005 Projekt: Objektorienterat system

TDP005 Projekt: Objektorienterat system . TDP005 Projekt: Objektorienterat system Kravspecifikation Författare, dylma900@student.liu.se, albve061@student.liu.se Höstterminen 2016 Version 1.1 2016-11-16 1 Revisionshistorik Ver. Revisionsbeskrivning

Läs mer

Real-time requirements for online games

Real-time requirements for online games Real-time requirements for online games En undersökning om protokoll, tekniker och metoder som datorspel använder för att kommunicera över Internet Victor Grape Milad Hemmati Linköpings universitet Linköping

Läs mer

Resledaren Användarguide Android Innehåll

Resledaren Användarguide Android Innehåll Resledaren Användarguide Android Innehåll Planera Ny Resa... 3 Visa Mina Resor... 13 Ta bort sparad resa... 14 Ändra planerad resa... 15 Påminnelser... 16 Under Resan... 17 Inaktivera Pågående Resa...

Läs mer

MANUAL NETALERT FÖR IPHONE VERSION 1.0 WWW.NETALERT.SE

MANUAL NETALERT FÖR IPHONE VERSION 1.0 WWW.NETALERT.SE MANUAL NETALERT FÖR IPHONE VERSION 1.0 Installation Hämta och installera NetAlert till din iphone från App Store. När appen är installerad, starta NetAlert och följ instruktionerna under Första gången.

Läs mer

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

Game of 40. Regler och om sidan är in princip samma sak. Det som skiljer dem åt är att de inte har samma text. Presentation av uppgiften Vi har fått i att skapa en webbapplikation med ett spelbart spel inbyt i sig. Eller som läraren formulerar sig: uppgiften är att skapa en webbapplikation där en eller flera spelare

Läs mer

Motionera med mera. Sammanfattning. Klass: Te2c, Polhemskolan i Lund Av: Viktor Joelsson Kristoffer Korén Harry Larsson

Motionera med mera. Sammanfattning. Klass: Te2c, Polhemskolan i Lund Av: Viktor Joelsson Kristoffer Korén Harry Larsson Klass: Te2c, Polhemskolan i Lund Av: Viktor Joelsson Kristoffer Korén Harry Larsson Motionera med mera Sammanfattning Vi har valt att skapa en tjänst. Tjänstens syften är att minimera energiförbrukningen

Läs mer

Har du koll på energi kostnaderna hemma eller springer den bara iväg varje månad och du har absolut ingen koll på vart det går?

Har du koll på energi kostnaderna hemma eller springer den bara iväg varje månad och du har absolut ingen koll på vart det går? Har du koll på energi kostnaderna hemma eller springer den bara iväg varje månad och du har absolut ingen koll på vart det går? Vår ide är en E-pad som får dig att hålla koll på kostnaderna. Den räknar

Läs mer

Gränssnitt för FakeGranska. Lars Mattsson

Gränssnitt för FakeGranska. Lars Mattsson Gränssnitt för FakeGranska av Lars Mattsson (larsmatt@kth.se) Innehållsförteckning 1 Introduktion...3 2 Genomförande:...3 3 Användning...5 4 Kända buggar:...6 5 Källförteckning...6 2 1 Introduktion Taken

Läs mer

Laboration i datateknik

Laboration i datateknik KUNGLIGA TEKNISKA HÖGSKOLAN Laboration i datateknik Felsökning och programmering av LEGO NXT robot Daniel Willén 2012 09 06 dwill@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Syftet med

Läs mer

En arbetssätt du bör lära dig Så använder du ort- och kartfunktionen

En arbetssätt du bör lära dig Så använder du ort- och kartfunktionen Lär dig mer om Disgen 8 del 63 Disgen 8 har två specialfunktioner ortfunktionen och kartfunktionen som är mycket intressanta att använda. I artikelserien Lär dig mer om Disgen kommer nu flera avsnitt i

Läs mer

Användarmanual för mycaddie version 2.0

Användarmanual för mycaddie version 2.0 Användarmanual för mycaddie version 2.0 Sida 2 Innehåll Installera och starta mycaddie... 3 Välja positioneringsmetod... 3 Inbyggd GPS (Gäller ej Windows Mobile)... 3 Trådlös GPS (Via bluetooth)... 3 Windows

Läs mer

Projekt Rapport. RaidPlanner. Jeanette Karlsson UD10

Projekt Rapport. RaidPlanner. Jeanette Karlsson UD10 Projekt Rapport RaidPlanner Jeanette Karlsson UD10 Abstrakt: Denna rapport handlar om mitt projekt i kursen Individuellt Mjukvaruutvecklings projekt. Rapporten kommer att ta upp hur jag gått tillväga,

Läs mer

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

16. VOLLEY Volley är tillåtet dock inte på serven. Spelregler 1. PLACERING AV SPELARNA Spelet spelas i par Spelarna står i områden som är belägna på varsin sida av nätet. Servaren sätter bollen i spel och mottagaren returnerar bollen. Mottagaren kan stå

Läs mer

ANVÄNDARMANUAL FÖR WORDPRESS

ANVÄNDARMANUAL FÖR WORDPRESS FÖR WORDPRESS Surfa in på http://klubb.seko.se/< din sida >/wp-admin/ vet du inte vad < din sida > är kan du logga in direkt på http://klubb.seko.se/wp-admin 3. Fyll i ert användarnamn 3. Fyll även i ert

Läs mer

TES Mobil. Användarmanual. Användarmanual TES Mobil Dok.nr. 32-019-03-02 v8

TES Mobil. Användarmanual. Användarmanual TES Mobil Dok.nr. 32-019-03-02 v8 1 TES Mobil Användarmanual 2 Innehållsförteckning 1 Introduktion... 3 1.1 Vad kan man göra med TES Mobil?... 3 1.2 Vad är en RFID-tag?... 3 1.3 Olika hantering på olika mobiltelefoner... 3 1.4 Rekommendationer

Läs mer

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

SMULTRON. Fredrik Li, Ester, Anders, Jessica, Philip. Malmö Högskola Konst Kultur Kommunikation OOP5 - Mobile Applications IDK 05 - April/Maj 2007 SMULTRON av Fredrik Li, Ester, Anders, Jessica, Philip Malmö Högskola Konst Kultur Kommunikation OOP5 - Mobile Applications IDK 05 - April/Maj 2007 - När man har turen att hitta en plats där man trivs

Läs mer

Kombinationer och banor i agilityträningen

Kombinationer och banor i agilityträningen Kombinationer och banor i agilityträningen av Emelie Johnson Vegh och Eva Bertilsson, publicerad i Canis 2012 En av de saker som gör agility så fantastiskt roligt är den ständiga variationen. Ingen tävlingsbana

Läs mer

Handbok för Din Turs mobila tjänster - för äldre mobiler som inte är smartphones

Handbok för Din Turs mobila tjänster - för äldre mobiler som inte är smartphones Handbok för Din Turs mobila tjänster - för äldre mobiler som inte är smartphones Innehåll Innan du startar...1 Komma igång med programmet MobiTime...1 Ladda ned tidtabeller... 4 Uppdatera tidtabeller...7

Läs mer

CDC en jämförelse mellan superskalära processorer. EDT621 Campus Helsingborg av: Marcus Karlsson IDA

CDC en jämförelse mellan superskalära processorer. EDT621 Campus Helsingborg av: Marcus Karlsson IDA CDC6600 - en jämförelse mellan superskalära processorer av: Marcus Karlsson Sammanfattning I denna rapport visas konkret information om hur den första superskalära processorn såg ut och hur den använde

Läs mer

Win95/98 Nätverks Kompendium. av DRIFTGRUPPEN

Win95/98 Nätverks Kompendium. av DRIFTGRUPPEN Win95/98 Nätverks Kompendium av DRIFTGRUPPEN Sammanfattning Vad håller jag i handen? Detta är en lättförståelig guide till hur man lägger in och ställer in nätverket i Windows 95 och 98 Efter 6 (sex) enkla

Läs mer

Användarhandbok OE/OSSpeaker V.10.3

Användarhandbok OE/OSSpeaker V.10.3 Användarhandbok OE/OSSpeaker V.10.3 OESpeaker Version 10.3 OSSpeaker Version 10.3 Status: 26.2.2007 Vi tar tacksamt emot alla kommentarer, tips och felrapporter på denna handbok. Skriv till författaren!

Läs mer

Elevernas uppfattningar om alltmer digitaliserad undervisning

Elevernas uppfattningar om alltmer digitaliserad undervisning Resultat Elevernas uppfattningar om alltmer digitaliserad undervisning Fråga 1 Mycket inspirerande (6) till mycket tråkigt (1) att arbeta med etologisidan Uppfattas som mycket inspirerande eller inspirerande

Läs mer

Space Invaders - Slutrapport

Space Invaders - Slutrapport Projekt inda14 Sida 1 av 6 Space Invaders - Slutrapport A. Projektplanen Programbeskrivning Vi tänker göra en version av det gamla arkadspelet Space Invaders i java. Spelet går ut på att spelaren styr

Läs mer

Krav: * Filen MpUpdate.exe får inte köras när du startar denna uppdatering.

Krav: * Filen MpUpdate.exe får inte köras när du startar denna uppdatering. Uppdatera Mobilus Professional till version 2.0.1 Krav: * Filen MpUpdate.exe får inte köras när du startar denna uppdatering. * Filen MP.exe (Mobilus programmet) får inte användas* under tiden uppdateringen

Läs mer

Dagbok Mikael Lyck 810717-0071

Dagbok Mikael Lyck 810717-0071 Dagbok Mikael Lyck 810717-0071 2/6 Slutredovisning, redovisningen gick bra vi hade ju redan byggt ihop spelet så vi var inte särskilt oroliga. Allt som allt är jag väldigt nöjd med slutprodukten. 11/5

Läs mer

Nå Framgång på Instagram En guide till små och medelstora företag

Nå Framgång på Instagram En guide till små och medelstora företag Nå Framgång på Instagram En guide till små och medelstora företag 2014-08-10 Svenska Web Voice Annika Elgeskog www.webvoice.se +46 725 861010 presenterar Företagarens guide till framgång på Instagram.

Läs mer

Dollar Street Beta Version 1.0 Manual

Dollar Street Beta Version 1.0 Manual Dollar Street Beta Version 1.0 Manual Dollar Street på Internet: 1. Gapminder AB Dollar Street hittar du på www.gapminder.com som en Gapminder produkt. Alla Gapminder produkter handlar om internationella

Läs mer

Vilken version av Dreamweaver använder du?

Vilken version av Dreamweaver använder du? Sida 1 av 7 Lektion 1: sida 1 av 4 Till kursens framsida Sida 2 av 4» Lektion 1 Då ska vi sätta igång med den här kursens första lektion! Här kommer du att få lära dig hur man skapar och förbereder webbplatser

Läs mer

MANUAL NETALERT FÖR ANDROID VERSION 3.3 WWW.NETALERT.SE

MANUAL NETALERT FÖR ANDROID VERSION 3.3 WWW.NETALERT.SE MANUAL NETALERT FÖR ANDROID VERSION 3.3 Installation Hämta och installera NetAlert till din telefon från Android market. Följ därefter instruktionerna under Första gången. Vad är NetAlert? NetAlert är

Läs mer

Manual Skogsappen - Hemkomstkontroll

Manual Skogsappen - Hemkomstkontroll Manual Skogsappen - Hemkomstkontroll Detta dokument utgör användarhandledningen till funktionen hemkomstkontroll i mobilappen Skogsappen som tillhör tjänsten epiforest. E p i s c o p e M o n i t o r i

Läs mer

Resledaren Användarguide iphone Innehåll

Resledaren Användarguide iphone Innehåll Resledaren Användarguide iphone Innehåll Planera Ny Resa... 3 Visa Mina Resor... 13 Ta bort sparad resa... 14 Ändra planerad resa... 15 Påminnelser... 15 Under Resan... 17 Inaktivera Pågående Resa... 20

Läs mer

Slutrapport för SquareShooter

Slutrapport för SquareShooter 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

Läs mer

Genom att följa dessa steg lär du dig snabbt att spela onlinematcher... och som du kan se är det mycket enkelt, roligt och spännande!

Genom att följa dessa steg lär du dig snabbt att spela onlinematcher... och som du kan se är det mycket enkelt, roligt och spännande! HUR MAN SPELAR ONLINE Genom att följa dessa steg lär du dig snabbt att spela onlinematcher... och som du kan se är det mycket enkelt, roligt och spännande! 0. SKAPA DITT EGET PERSONLIGA EMBLEM OCH DINA

Läs mer

Handhavande manual problemhantering

Handhavande manual problemhantering av Handhavande manual problemhantering 1(9) av Flytta dina dokument från H: till OneDrive I och med att Norrtälje kommun går över till Office 365 för skolverksamheten så kommer den egna lagringsplatsen

Läs mer

Ha rätt sorts belöning. Åtta tips för bästa sätt hur du tränar din hund. Grunden till all träning:

Ha rätt sorts belöning. Åtta tips för bästa sätt hur du tränar din hund. Grunden till all träning: Åtta tips för bästa sätt hur du tränar din hund Grunden till all träning: Gör det lätt för hunden! Börja alltid på en nivå som är enkel för hunden och bygg på svårigheterna. På det sättet tycker hunden

Läs mer

2009-08-20. Manual för Typo3 version 4.2

2009-08-20. Manual för Typo3 version 4.2 2009-08-20 Manual för Typo3 version 4.2 1 2 Innehåll: 1. Allmänt 4 2. Grunderna i Typo3 5 2.1 Knappar 5 2.2 Inloggning 5 2.3 Den inledande vyn 6 2.4 Sidträdet 7 3. Sidor 8 3.1 Skapa en ny sida 8 3.1.1

Läs mer

Jaktpejl.se. Användarmanual. Av: Erik Åberg

Jaktpejl.se. Användarmanual. Av: Erik Åberg Jaktpejl.se Användarmanual Av: Erik Åberg Innehållsförteckning Vad är Jaktpejl?... 3 Vad krävs för att använda Jaktpejl?... 3 Premiumfunktioner... 3 Release noteringar... 4 Version 2.01... 4 Version 2.0...

Läs mer

PHOCA GALLERY (v 3.2.3)

PHOCA GALLERY (v 3.2.3) Joomla Guide 2.5.11 PHOCA GALLERY Sida 1 av 37 PHOCA GALLERY (v 3.2.3) I denna guide får du veta mer om: Inledningen till PHOCA GALLERY: Vad är ett Phoca Gallery Phoca Gallery Kontrollpanelen Stegen i

Läs mer

Någonting står i vägen

Någonting står i vägen Det här vänder sig till dig som driver ett företag, eller precis är på gång att starta upp Någonting står i vägen Om allting hade gått precis så som du tänkt dig och så som det utlovades på säljsidorna

Läs mer

Komma igång med Grid Player

Komma igång med Grid Player Komma igång med Grid Player Grid Player for ios version 1.3 Sensory Software International Ltd 2011 1 Om Grid Player Grid Player är en Alternativ kommunikations App (AKK) för personer som inte kan tala

Läs mer

Umgås på nätet KAPITEL 6. Chatta via webbläsaren

Umgås på nätet KAPITEL 6. Chatta via webbläsaren KAPITEL 6 Umgås på nätet Internet håller alltmer på att utvecklas till en parallellvärld med vår vanliga tillvaro. Man spelar spel över nätet, bygger upp virtuella världar med virtuella prylar och virtuella

Läs mer

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.

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. 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

Läs mer

Tre misstag som äter upp din tid och hur kan göra någonting åt dem

Tre misstag som äter upp din tid och hur kan göra någonting åt dem Tre misstag som äter upp din tid och hur kan göra någonting åt dem En rapport från PersonligEffektivitet.com Innehåll Inledning... 3 Misstag #1: Önskelistan... 4 Misstag #2: Parkinsons lag... 7 Misstag

Läs mer

ANVÄNDARGUIDE FÖRETAGSKUNDER SoftAlarm 2.0 för iphone

ANVÄNDARGUIDE FÖRETAGSKUNDER SoftAlarm 2.0 för iphone ANVÄNDARGUIDE FÖRETAGSKUNDER SoftAlarm 2.0 för iphone För iphone Smartphones Rev 2 1 Innehållsförteckning ENDAST FÖR ADMINISTRATÖREN - SKAPA FÖRETAGETS SOFTALARM KONTO....3 ANVÄNDARNA.....4 INSTALLATION

Läs mer

Slutrapport Get it going contracts

Slutrapport Get it going contracts Slutrapport Get it going contracts Författare: Anthony Dry Datum: 2011-06-02 Program: Utvecklare av digitala tjänster Kurs: Individuellt mjukvaruutvecklingsprojekt 7.5p Linnéuniversitetet (Kalmar) Abstrakt

Läs mer

Krav: * Filen MpUpdate.exe får inte köras när du startar denna uppdatering.

Krav: * Filen MpUpdate.exe får inte köras när du startar denna uppdatering. Uppdatera Mobilus Professional till version 3.1.2 Krav: * Filen MpUpdate.exe får inte köras när du startar denna uppdatering. Mobilus Digital Rehab AB * Filen MP.exe (Mobilus programmet) får inte användas

Läs mer

Övningar - Datorkommunikation

Övningar - Datorkommunikation Övningar - Datorkommunikation 1. Förklara skillnaden på statisk och dynamisk IP konfiguration. Ange även vad som krävs för att dynamisk IP konfiguration ska fungera. 2. Förklara följande förkortningar

Läs mer

Vis it. jquery jquery används lite överallt i appen på olika sätt. Det främsta användningsområdet är vid selektering och manipulering av HTML element.

Vis it. jquery jquery används lite överallt i appen på olika sätt. Det främsta användningsområdet är vid selektering och manipulering av HTML element. Vis it Introduktion Vi har skapat den webbaserade appen Vis it som bygger på att användare kan ta bilder på och lägga upp sevärdheter via sin mobiltelefon. Dessa sevärdheter är positionsbaserade vilket

Läs mer

ETT TRÄFFSÄKERT VAL FÖR SKYTTEN. Skytteappen Logga. Två appar som hjälper dig i ditt skytte.

ETT TRÄFFSÄKERT VAL FÖR SKYTTEN. Skytteappen Logga. Två appar som hjälper dig i ditt skytte. ETT TRÄFFSÄKERT VAL FÖR SKYTTEN Skytteappen Logga Två appar som hjälper dig i ditt skytte. MIKAEL LINDSTRÖM 2013 KAPITEL 1 Logga Mobil Den enkla appen för både tävling och träning. Appen håller enkelt

Läs mer

Manual Invånare. Stöd och Behandling version 1.4. Stockholm, 2015-11-23

Manual Invånare. Stöd och Behandling version 1.4. Stockholm, 2015-11-23 Manual Invånare Stöd och Behandling version 1.4 Stockholm, 2015-11-23 Innehåll 1. Inledning... 4 1.1. Stöd och behandling... 4 1.2. Roller och Behörigheter... 4 1.3. Förutsättning för att kunna vara aktiv

Läs mer

Konflikter och konfliktlösning

Konflikter och konfliktlösning Konflikter och konfliktlösning Att möta konflikter Alla grupper kommer förr eller senare in i konflikter. Då får man lov att hantera dessa, vare sig man vill eller inte. Det finns naturligtvis inga patentlösningar

Läs mer

Spelutveckling - Gameplay. Design och produktion

Spelutveckling - Gameplay. Design och produktion Spelutveckling - Gameplay Design och produktion Vad är ett spel? Finns olika åsikter Några exempel som räcker på egen hand Coola features Akta er för feature creep För mycket features kan dränka gameplay

Läs mer

getsmart Grå Regler för:

getsmart Grå Regler för: (x²) 1 2 Regler för: getsmart Grå Algebra 8 _ (x²) 1 2 Algebra 4 (2 2³) 1 4 _ xy (2 2³) 1 4 _ xy (x²) 1 2 _ (2 2³) 1 4 _ xy (x²) 1 2 _ (2 2³) 1 4 _ xy 4 Algebra Algebra _ 8 Det rekommenderas att man börjar

Läs mer

HITTAREN Användarmanual

HITTAREN Användarmanual HITTAREN Användarmanual SIMIT Hardware AB Engelbrektsgatan 9-11 SE-11432 Stockholm Sweden info@simitab.se Innehållsförteckning Allmänna tips om GPS... 1 Ladda Hittaren!... 2 Starta Hittaren första gången!...

Läs mer

Ett spel skapat av Albin Wahlstrand

Ett spel skapat av Albin Wahlstrand 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.

Läs mer

FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll

FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll FrontPage Express I programpaketet Internet Explorer 4.0 och 5.0 ingår också FrontPage Express som installeras vid en fullständig installation. Det är ett program som man kan använda för att skapa egna

Läs mer

Din Pednet-adress är. Ditt Användarnamn är. Ditt lösenordord är.. ( detta ändrar du ju!! )

Din Pednet-adress är. Ditt Användarnamn är. Ditt lösenordord är.. ( detta ändrar du ju!! ) Din Pednet-adress är Ditt Användarnamn är.. Ditt lösenordord är.. ( detta ändrar du ju!! ) Har du inte PedNet hemma? Gå in på www.pedc.se - Där kan du tanka ner programmet! Så börjar vi med att klicka

Läs mer

Miljön i Windows Vista

Miljön i Windows Vista 1 Miljön i Windows Vista Windows Aero Windows Aero (Aero Glass), som det nya utseendet eller gränssnittet heter i Vista, påminner mycket om glas och har en snygg genomskinlig design. Det är enklare att

Läs mer

Visionutveckling. Vision 80/20 för iphone. Manual Vision 80/20 för iphone. Version 3.0

Visionutveckling. Vision 80/20 för iphone. Manual Vision 80/20 för iphone. Version 3.0 Visionutveckling Manual Vision 80/20 för iphone Vision 80/20 för iphone Version 3.0 www.visionutveckling.se, Auto Attendant +46 8 788 09 99 Gärdesvägen 1, SE 444 31, Stenungsund, Sweden, Phone: +46 303

Läs mer

MANUAL CHRONO COMAI Comai AB erbjuder kvalificerade anpassningsbara och Comai AB

MANUAL CHRONO COMAI Comai AB erbjuder kvalificerade anpassningsbara och Comai AB MANUAL CHRONO COMAI 1 Innehållsförteckning 1 Tekniskbeskrivning...3 1.1 Funktionsbeskrivning...3 2 Installation...3 2.1 Installera Chrono Comai via länk...3 2.2 Installera Chrono Comai via minneskort...3

Läs mer

Elements, säkerhetskopiering och dina bilder

Elements, säkerhetskopiering och dina bilder Elements, säkerhetskopiering och dina bilder Mattias Karlsson Sjöberg, december 2011. Moderskeppet.se Lär dig tänka rätt och använda rätt verktyg för att säkerhetskopiering, datorbyte och hårdiskbyte.

Läs mer

Joakim Jonsson jj222kc. Minesweeper. Individuellt Mjukvaruprojekt Joakim Jonsson

Joakim Jonsson jj222kc. Minesweeper. Individuellt Mjukvaruprojekt Joakim Jonsson Minesweeper Individuellt Mjukvaruprojekt Joakim Jonsson 08 06 2013 Abstrakt Nedan följer en slutrapport för projektet inom kursen Individuellt Mjukvaru utvecklingsprojekt. Jag har under dessa 10 veckor

Läs mer

Nokia Kartor Användarhandbok

Nokia Kartor Användarhandbok Nokia Kartor Användarhandbok Utgåva 1 2 Innehåll Innehåll Om Nokia Kartor 3 Se din plats och bläddra på kartan 3 Hitta en plats 4 Upptäcka platser i närheten 4 Lägga till ett foto till en plats 5 Spara

Läs mer

INNEHÅLLSFÖRTECKNING... 2 FÖRORD... 3 INLEDNING... 4 ATT ANVÄNDA MOTORERNA... 9 LOOP (UPPREPANDE) FUNKTIONEN... 10 SKAPA EN EGEN KLOSS...

INNEHÅLLSFÖRTECKNING... 2 FÖRORD... 3 INLEDNING... 4 ATT ANVÄNDA MOTORERNA... 9 LOOP (UPPREPANDE) FUNKTIONEN... 10 SKAPA EN EGEN KLOSS... GRUNDKURS INNEHÅLLSFÖRTECKNING INNEHÅLLSFÖRTECKNING... 2 FÖRORD... 3 INLEDNING... 4 SKÄRMUPPBYGGNAD... 4 ROBOT EDUCATOR... 5 PROGRAMMERINGSRUTAN... 5 KNAPPARNA OCH KLOSSARNA... 6 UPPGIFTER... 8 ATT ANVÄNDA

Läs mer

Manual för BAMS. Svenska Bangolfförbundet

Manual för BAMS. Svenska Bangolfförbundet Manual för BAMS Svenska Bangolfförbundet BAMS Resultatrapportering från mobila enheter Det är möjligt att rapportera resultat från mobila enheter till Bangolf Arena (BA). Man kan skapa ett fjärrgränssnitt

Läs mer

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

Mina listor. En Android-applikation. Rickard Karlsson 2013-06-09. Rickard Karlsson - rk222cu Linnéuniversitet rk222cu@student.lnu. Mina listor En Android-applikation Rickard Karlsson 2013-06-09 Rickard Karlsson - rk222cu Linnéuniversitet rk222cu@student.lnu.se Innehållsförteckning 2. Innehållsförteckning 3. Abstrakt 4. Inledning/bakgrund

Läs mer

Använda Internet. med hjälp av Internet Explorer. Nybörjarguide

Använda Internet. med hjälp av Internet Explorer. Nybörjarguide Använda Internet med hjälp av Internet Explorer Nybörjarguide Av Carl Ewnert 1 Innehåll: 1. Introduktion 3 2. Utseendet 4 3. Verktygsfältet 4 4. Börja Surfa. 5 5. Att söka på Internet 5 6. Spara en sida

Läs mer

Spel. 1 mot 1 på en spelplan som omfattar ca 2 m². Endast fingerslag (eller bagger) är tillåtet. Alternativt kan man tillåta tre beröringar "per lag".

Spel. 1 mot 1 på en spelplan som omfattar ca 2 m². Endast fingerslag (eller bagger) är tillåtet. Alternativt kan man tillåta tre beröringar per lag. Spel (! = även lämplig för nybörjare) 1. Spel som tvingar till val av snabba utvägar (minst 8 spelare). Med extra antenner två meter in från sidantennerna d v s man använder 4 antenner. 5 mot 5 (eller

Läs mer

Startanvisning för Bornets Internet

Startanvisning för Bornets Internet Startanvisning för Bornets Internet Denna guide kommer att hjälpa dig igång med Bornets Internet. Sidan 1 av 41 Innehållsförteckning Titel Sidan Kapitel 1. Introduktion... 3 Kapitel 2. TCP/IP-inställningar

Läs mer

ANVÄNDARMANUAL. Besök vår hemsida för mer information om våra produkter: www.easygreen.se

ANVÄNDARMANUAL. Besök vår hemsida för mer information om våra produkter: www.easygreen.se ANVÄNDARMANUAL Besök vår hemsida för mer information om våra produkter: www.easygreen.se ÖVERSIKT NÄSTA HÅL AV/PÅ Håll in i 5 sek. FÖREGÅENDE HÅL Ladda här Tlink har endast 3 knappar. Uppdateringar kan

Läs mer

Användarmanual FormPipe Meetings. FormPipe Meetings 1.3 2012-09-11

Användarmanual FormPipe Meetings. FormPipe Meetings 1.3 2012-09-11 Användarmanual FormPipe Meetings FormPipe Meetings 1.3 2012-09-11 Revision number: 6 ID number: 10023309 Date: 2012-09-132012-09-11 Innehåll Innehåll... 3 Inledning... 4 Förkrav... 5 Installation... 5

Läs mer

TSBK 10 Teknik för avancerade datorspel Fö 9: Nätverk, Peter Johansson, ISY

TSBK 10 Teknik för avancerade datorspel Fö 9: Nätverk, Peter Johansson, ISY TSBK 10 Teknik för avancerade datorspel Fö 9: Nätverk, Peter Johansson, ISY Fysik Datorgrafik Spelmekanismer AI Nätverk Nätverksaspekter i spel z Fleranvändarspel blir allt populärare z Roligare att spela

Läs mer

E-post. A. Windows Mail. Öppna alternativ. Placera ikonen på skrivbordet.

E-post. A. Windows Mail. Öppna alternativ. Placera ikonen på skrivbordet. E-post A. Windows Mail Öppna alternativ Klicka på startknappen Startmenyn öppnas Klicka på Alla Program Leta reda på Windows Mail Dubbelklicka Windows Mail öppnas. Om ikonen ligger i Start-menyn Klicka

Läs mer

ANVÄNDARGUIDE SoftAlarm 2.0 Privatpersoner. För iphone & Android SmartPhones

ANVÄNDARGUIDE SoftAlarm 2.0 Privatpersoner. För iphone & Android SmartPhones ANVÄNDARGUIDE SoftAlarm 2.0 Privatpersoner För iphone & Android SmartPhones Innehållsförteckning LADDA NER ER APP OCH KOM IGÅNG...3 INSTALLATION...3 SKAPA ERT SOFTALARM KONTO I APPEN...3 KOMMA IGÅNG...4

Läs mer

Användarmanual för Lagledning.se

Användarmanual för Lagledning.se Användarmanual för Lagledning.se Denna manual är avsedd för dig som en av TEM:s lagkunder och ska fungera som ett stöd när du använder vår tjänst. Innehåll Innehåll... 1 Logga in... 2 Första sidan... 3

Läs mer

Så här byter du från Unifaun WebOrder (UWO) till Unifaun OnlineConnect (UOCT)

Så här byter du från Unifaun WebOrder (UWO) till Unifaun OnlineConnect (UOCT) Så här byter du från Unifaun WebOrder (UWO) till Unifaun OnlineConnect (UOCT) För att genomföra migrationen till UOCT bör ditt konto ha det nya utskriftssystemet Unifaun OnlinePrinter (UOP) aktiverat.

Läs mer

PayEx Mobil FAQ Fungerar PayEx Mobil på alla mobiltelefoner? Är PayEx Mobil verkligen säkert?

PayEx Mobil FAQ Fungerar PayEx Mobil på alla mobiltelefoner? Är PayEx Mobil verkligen säkert? PayEx Mobil FAQ Detta dokument svarar på nedanstående frågeställningar. För fler frågor och svar samt supportnummer, se http://payex.se/privat. Fungerar PayEx Mobil på alla mobiltelefoner? Är PayEx Mobil

Läs mer

L04.1 Marodören. Inledning. Mål. Genomförande. Uppgift 1 Hello World. Moment I

L04.1 Marodören. Inledning. Mål. Genomförande. Uppgift 1 Hello World. Moment I L04.1 Marodören Inledning Genom att öva sig på de grundläggande koncepten i JavaScript öppnas vägen allteftersom till de mer avancerade funktionerna. Man måste lära sig krypa innan man kan gå, även i JavaScript!

Läs mer

Boka mobilt med WAP! Så fungerar dagsvyn 7 Så fungerar bokningssidan 8 Så fungerar informationssidan 11

Boka mobilt med WAP! Så fungerar dagsvyn 7 Så fungerar bokningssidan 8 Så fungerar informationssidan 11 Boka mobilt med WAP! Innehållsförteckning Mobilt Internet med WAP 2 Hur får man igång det? 3 Så loggar du in i systemet 4 Så väljer du dag och objekt 5 Så fungerar dagsvyn 7 Så fungerar bokningssidan 8

Läs mer

SLUTRAPPORT RUNE TENNESMED WEBBSHOP

SLUTRAPPORT RUNE TENNESMED WEBBSHOP SLUTRAPPORT RUNE TENNESMED WEBBSHOP -05-30 Abstrakt Under 10 veckor har jag och Oskar Norling arbetat med att ta fram en webbshop-applikation till företaget Rune Tennesmed i Kalmar. I denna rapport tänker

Läs mer

SGH-A400 WAP Browser Användarhandbok

SGH-A400 WAP Browser Användarhandbok * Vissa innehåll i denna handbok kan skilja sig från din telefon beroende på mjukvaran som installerats eller din operatör. SGH-A400 WAP Browser Användarhandbok ELECTRONICS Behöver du hjälp eller har frågor,

Läs mer

Tangentbord. Mike McBride Anne-Marie Mahfouf Översättare: Stefan Asserhäll

Tangentbord. Mike McBride Anne-Marie Mahfouf Översättare: Stefan Asserhäll Mike McBride Anne-Marie Mahfouf Översättare: Stefan Asserhäll 2 Innehåll 1 Fliken Hårdvara 4 2 Fliken Layouter 4 3 Fliken Avancerat 5 3 Den här modulen gör det möjligt att välja hur ditt tangentbord fungerar.

Läs mer

Från Smart TV till Smartare upplevelse Av: Kim Huber och Connie Huanca

Från Smart TV till Smartare upplevelse Av: Kim Huber och Connie Huanca Från Smart TV till Smartare upplevelse Av: Kim Huber och Connie Huanca System vi undersökte Den system vi valde att undersöka var en av de senaste smart tv som finns i markanden och var nämnd till bästa

Läs mer

Kom igång. Readyonet Lathund för enkelt admin. Logga in Skriv in adressen till din webbsida följt av /login. Exempel: www.minsajt.

Kom igång. Readyonet Lathund för enkelt admin. Logga in Skriv in adressen till din webbsida följt av /login. Exempel: www.minsajt. Kom igång Logga in Skriv in adressen till din webbsida följt av /login. Exempel: www.minsajt.se/login Nu dyker en ruta upp på skärmen. Fyll i ditt användarnamn och lösenord och klicka på "logga in". Nu

Läs mer