alex skiss designdokument
TRANSCRIPT
DesigndokumentIntroduktionsprojekt
2010-09-16Grupp 6
GruppmedlemmarAlexander Nielsen [email protected] Lindhagen [email protected] Ehn [email protected] Olsson [email protected] Ramqvist [email protected]
Ansvarig lärare: Caroline Uppsäll [email protected]
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
MUDar..................................................................................................................................................20Rollspel.................................................................................................................................................20
Del III: Appendix.............................................................................................................................................21Bilagor.......................................................................................................................................................21Litteraturstudier.........................................................................................................................................22
3
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
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
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
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
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
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
Flödesschema över klienten
För högre upplösning med zoom, osv., se bilaga flowchart_client.pdf
10
Klientfunktioner
Här är en lista med klientfunktioner.
11
Flödesschema över servern
För högre upplösning med zoom, osv., se bilaga flowchart_server.pdf
12
Klientfunktioner
Här är en lista med serverfunktioner.
13
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
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
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
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
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
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
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
Del III: Appendix
BilagorGantt.pdf
Schematisk prototyp.pdf
21
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