alex skiss designdokument

22
Designdokument Introduktionsprojekt 2010-09-16 Grupp 6 Gruppmedlemmar Alexander Nielsen [email protected] Andreas Lindhagen [email protected] Gustav Ehn [email protected] Fredrik Olsson [email protected] Mattias Ramqvist [email protected] Ansvarig lärare: Caroline Uppsäll [email protected]

Upload: alexander-nielsen

Post on 23-Jun-2015

36 views

Category:

Documents


0 download

TRANSCRIPT

Page 2: Alex Skiss Designdokument

InnehållsförteckningDel 1: Introduktion............................................................................................................................................4

Sammanfattning..........................................................................................................................................4Introduktion.................................................................................................................................................5

Bakgrund................................................................................................................................................5Designöverblick......................................................................................................................................5

Schematisk klientprototyp.................................................................................................................5Delete server-screen....................................................................................................................6Server choice-screen....................................................................................................................6Add server-screen........................................................................................................................6Create user-screen.......................................................................................................................7Login-screen.................................................................................................................................7Forgot password step 1-screen.....................................................................................................7Forgot password step 2-screen.....................................................................................................8Forgot password step 3-screen.....................................................................................................8Delete character-screen...............................................................................................................8Select character-screen................................................................................................................9Create character-screen...............................................................................................................9Game-screen................................................................................................................................9

Flödesschema över klienten............................................................................................................10Klientfunktioner...............................................................................................................................11Flödesschema över servern.............................................................................................................12Klientfunktioner...............................................................................................................................13

Utförande..................................................................................................................................................14Metod...................................................................................................................................................14

Designfasen.....................................................................................................................................14Problemlösningsfasen......................................................................................................................14

Alpha..........................................................................................................................................14Utvärdering av fungerande prototyp..........................................................................................14Beta............................................................................................................................................15

Målgrupp...................................................................................................................................................16Tredjepartsutvecklare...........................................................................................................................16Användare............................................................................................................................................16

Bartles taxonomi..............................................................................................................................16Griefer........................................................................................................................................16Opportunists...............................................................................................................................16Politicians...................................................................................................................................16Planners......................................................................................................................................16Networkers.................................................................................................................................16Scientists.....................................................................................................................................17Hackers.......................................................................................................................................17Friends........................................................................................................................................17

Modifikation av världen för att främja en viss axel..........................................................................17Spelare över värld.......................................................................................................................17Värld över spelare.......................................................................................................................17Interaktion över aktion...............................................................................................................18Aktion över interaktion...............................................................................................................18

Reflektioner.....................................................................................................................................18Del II: Idéer, tankar och utvärdering...............................................................................................................20

Omvärldsanalys.........................................................................................................................................20

2

Page 3: Alex Skiss Designdokument

MUDar..................................................................................................................................................20Rollspel.................................................................................................................................................20

Del III: Appendix.............................................................................................................................................21Bilagor.......................................................................................................................................................21Litteraturstudier.........................................................................................................................................22

3

Page 4: Alex Skiss Designdokument

Del 1: Introduktion

SammanfattningGMUD-projektet handlar om att återskapa den klassiska MUD1en i en modern utformning. Detta arbete

består av två produkter: klient samt server. Stommen i båda produkterna kommer utgöras av C++ med ett

yttre lager av Lua. Syftet med detta är att Lua kan användas för att inkludera nya objekt och nytt innehåll på

servern, som sedan klienten kan ta del utav via en enkel uppkoppling. Detta möjliggör en enkel

tredjepartsexpansion av produkten vars tredjepartsinnehåll då enkelt kommer i bruk då användare kopplar

upp sin klient mot servern. Det kommer inte distribueras som öppen källkod, men kommer däremot att

distribueras som freeware2.

Så i korthet har projektet två fokus: att skapa en serverplattform som är utvecklarvänlig för

tredjepartsutvecklare samt att skapa en dynamisk och modifierbar klient.

Serverplattformen bör vara:

1. Lätt att utveckla nytt innehåll.

2. Brett stöd för många typer av innehåll och funktioner.

3. Automatiserad backup och automatisk Helpfile Request Logs3

Klientplattformen bör i sin tur vara:

1. Individuellt anpassningsbar för individuella önskemål med teckensnitt och färger.

2. Ha individuellt anpassningsbara former (ex pseudofönster4)

3. Möjlig att manipulera via enbart tangentbordskommandon

4. Estetiskt tilltalande, intuitivt enkel att förstå och informativ.

En längre utveckling av vilka funktioner som bör inkluderas i server samt klient kommer i projektplan.

1 MUD: Multi-user dungeon; en virtuell textbaserad värld där många användare interagerar.2 Freeware: Programvara som är upphovsrättsskyddad men gratis att använda enligt licens.3 Helpfile Request Logs: Loggar bruket av hjälpfunktionen.4 Pseudofönster: formfönster, fönster undergivna huvudfönstret, -inuti själva programmet.

4

Page 5: Alex Skiss Designdokument

Introduktion

BakgrundEn MUD har, likt moderna MMORPG-spel, inget egentligt mål. Däremot så finns det flera olika målgrupper

som har vissa preferenser. Vissa gillar att utforska. Vissa gillar att göra uppdrag. Vissa gillar att prata. Då vår

produkt ämnar inrikta sig främst åt tredjepartsutvecklare så är det viktigt att ställa oss frågan: Vad för

funktioner är det viktigt att vi möjliggör för att tredjepartsutvecklare ska välja vår plattform?

DesignöverblickDesignöverblicken är uppdelad i fem kapitel.

1. Schematisk klientprototyp.

2. Flödesschema för klienten.

3. Lista med önskad klientfunktioner.

4. Flödesschema för servern.

5. Lista med önskad serverfunktioner.

Schematisk klientprototyp

För en tydligare överblick med förflyttning och zoom, se

Schematisk prototyp.pdf.

Schematiska prototypens (hädanefter SP) syfte är att åskådliggöra

visuellt klientens design. SP möjliggör enkel genomgång av

programmets design för såväl utvecklare som användare.

Start. Här startar programmet. Leder till 2.

1. Delete server-screen: Här tar användaren bort adressen till en installerad server. Leder till 2.

2. Server choice-screen: Här väljer användaren en server. Leder till 1, 3, 5

3. Add server-screen: Här installerar användaren adressen till en server. Leder till 2.

4. Create user-screen: leder till 5

5. Login-screen: Leder till 2, 4, 8

6. Forgot password step 1-screen: Leder till 3, 5

7. Forgot password step 2-screen: Leder till 3, 5

5

Page 6: Alex Skiss Designdokument

8. Forgot password step 3-screen: Leder till 3

9. Delete character-screen: Leder till 8

10. Select character-screen: Leder till 1, 7, 9, 10

11. Create character-screen: Leder till 8

12. Ingame-screen: Vid kommando, leder då till 1, 3, 8.

Delete server-screen

Skärmen då en användare önskar ta bort en adressen till en server.

• Användaren väljer helt enkelt servern i en lista och klickar

sonika på Delete. Detta leder åter till Select server.

• Om användaren önskar komma tillbaka till Select server,

klickar denne på Cancel.

Server choice-screen

Direkt när användaren startar programmet så får denne välja

antingen:

• Välja en förinstallerad server och klicka Connect för att

koppla upp sig gentemot denne. Om uppkopplingen lyckas

leder detta till Login-screen.

• Om användaren önskar ta bort en installerad server klickar

denne på Delete. Detta leder till Delete server-screen.

• Om användaren önskar lägga till en ny server klickar denne på Add server. Detta leder till Add

server-screen.

Add server-screen

Skärmen då användaren önskar lägga till server.

• Om användaren önskar lägga till en server skriver denne in

IP samt port till servern. Sedan klickar användaren på

Create så kollar klienten om servern existerar, varpå om

detta lyckas så leder det åter till Select server-screen. Om

6

Page 7: Alex Skiss Designdokument

uppkopplingen lyckas leder detta till Select server-screen.

• Om användaren önskar återvända till Select screen, så klickar denne på Cancel.

Create user-screen

Skärmen då användaren önskar skapa en ny användare på vald

server.

• Om användaren önskar lägga till en ny karaktär så infogar

denne lösenord, användarnamn, hemligt lösenord samt

hemligt svar, och klickar därpå på Ok. Om skapelsen lyckas

(Unikt namn, matchande lösenord och bifogat hemligt

lösenord och -svar) så leder detta till Login-screen.

• Om användaren önskar återvända till Login, så klickar denne på Cancel.

Login-screen

Skärmen då användaren önskar logga in på sin användare på vald

server.

• Om användaren önskar lägga till en ny karaktär så klickar

denne på Register. Detta leder till Create user-screen.

• Om användaren glömt sitt lösenord, så klickar denne på

Forgot Password? Detta leder då till Forgot password step

1-screen.

• Om användaren önskar logga in, så skriver denne sitt lösenord och användarnamn och klickar Login.

Om inloggningen lyckas så leder det till Select character-screen.

Forgot password step 1-screen

Skärmen för lösenordsåterställning, steg 1.

• Om användaren önskar återskapa sitt lösenord, så bifogar

denne sitt login-namn och klickar Ok. Detta leder då till

Forgot password step 2-screen.

• Om användaren önskar återgå till Login-screen, så klickar

denne Cancel.

7

Page 8: Alex Skiss Designdokument

Forgot password step 2-screen

Skärmen för lösenordsåterställning, steg 2.

• Nu får användaren bifoga sitt hemliga svar till hemliga

lösenordet, varpå denne får skriva in sitt nya lösenord,

varpå användaren får klicka på Ok. Om svaret eller nya

lösenordet är ogiltigt, så leder detta åter till steg 2. Om

svaret och nya lösenordet är giltigt, så leder detta till

Forgot password step 3-screen.

• Om användaren önskar återgå till Login-screen, så klickar

denne Cancel.

Forgot password step 3-screen

Konfirmation av bytt lösenord, leder åter till Login-screen.

Delete character-screen

Skärmen för att ta bort en karaktär.

• En tvåstegsprocess för att ta bort en karaktär. Först väljer

användaren karaktären som ska tas bort, varpå denne får

skriva in karaktärens namn manuellt. Detta förhindrar

borttagningar av misstag.

• Om användaren önskar återgå till Select character-screen,

så klickar denne Cancel.

Select character-screen

Skärmen för att välja karaktär. Här har användaren fyra val.

• Om denne önskar logga in med en karaktär, så väljer

denne en karaktär och klickar på Connect. Detta leder till

8

Page 9: Alex Skiss Designdokument

Game-screen.

• Om användaren önskar skapa en ny karaktär, klickar denne på New character. Detta leder till Create

character-screen.

• Om användaren önskar ta bort en karaktär, så klickar denne på Delete character. Detta leder till

Delete character-screen.

• Om användaren önskar koppla från, så klickar denne på Disconect.

Create character-screen

Skärmen för att skapa en ny karaktär. Enbart karaktärsnamn är

standard, och resten av karaktärsskapelsen avgörs med lua-script,

detta möjliggör tredjepartsexpansion och val av klass, ras, attribut

och andra egenskaper.

• Efter att användaren fyllt i relevant information, så klickar

denne på Create, vilket då kollar om karaktärsnamnet är

unikt. Om det är unikt så leder det tillbaka till Select

character. Om det ej är unikt så återgår användaren till

Create character-screen.

Game-screen

Lite om denna informativ. Vid kommando, leder då till 1, 3, 8.

9

Page 10: Alex Skiss Designdokument

Flödesschema över klienten

För högre upplösning med zoom, osv., se bilaga flowchart_client.pdf

10

Page 11: Alex Skiss Designdokument

Klientfunktioner

Här är en lista med klientfunktioner.

11

Page 12: Alex Skiss Designdokument

Flödesschema över servern

För högre upplösning med zoom, osv., se bilaga flowchart_server.pdf

12

Page 13: Alex Skiss Designdokument

Klientfunktioner

Här är en lista med serverfunktioner.

13

Page 14: Alex Skiss Designdokument

Utförande

Metod

Designfasen

Designfasen innehåller tre huvudsakliga utomstående källor till idéer:

1. Omvärldsanalys av kontemporära och historiska MUDar, och deras brister och fördelar.2. Omvärldsanalys av kontemporära och historiska spelsystem, deras brister och fördelar och huruvida

deras funktioner kan effektivt transfereras till projektet.3. Utomstående konsultation och intervjuer, för att åskådliggöra brister med design och önskade

funktioner. Dessa tre källor till inspiration har resulterat i en schematisk prototyp samt ett flödesschema, båda skapade

av programmet yED, som åskådliggör programmets funktion och system.

Problemlösningsfasen

Alpha

Problemlösningsfasen kommer i sin tur basera sig på Scrum och, vid behov och förmåga,

Extreme Programming. Mattias Ramqvist antar sig rollen av problemlösare och

ScrumMaster. Vid sprint planeringsmöte så kommer vi dela upp användarhistorier

baserat på ett itererande flödesschema, där vi kommer prioritera de användarhistorier

som tilldelats hög prioritet. För loggning av användarhistorier, förbränningsdiagram och

övrigt Scrum-relaterat kommer vi bruka oss utav TargetProcess, och denna server

kommer vara konstant tillgänglig för att möjliggöra oss att anta omedelbart nya

arbetsuppgifter när vi klarat av tidigare. Efter vår första sprint, 23 september till 29

september, så är målet att ha en fungerande prototyp. Arbetets fokus därpå blir till att

lägga till fler funktioner och flexibilitet för att tillfredsställa målgruppernas preferenser,

tills dess vi utvärderar den fungerande prototypen för att se vilka områden som behöver

förbättras.

Efter fjärde sprinten, 14 oktober till 20 oktober, så är målet att ha en utvärdering av den

fungerande prototypen, för att därpå gå in i beta.

Utvärdering av fungerande prototyp

20 till 22 oktober utvärderar vi prototypens design med utomstående konsulter, för att

därigenom utvärdera huruvida det:

1. Som utvecklare, om det går att använda plattformen för att utveckla sin egen tredjepartsexpansion.

14

Page 15: Alex Skiss Designdokument

2. Som användare, om designen är intuitivt klar och enkel, och om den går att anpassa i hög grad för

olika användares preferenser.

Utvärderingen därpå ligger som grund för nästa problemlösningsfas, beta.

Beta

Beta, 24 oktober till 31 oktober, kommer gå ut på att utvärdera systemets balans, buggar, förbättra designen

och lägga till nödvändiga funktioner baserat på feedback ifrån testperioden. Målet är prototypen vid det här

laget ska vara funktionskomplett.

15

Page 16: Alex Skiss Designdokument

Målgrupp

TredjepartsutvecklareLite om hur det började.

Användare

Bartles taxonomi

Tredimensionellt diagram med följande axlar:

• Implicit5 vs Explicit6

• Players vs World

• Acting7 vs Interacting8

Griefer

En användare som värderar implicit, players och acting högt. PvP9

är klassiskt något som griefers uppskattar, då det ger denne möjlighet att agera på andra spelare. Skillnaden

mellan en griefer och en politicians är att en politician tänker efter innan denne handlar.

Opportunists

En användare som värderar implicit, world och acting högt.

Politicians

En användare som värderar explicit, players och acting högt.

Planners

En användare som värderar explicit, world och acting högt.

Networkers

En användare som värderar explicit, players och interacting högt.

5 Implicit: ”... is doing something without thinking about it” (Bartle, R. A Self of Sense. Tillgänglig via http://www.mud.co.uk/richard/selfware.htm

6 Se 57 Acting: ”... doing-to”, att agera och uträtta8 Interacting: ”... doing with”; att interagera och lära sig9 PvP: Players vs players; strid mellan två eller fler spelare.

16

Page 17: Alex Skiss Designdokument

Scientists

En användare som värderar explicit, world och interacting högt.

Hackers

En användare som värderar implicit, world och interacting högt.

Friends

En användare som värderar implicit, players och interacting högt.

Modifikation av världen för att främja en viss axel

Spelare över värld10

Lägga till flera kommunikationsmöjligheter och -funktioner.

Lägga till flera spelare-på-spelare kommandon, ex emotes såsom kittla.

Göra kommunikationsfunktionerna enkla och intuitiva att använda.

Öka befolkningstätheten.

Öka möjligheterna att ta sig ifrån rum till rum.

Maximera mängden simultana spelare.

Begränsa byggnadprivelegier till ett fåtal (då detta sprider ut spelarna snarare än att spelarna samlas på

marknader o dyl).

Ha ett färre monster.

Uppgifter som kräver samarbete.

Värld över spelare11

Enbart ha grundläggande kommunikationsmöjligheter.

Ha ett fåtal saker spelare kan göra mot andra spelare.

Göra skapelseprocesser enkla och intuitiva.

Maximera storleken på världen.

Ha många monster.

10 Mycket inspiration från Bartle, R. Hearts, Clubs, Diamonds, Spades.... Tillgänglig via http://www.mud.co.uk/richard/hcds.htm

11 Se 10

17

Page 18: Alex Skiss Designdokument

Ge omfattande byggnadsrättigheter

Interaktion över aktion12

Begränsa mängden information och hjälp. Uppmuntra experimentation.

Maximera effekten av kommandon.

Låga belöningar för bedrifter.

Begränsat nivåsystem

Producera humoristiska effekter av vissa kommandon.

Ändra på rumsbeskrivningar för djupare atmosfär.

Begränsa mängden kommandon som är möjliga.

Ha många småsaker och uppgifter att uträtta.

Aktion över interaktion13

Ge omfattande mängd information och hjälp.

Inkludera auto-karta och auto-log,

Omfattande hjälp för att uträtta uppgifter, ex en pil som pekar riktning.

Ha höga belöningar för uppgifter.

Ha ett utvecklat belöningssystem

Göra så kommandon har effekt närhelst möjligt.

Ha stora uppgifter som tar lång tid att utföra.

Ha många stridsrelaterade kommandon och ett utvecklat stridssystem

Begränsa byggandet till ett fåtal, gör byggande dyrt.

Reflektioner

Även om projektets huvudsyfte är att vara en plattform snarare än en specifik värld, så är det ändå viktigt

att möjliggöra maximal mängd modifikation så att tredjepartsutvecklare ges maximal möjlighet att utveckla

sin egen värld. Detta inkluderar ovanstående listor för att låta tredjepartsutvecklare balansera de olika

axlarna. Om en tredjepartsutvecklare märker att han har för få griefers eller planners, så är det viktigt att

utvecklaren har de verktyg till hands för att öka sin MUDs attraktion av dessa spelartyper. Med andra ord är

12 Se 1013 Se 10

18

Page 19: Alex Skiss Designdokument

det viktigt att ge tredjepartsutvecklaren möjlighet att:

• Begränsa eller utveckla kommunikationsmöjligheterna.

• Ändra, minska, öka, inveckla eller utveckla världens storlek och sammansättning.

• Skapa och modifiera belöningssystem

• Lägga till egna monster, ta bort monster, modifiera monsters styrka och svagheter.

• Lägga till eller ta bort uppgifter av både omfattande och begränsad storlek.

• Inkludera eller exkludera byggnationsmöjligheter

• Begränsa eller utveckla ett skapelsesystem.

• Lägga till eller ta bort möjligheter att få hjälp.

• Modifiera rumsbeskrivningar och dynamiskt förändra bakgrundsbilder, färgschema o dyl för att

skapa en djupare känsla.

19

Page 20: Alex Skiss Designdokument

Del II: Idéer, tankar och utvärdering

Omvärldsanalys

MUDar

Zombiemud

Sedan 1994 har ZombieMUD varit online,

RollspelLite info om rollspel som givit inspiration

20

Page 21: Alex Skiss Designdokument

Del III: Appendix

BilagorGantt.pdf

Schematisk prototyp.pdf

21

Page 22: Alex Skiss Designdokument

Litteraturstudier1. Penton, R. (2003). MUD Game Programming. Course Technology PTR.

2. Ierusalimschy, R. (2003). Programming in Lua (2. uppl). Lua.org.

3. Horton, I. (2008). Ivar Horton's Beginning Visual C++ 2008. Wrox.

4. Bartle, R. (1996). Hearts, Clubs, Diamonds, Spades: Players who suit MUDs. The Journal of Virtual

Environments, Vol. 1, No. 1.

5. Bartle, R. (2003). Designing Virtual Worlds. New Riders Games.

6. Klastrup, L., & Tosca, S (2003). Transmedial Worlds – Rethinking Cyberworld Design. Center for

Computer Games Research, IT University of Copenhagen.

7. Ernest, A. (2009). Fundamentals of Game Design (2. uppl.). New Riders Press

8. Fang You, Jianmin Wang, Zibin Zheng, Jihong Jung, Chunhui Che, Xiaonan Luo, et al. (2007). A

Taxonomy Model of Player Activities in Mobile MMORPGs (Proceedings of the 4th international

conference on mobile technology, applications, and systems and the 1st international symposium

on Computer human interaction in mobile technology) Sun Yat-sen University, Kina

9. David, B. (2010). Designing Interactive Systems: A comprehensive guide to HCI and interaction

design (2. uppl.). Addison-Wesley Educational Publishers Inc

10. Kniberg, H (2007). Scrum and XP from the Trenches. Lulu.com

11. Yee, N. (2006). Motivations of Play in Online Games. CyberPsychology and Behavior, 9

12. The Daedalus Gateway. Tillgänglig via http://www.nickyee.com/daedalus/gateway_intro.html

22