SPELTESTNING FUZZY LOGIC. Kandidatuppsats i Informatik. Patrik Lundqvist Michael Enhörning VT 2010



Relevanta dokument
SPELTESTNING FUZZY LOGIC. Kandidatuppsats i Informatik. Patrik Lundqvist Michael Enhörning VT 2010

SPELTESTNING FUZZY LOGIC. Kandidatuppsats i Informatik. Patrik Lundqvist Michael Enhörning VT 2010

SPELTESTNING MED FUZZY LOGIC. Examensarbete Systemarkitekturutbildningen. Patrik Lundqvist Michael Enhörning 2010SA04

Fuzzy Logic. När oskarpa definitioner blir kristallklara. Åsa Svensson. Linköpings Universitet. Linköping

729G11 Artificiell Intelligens Marcus Johansson Marjo581. Fuzzy logic. Marcus Johansson Marjo581

Innehållsförtekning Sida. Inledning 3 Vad är fuzzy logic? 3 Mängder 3 Medlemsfunktioner 5 Operationer 6 Fuzzification 8 Litteraturförteckning 9

Beräkning med ord. -hur en dator hanterar perception. Linköpings universitet Artificiell intelligens Erik Claesson

FUZZY LOGIC. Christopher Palm chrpa087

FUZZY LOGIC. - Var går gränsen? Lovisa Rönmark lovro

Ökat personligt engagemang En studie om coachande förhållningssätt

Logik. Dr. Johan Hagelbäck.

När det oskarpa ger skärpa

Sanningsvärdet av ett sammansatt påstående (sats, utsaga) beror av bindeord och sanningsvärden för ingående påståenden.

Fördjupningsarbete HT 2012 FUZZY LOGIC

Mälardalens högskola

MATEMATIKENS SPRÅK. Avsnitt 1

Interaktionsdesign som profession. Föreläsning Del 2

LINKÖPINGS UNIVERSITET. Fuzzy Logic. Johan Brage 9/16/2012

ÄENC51, Engelska 4, 30 högskolepoäng English 4, 30 credits Grundnivå / First Cycle

Logik. Boolesk algebra. Logik. Operationer. Boolesk algebra

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

Snabbguide till Cinahl

Analys av BI-system och utveckling av BIapplikationer

Föreläsning 2: Datainsamling - Observation, enkät, intervju. Att läsa: Kapitel 2 och 3 i Stone et al.: User Interface design and evaluation

ÄEND04, Engelska IV, 30 högskolepoäng English IV, 30 credits Grundnivå / First Cycle

Rapport för framställande av produkt eller tjänst

Titel Mall för Examensarbeten (Arial 28/30 point size, bold)

Manual för publicering av studentuppsats/examensarbete i DiVA Uppdaterad

Guide för Självständigt Arbete på lärarprogrammet Idrott och fysisk bildning, grundnivå

Li#eratur och empiriska studier kap 12, Rienecker & Jørgensson kap 8-9, 11-12, Robson STEFAN HRASTINSKI STEFANHR@KTH.SE

sanningsvärde, kallas utsagor. Exempel på utsagor från pass 1 är

Filosofisk Logik (FTEA21:4) föreläsningsanteckningar/kompendium. v. 2.0, den 29/ III. Metalogik 17-19

ANVÄNDARTESTNING VID LULEÅ UB Ola Andersson Luleå universitetsbibliotek

Vetenskaplig metodik

Spel som interaktiva berättelser. Mer teoretiserande!

Föreläsning 2: Datainsamling - Observation, enkät, intervju. Att läsa: Kapitel 2 och 3 i Stone et al.: User Interface design and evaluation

Vardagssituationer och algebraiska formler

12 principer of agile practice (rörlig)

Vetenskapsmetodik. Föreläsning inom kandidatarbetet Per Svensson persve at chalmers.se

Att skriva rapporten för examensarbetet & sammanfattning av IMRAD. Ville Jalkanen TFE, UmU

Spel som interaktiva berättelser

Ansök senast 15 april! Digital Affärsutveckling. 60 Hp magisterprogram på avancerad NiVå DistaNs

Introduktion till logik

Fakulteten för ekonomi, kommunikation och IT. Utbildningsplan SGITD. IT-Designprogrammet. Study programme in IT-Design

Kursnamn XX poäng Rapportmall. Författare: (Skrivs i bokstavsordning om flera) Handledare:

Sanning och lögnare. Rasmus Blanck VT2017. FT1200, LC1510 och LGFI52

Lathund för studenter

1 Suddig logik och gitter

Att skriva en ekonomisk, humanistisk eller samhällsvetenskaplig rapport

Publicera och registrera uppsats (examensarbete) i DiVA

Utlånings- och återlämningsautomater

(Kvalitativa) Forskningsprocessen PHD STUDENT TRINE HÖJSGAARD

Föreläsning 11, Planera utvärdering. Att planera utvärdering. Vetenskapliga experiment. Kapitel i kursboken

Programmera Lego Mindstormsrobotar

Fuzzy Logic Linköpings Universitet

Kursens syfte. En introduktion till uppsatsskrivande och forskningsmetodik. Metodkurs. Egen uppsats. Seminariebehandling

tjejit en studie av kvinnors låga deltagande vid Karlstads Universitets IT-utbildningar

Kvalitetsgranskning av examensarbeten referenser i examensarbeten på sjuksköterske- och lärarutbildningen

PRÖVNINGSANVISNINGAR

Projekt i programmering 1 (ver 2)... 2 Projektidé... 2 Planering... 2 Genomförande... 2 Testning och buggar... 3 Utvärdering... 3 Planering...

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

Ett spel skapat av Albin Wahlstrand

Halmstad HT-13. Allt bör göras så enkelt som möjligt, men inte enklare. ~ Albert Einstein

Utbildningsplaner för kandidat-, magister och masterprogram. 1. Identifikation. Avancerad nivå

Gymnasiearbetets titel (huvudrubrik)

SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS

TATM79: Föreläsning 1 Notation, ekvationer, polynom och olikheter

Laboration Fuzzy Logic

Fuzzy control systems

SGLSM, Kandidatprogram i Logistics Service Management, 180 högskolepoäng Bachelor of Science Programme in Logistics Service Management, 180 credits

Vad biblioteket kan erbjuda Hvitfeldtskas bibliotek läsåret 17/18

Att skriva vetenskapligt - uppsatsintroduktion

Litteratur Abrahamsson, Bengt; Aarum, Jon (1998): Organisationer att beskriva och förstå organisationer. Malmö, Liber.

Digital kompetens. Kvalitetsdag Nacka 9 februari Jan Hylén, Mats Östling EDUCATIONANALYTICS.SE

ÄTA FÖR LIVET! MATEN SOM GÖR DIG FRISK OCH STARK SOMMAREN Vilse i kostrådsdjungeln?

Föreläsning 2: Om Akademiskt Skrivsätt

IT och. lärarstuderande. Attityder, tillgång och användning EN RAPPORT FRÅN KK-STIFTELSEN

Essä introduktion till hur man skriver en akademisk essä

Logik: sanning, konsekvens, bevis

Att skriva examensarbete på avancerad nivå. Antti Salonen

LAB 1. FELANALYS. 1 Inledning. 2 Flyttal. 1.1 Innehåll. 2.1 Avrundningsenheten, µ, och maskinepsilon, ε M

Oppositionsrapport. Opponent: Therese Sundström. Respondent: Malin Abrahamsson & Aleksandra Gadji

Lyssningsstrategier. En framgångsrik språkinlärare: Tror på sin förmåga att lära sig. Är motiverad. Är medveten om varför hon/han vill lära sig

Fuzzy logic. Julia Birgersson, julbi

Religionsvetenskap II Delkurs 2: Teori och metod

6. Att få mer gjort under en dag - Time Management

Detta dokument innehåller anvisningar för upprättande av en sökplan i kursen TDDD39 Perspektiv på informationsteknologi.

"Distributed Watchdog System"

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 12

Fuzzy Logic: Den oskarpa skarpheten

HANDLEDNING INFÖR UTVECKLINGSSAMTALET

Föreläsning 2: Datainsamling - Observation, enkät, intervju. Att läsa: Kapitel 2 och 3 i Stone et al.: User Interface design and evaluation

Ekonomie magisterexamen

Utvärdering. Att göra spel bättre

Examensarbete Civilekonomprogrammen Henrik Nehler

Hur skriver man en vetenskaplig uppsats?

Förändringsstrategi anpassad till just din organisations förutsättningar och förmåga

Källuppgifter i fysik FAFA55

På kommande sidor kan du läsa mer om CFI, dess innehåll och uppbyggnad.

Logik och kontrollstrukturer

Transkript:

SPELTESTNING FUZZY LOGIC Kandidatuppsats i Informatik Patrik Lundqvist Michael Enhörning VT 2010

Svensk titel: Speltestning Engelsk titel: Gametesting Utgivningsår: 2010 Författare: Patrik Lundqvist, Michael Enhörning Handledare: Rikard König Abstract (på engelska) Keywords: (på engelska) I

Sammanfattning (på svenska) Extrahera fuzzy logic regler som beskriver spelarens strategier och se om de stämmer överens med speldesignerns tanke för spelet. Nyckelord: (på svenska) II

III

Innehållsförteckning 1 Inledning... - 1-1.1 Introduktion... - 1-1.2 Syfte... - 3-1.3 Problemformulering... - 3-1.4 Delproblem... - 3-1.5Abstract... - 4-1.7 Teori... - 5-1.7.1 Fuzzy logic... - 5 - Linguistiska variabler och häckar... - 6 - Fuzzy inference... Fel! Bokmärket är inte definierat. 1.8 Relaterat arbete... - 8-1.8.1 Speltestning... - 8 - Källförteckning... - 11-2 Ordlista... - 12 - IV

1 Inledning 1.1 Introduktion Vid design av ett dataspel försöker man ofta skapa banor och fiender som tvingar spelaren att använda olika strategier för att överleva. Speltestning är ett ämne som är väl utforskat i den akademiska världen men trots detta är det inte någon majoritet av speldesigners som tar del av och använder sig utav forskningsrapporter, böcker och konferenser inom ämnet (Hopson, John, 2006). Speltestning är den viktigaste aktiviteten en speldesigner ägnar sig åt, ironiskt nog är det oftast den aktiviteten en speldesigner vet minst om. (Fullerton, Tracy, 2008) Den allmänna uppfattningen om speltestning är att det är en enkel process. Testpersoner spelar spelet och data samlas in. Men processen är mycket mer avancerad än så. Att spela spelet är bara en av alla de delar som ingår i speltestning. Selektion, rekrytering, förberedelse, övervakning och analys är alla delar som man behöver beakta vid speltestning. När Microsoft utvecklade spelet Halo 3 till Xbox360 genomfördes mer än 3000 timmar av speltestning med över 600 personer (Thompson, Clive, 2007). Enligt Bill Fulton (Fullerton, Tracy, 2008) är nyckeln i att utveckla ett framgångsrikt spel just speltestningen. Problemet utvecklare har vid spelutveckling är att det är svårt att få en objektiv syn på spelet då utvecklaren både vet mer om det aktuella spelet och om spel i allmänhet än målgruppen. Det är svårt för en speldesigner att förutsäga vilka strategier som en spelare kommer att använda, just därför krävs en omfattande speltestning under hela utvecklingsprocessen. Speldesignern vill i så stor utsträckning som möjligt undvika s.k. kryphål, strategier som alltid är dominanta, i spelet. För att undvika detta ska spelet påvisa tydliga strategier för spelaren att följa. En av speltestningsmetoderna är data hooks. Den innebär att data så som position och knapptryckningar samlas in och lagras från spelsessioner vid testning. Det är enkelt att samla in mycket data med hjälp av data hooks men problemet ligger i att förklara och tolka datan. En annan av speltestningsmetoderna är one-on-one testning. Den metoden innebär att en utvecklare sitter och tittar på när en testperson spelar. Utvecklaren antecknar och ställer frågor före och efter spelsessionen. - 1 -

Ett av tillvägagångssätten för att tolka den insamlade datan skulle kunna vara att man använder sig av data mining och fuzzy logic. Data mining är en metod för att hitta mönster i datamängder samt skapa regler för t.ex. fuzzy logic. Fuzzy logic är ett sätt att beskriva komplexa funktioner med mänskligt språk, baserat på logik. Resultatet av en fuzzy logic-funktion är inte ett binärt värde utan mer en beskrivning hur mycket ett värde tillhör en viss beskrivning. - 2 -

1.2 Syfte Utveckla en metod för att i så stor utsträckning som möjligt automatiskt kunna hitta kryphål och strategier i ett spel, samt kunna jämföra detta mot hur speldesignern ämnat att spelet skulle spelas. 1.3 Problemformulering Är det möjligt att automatiskt testa om de tänkta strategierna är tillräckligt tydliga för spelarna med hjälp av data mining och fuzzy logic? 1.4 Delproblem Vilka data och på vilket sätt ska data samlas in? Kan man med hjälp av fuzzy logic analysera data från speltest och dra användbara slutsatser om spelstrategier och hur spelet kommer spelas? Hur ska data fuzzifieras för att visa tydliga resultat? Hur ska resultaten presenteras för att visa mönster och strategier? Hur ska metoden utformas generellt för att stödja spelutveckling i stort? - 3 -

1.5Abstract - 4 -

1.7 Teori 1.7.1 Fuzzy logic Själva begreppet fuzzy teori började med en uppsatts om "fuzzy sets" som skrevs av professor L. A. Zadeh vid California Barkeleys universitet 1965. Den publicerades i en akademisk journal vid namn "Information and Control". Han beskrev i uppsatsen att fuzzymängder var mängder som inte hade tydliga gränser som t.ex. "en mängd vackra kvinnor", "en mängd långa män" och "en mängd stora nummer". (Mukaidono, Masao, 2001) Fuzzy logic är det engelska uttrycket och översätts enklast till oskarp logik. Det man måste förstå är att fuzzy logic handlar om osäkra svar, det är inte logiken i sig som är osäker. Till skillnad från binär logik som är antingen sann eller falsk så använder fuzzy logic relativa värden mellan 0 och 1 som ett mått på hur sant eller falskt ett påstående är. Man säger då att värdet är delvis medlem i en fuzzymängd. Exempel: Kalle är 30 år, Sven är 50 år. För att avgöra om en person är gammal eller ung så skulle den binära logiken använda sig av regler som t.ex. ålder < 40 = ung, ålder >= 40 = gammal. I det fallet skulle Kalle vara ung och Sven vara gammal. I fuzzy logic så skulle reglerna se ut på ett annorlunda sätt som t.ex. ung = (1/0,0/50), gammal = (0/25,1/100). En mer detaljerad beskrivning av fuzzymängden ung set ut på följande sätt: 1 iiii xx 0 50 xx YY(xx) = iiii 0 xx 50 50 0 iiii 50 xx Regeln säger att fuzzymängden för ung är mellan 0 och 50 år. Vid 0 års ålder så är sanningsgraden 1 att personen är ung och vid 50 års ålder så är sanningsgraden 0. Dessa värden kan liknas med den binära logikens sant och falskt. Är åldern mellan 0 och 50 så är sanningsgraden ett flyttal mellan 0 och 1. I Kalles fall, då åldern är 30år, så är sanningsgraden enligt fuzzymängden ung (50-30) / 50 = 0,4. Fuzzymängden gammal: 0 iiii xx 25 xx 25 ZZ(xx) = iiii 25 xx 100 75 1 iiii 100 xx - 5 -

Regeln för gammal skiljer sig lite från regeln för ung. Detta pågrund av att fuzzymängden börjar från 0 och går mot 1 istället för tvärtom. Detta påvisas då vi tar x minimivärdet istället för maxvärdet x. Sanningsgraden för att Kalle är gammal är (30-25) / (100-25) = 0,07. Här påvisas då skillnaden mellan fuzzy logic och binärlogik eftersom kalle är både ung och gammal. Grafen visar att värden som ligger under den röda linjen har ett sanningsvärde större än 0 och mindre än 1. Ligger värdet ovanför den röda linjen så är sanningsvärdet 0. Det samma gäller för den blå linjen. Linguistiska variabler och häckar En linguistisk variablel är en fuzzyvariabel som kan anta ett linguistiskt värde I påståendet Kalle är gammal så är Kalle en linguistisk variabel och värdet gammal är ett linguistiskt värde. Detta används senare för att enkelt bestämma vad som skall göras vid varje värde, exempelvis om Kalle är gammal så går han långsamt. Detta kan vara användbart om man t.ex. simulerar rörelse i en stad. Häckar är termer som används för att ändra utseendet på en fuzzymängd. Exempel på termer är väldigt, ganska, troligtvis, inte troligtvis. Dessa används tillsammans med fuzzymängder för att tydligare visa resultatet inom en fuzzymängd. Om värdet ligger i fuzzymängden så vill vi ofta ha mer information om värdet. Om vi använder häcken väldigt på mängden gammal som använts i tidigare exempel så kan vi se tydligare resultat. Fuzzymängden väldigt gammal blir då en delmängd av fuzzymängden gammal. Detta skulle se ut på följande vis: - 6 -

- 7 -

1.7.2 Speltestning Speltestning är en av de viktigaste delarna när ett spel designas. Den allmänna uppfattningen om speltestning är att det är en enkel process. Testpersoner spelar spelet och ger feedback på känslan och upptäckta buggar. Processen är mycket mer avancerad än så. Nedan följer flera viktiga delar i speltestning. En-och-en-testning Metoden innebär att en utvecklare sitter och tittar på när en testperson spelar. Utvecklaren antecknar och ställer frågor före och efter spelsessionen. Grupptestning Denna metod går ut på att en testgrupp samlas ihop och man låter de spela spelet ihop. Med eller mot varandra beroende på vad spelet går ut på. Gruppen observeras och frågor ställs under tiden som de spelar. Feedback forum I denna metod ges varje person som har testat spelet en lista med frågor och sedan jämför man hur alla svarat. Denna metod är mycket bra för att få kvantitativ feedback. Vid t.ex. Microsoft Games User Research används digitala frågeformulär för att samla in feedback. Datan förs sedan in i en databas där all feedback sparas vilket gör att det kan skapas rapporter som sedan analyseras. Intervju Testpersonen får efter speltestet genomgå en intervju där denne blir grundligt utfrågad om speltestet. Detta är ingen diskussion utan mer som ett förhör. Öppen diskussion Denna metod inriktar sig på att ha en diskussion och kan göras en och en eller i grupp. Diskussionen genomförs efter ett speltest och den som är ledare för anteckningar. Diskussionen kan vara helt öppen eller så kan ledaren välja att strukturera den och ta upp specifika frågor och på så sätt leda konversationen. Data hooks Denna metod innebär att data så som position och knapptryckningar samlas in och lagras från spelsessioner vid testning. Det är enkelt att samla in mycket data med hjälp av data hooks men problemet ligger i att förklara och tolka datan. - 8 -

1.8 Relaterat arbete Spelet Halo 3 är ett resultat av samarbetet mellan Microsoft och Bungie Studios. Inför releasen av Halo 3 så var testningen av spelet en väldigt viktig aspekt i utvecklandet. Dagliga speltester utfördes och analyserna av speltesterna var omfattande. Laboratoriet Laboratoriet skapades en kort tid före releasen av Halo 2 (2004). Det började med att data hooks användes som främsta metod för insamlandet av data då 2300 timmar av speldata samlades in på två månader från spelet Halo 2. Från dessa data kunde man analysera och hitta många problem som t.ex. monster som var för svåra, vapen som var för bra, terrängsvårigheter. Andra metoder som används i laboratoriet är bl.a. intervju, feedback forum, en-och-en-testning. En typisk speltestningssession går ut på att en testperson spelar en del av spelet, laboratoriet filmar testpersonens reaktioner och knapptryckningar. Med några minuters mellanrum så pausas spelet och några frågor som behandlar spelarens nuvarande humör, spelglädje mm. visas på skärmen. Ett konkret exempel från utvecklingen av Halo 3 och testerna i laboratoriet beskriver Thomas Clive i en intervju med laboratoriets chef Randy Pagulayan. Pagulayan berättar att de hade ett stort problem med att spelare begick självmord när de försökte skjuta med en fiendetank. Efter att ha analyserat spelarnas beteende och tittat på videor från testsessionerna så hittades problemet. Spelaren siktade rakt ner för att döda alla fiender som var tillräckligt nära. Problemet var att spelaren dog själv på kuppen. Detta löstes av design-teamet genom att låta styrningen av vapnet bara gå till en viss vinkel så att det inte gick att sikta ner i marken. Clive Thompson skriver även att många av spelföretagen som släpper spel inte utför tillräcklig speltestning. Thompson antyder att företagen bara delar betalar testpersoner för att spela spelet och återkomma med feedback gällande grafik som strular, fiender som beter sig konstigt och dylikt. To be continued - 9 -

- 10 -

Källförteckning 1. Fullerton, Tracy, 2008, Game design workshop A playcentric approach to creating innovative games, Elsevier Inc. 2. Hopson, John, 2006, We're Not Listening: An Open Letter to Academic Game Researchers, www.gamasutra.com 3. Thompson, Clive, 2007, The science of play, Wired 4. Mukaidono, Masao, Fuzzy logic for beginners, 2001, World scientific publishing. 5. Mizumoto, M, Improvement methods of fuzzy controls,1995, Springer Netherlands. 6. Thompson, Clive, 2007, Halo 3: How Microsoft labs invented a new science of play, http://www.wired.com/gaming/virtualworlds/magazine/15-09/ff_halo 7. - 11 -

8. Ordlista Fuzzy logic Oskarp logik, ett sätt att beskriva komplexa funktioner med mänskligt språk, baserat på logik. Fuzzymängd En mängd vars element har olika sanningsgrad av medlemskap. Sanningsgrad Ett värde mellan 0 och 1 som visar hur mycket värdet är medlem i en viss fuzzymängd. - 12 -

Högskolan i Borås är en modern högskola mitt i city. Vi bedriver utbildningar inom ekonomi och informatik, biblioteks- och informationsvetenskap, mode och textil, beteendevetenskap och lärarutbildning, teknik samt vårdvetenskap. På institutionen för data- och affärsvetenskap (IDA) har vi tagit fasta på studenternas framtida behov. Därför har vi skapat utbildningar där anställningsbarhet är ett nyckelord. Ämnesintegration, helhet och sammanhang är andra viktiga begrepp. På institutionen råder en närhet, såväl mellan studenter och lärare som mellan företag och utbildning. Våra ekonomiutbildningar ger studenterna möjlighet att lära sig mer om olika företag och förvaltningar och hur styrning och organisering av dessa verksamheter sker. De får även lära sig om samhällsutveckling och om organisationers anpassning till omvärlden. De får möjlighet att förbättra sin förmåga att analysera, utveckla och styra verksamheter, oavsett om de vill ägna sig åt revision, administration eller marknadsföring. Bland våra IT-utbildningar finns alltid något för dem som vill designa framtidens IT-baserade kommunikationslösningar, som vill analysera behov av och krav på organisationers information för att designa deras innehållsstrukturer, bedriva integrerad IT- och affärsutveckling, utveckla sin förmåga att analysera och designa verksamheter eller inrikta sig mot programmering och utveckling för god IT-användning i företag och organisationer. Forskningsverksamheten vid institutionen är såväl professions- som design- och utvecklingsinriktad. Den övergripande forskningsprofilen för institutionen är handels- och tjänsteutveckling i vilken kunskaper och kompetenser inom såväl informatik som företagsekonomi utgör viktiga grundstenar. Forskningen är välrenommerad och fokuserar på inriktningarna affärsdesign och Co-design. Forskningen är också professionsorienterad, vilket bland annat tar sig uttryck i att forskningen i många fall bedrivs på aktionsforskningsbaserade grunder med företag och offentliga organisationer på lokal, nationell och internationell arena. Forskningens design och professionsinriktning manifesteras också i InnovationLab, som är institutionens och Högskolans enhet för forskningsstödjande systemutveckling. BESÖKSADRESS: JÄRNVÄGSGATAN 5 POSTADRESS: ALLÉGATAN 1, 501 90 BORÅS TFN: 033-435 40 00 E-POST: INST.IDA@HB.SE WEBB: WWW.HB.SE/IDA - 13 -