PROCEDURELL GENERERING AV RACERBANOR GENOM VORONOI DIAGRAM Procedurellt genererade Formel 1 racerbanor genom modifierade Voronoi diagram och Self- Avoiding Random walk

PROCEDURAL GENERATION OF RACE TRACKS USING VORONOI DIAGRAMS Procedurally generated Formula 1 circuits using modified Voronoi diagrams and Self- Avoiding Random walk

Examensarbete inom huvudområdet Informationsteknologi Grundnivå 30 högskolepoäng Vårtermin 2021

Filip Petersson Daniel Windhede

Handledare: Andreas Jonasson Examinator: Henrik Gustavsson

Sammanfattning

Arbetet undersökte om det är möjligt att procedurellt generera giltiga och underhållande racerbanor för Formel 1 genom användandet av Voronoi diagram och self-avoiding random walk. En procedurell algoritm skapades och två enkäter konstruerades för att undersöka denna algoritms underhållningsvärde. Dessa enkäter distribuerades till kunniga individer inom racinggenren. Både algoritmen som helhet och dess dynamiska parametrar undersöktes. Det fastställdes att det är möjligt att procedurellt generera Formel 1 racerbanor som är underhållande med detta tillvägagångssätt. Vidare visar resultatet att en stor del av svarspersonerna finner artefaktens procedurella racerbanor underhållande, även kontrast till riktiga racerbanor. Gynnsamma värden för artefaktens dynamiska parametrar i mån av ökad underhållning har också fastställts. En mer omfattande algoritm kan skapas utifrån detta arbete som tar hänsyn till exempelvis höjdskillnader och camber. Framtida arbeten kan då undersöka dessa delar av en racerbanas underhållningsvärde. Algoritmen kan även jämföras med andra procedurella metoder inom racing och andra spel.

Nyckelord: Procedurell generering, Racerbanor, Voronoi diagram, Delaunay triangulering, Self-Avoiding walk, Random walk

Innehållsförteckning

1 Introduktion 1 2 Bakgrund 2 2.1 Formel 1 2 2.1.1 Formel 1 Regler 2 2.1.2 Vad gör racingspel underhållande att spela? 3 2.1.3 Visuell representation av Racerbanor 4 2.2 Procedural Content Generation 4 2.3 Algoritmer och Datastrukturer 5 2.3.1 Voronoi diagram 5 2.3.2 Delaunay triangulation 6 2.3.3 Dualitet mellan Voronoi diagram och Delaunay triangulation 7 2.3.4 Bowyer-Watson Algoritm 8 2.3.5 Random walk & Self-Avoiding-walk 9 2.4 Vektorgrafik 10 2.5 Bézierkurvor 11 2.5 Generering av Racerbanor 12 3 Problemformulering 14 3.1 Syfte 14 3.2 Metodbeskrivning 14 3.2.1 Artefakt 14 3.2.2 Experiment 16 3.3 Alternativa metoder 22 3.4 Risker och etiska aspekter 22 4 Genomförande 23 4.1 Förstudie 23 4.2 Implementation 23 4.2.1 Delaunay triangulation och Voronoi diagram 23 4.2.2 Random & Self avoiding walk 25 4.2.3 Bézierkurva 28 4.2.4 Slutgiltig produkt 32 4.3 Pilotstudie 33

5 Utvärdering 35 5.1 Presentation av undersökning 35 5.1.1 Complexity-Ratio 35 5.1.2 Min-Curve & Max-Curve 36 5.1.3 Control-Point-Length 38 5.1.4 Kontrollfrågor 39 5.2 Analys 42 5.2.1 Complexity-Ratio 42 5.2.2 Min-Curve & Max-Curve 43 5.2.3 Control-Point-Length 43 5.2.4 Kontrollfrågor 44 5.3 Slutsats 44 6 Avslutande diskussion 46 6.1 Sammanfattning 46 6.2 Diskussion 47 6.3 Framtida arbete 48 Referenser 50

1 Introduktion

Procedural content generation (PCG) inom datorspel är en algoritmbaserad implementationsteknik vars syfte är att procedurellt skapa spelinnehåll (Nelson, Shaker & Togelius, 2016). Spelinnehåll i detta fall kan innefatta stora delar av spelutvecklingsprocessen såsom nivåer, musik, föremål, uppdrag med mera. PCG användes i detta arbete i syfte att undersöka möjligheten att procedurellt generera racerbanor för datorspel inom Formel 1. Den frågeställning detta arbete ämnade att besvara var huruvida det är möjligt att procedurellt generera både giltiga och underhållande racerbanor för Formel 1 racingspel genom användandet av modifierade Voronoi diagram och self-avoiding random walk. Detta besvarades genom konstruktionen av en artefakt vars funktion var att skapa giltiga designer av tvådimensionella racerbanor i ett fågelperspektiv (så kallade track maps). Till sist menade arbetet att identifiera gynnsamma värden på de dynamiska parametrar artefakten utgår från. Gynnsamma värden innebär i detta arbete värden som bör ge högt underhållningsvärde till de genererade racerbanorna. Dessa dynamiska parametrar är därmed faktorer experimentet utgick från (Wohlin m.fl., 2012).

För att kunna skapa denna artefakt krävs det kunskap inom ett flertal områden. Det krävdes insikt inom de regler Federation Internationale de L'Automobile (FIA) fastställt som tillåter användning av racerbanor inom Formel 1. Vidare krävs insikt inom hur implementationen av artefakten ska gå tillväga. Först genereras en bounding box som definierar slutgiltig racerbanas maximala storlek. I denna bounding box placeras ett visst antal punkter slumpmässigt ut. Utifrån dessa punkter skapar artefakten en Delaunay triangulerad graf genom användandet av Bowyer-Watson algoritmen. Då artefakten ämnar att använda ett Voronoi diagram så kan dess dualitet med Delaunay triangulering utnyttjas för dess konstruktion (George & Borouchaki, 1998). För att hantera kurvor i racerbanorna används kubiska Bézierkurvor för att runda av dess svängar. Bézierkurvor valdes framför andra alternativ, såsom B-Spline (Weisstein, u.å.) och Hobby Spline (Hobby, 1986) vid skapandet av artefakten då förutsättningar för enkel implementation av detta tillvägagångssätt fanns i artefaktens utvecklingsmiljö. Artefakten användes därefter i konstruktionen av två enkäter vars syfte var att undersöka artefaktens dynamiska parametrar i förhållande till deras underhållningsvärden.

Resultaten från enkäterna visade vilka parametervärden som föredrogs och genom detta kunde därav gynnsamma värden, i mån av underhållning, för artefaktens dynamiska parametrar fastställas. Vidare jämförs artefaktgenererade racerbanor med riktiga Formel 1 racerbanor. För att kunna sätta upp hypoteser samt tolka insamlat resultat användes Surarerks & Kostrajaras (2016) och Loiacono m.fl. (2011) arbeten. Dessa arbeten innebar två olika perspektiv på hur en racerbanas design påverkar dess underhållningsvärde. Genom utförandet av detta arbetes experiment förväntades djupare kunskap inom hur Voronoi diagram kan användas för att generera racerbanor för datorspel erhållas.

1

2 Bakgrund

Skapandet av procedurella racerbanor kräver viss förkunskap inom bilracing samt de olika metoder, datastrukturer och presentationssätt som har använts vid skapandet av den artefakt experimentet bygger ifrån. Först presenteras bakgrund angående bilracing och Formel 1 som lade grunden för hur den procedurella metoden skulle fungera. Därefter definieras en procedurell content generator och relevanta aspekter hos dess funktionalitet utforskas. Sedan faställs en process av att skapa Voronoi diagram som används inom detta arbetes artefakt. Efter detta granskas navigeringsmetoder för en grafs noder. Avslutningsvis presenteras ett sätt att visualisera denna graf.

2.1 Formel 1 För att kunna skapa giltiga procedurella racerbanor ämnade för Formel 1 måste först de regler som godkända racerbanor utgår från fastställas. Detta innefattar dels regler angående banans design samt konceptet av licensgrader och dess innebörd. Därefter presenteras forskning angående vad som gör bilracing överlag underhållande och dess påverkan på racerbanors design. Slutligen presenteras ett sätt att visualisera racerbanor.

2.1.1 Formel 1 Regler Federation Internationale de L'Automobile (FIA), som är det styrande organ över bland annat Formel 1, definierar en giltig racerbana som en sluten bana som börjar och slutar i samma punkt byggd specifikt för bilracing. En sådan bana kan även vara permanent eller semipermanent beroende på banans karaktär och tillgång. En permanent racerbana innebär en installation enbart dedikerad för racing medan semipermanenta racerbanor innefattar bland annat stadsracing där banan har annan funktion vanligtvis. För att en bana ska anses vara godkänd för generell banracing (innefattande Formel 1) enligt FIA måste vissa kriterier i banans design uppfyllas (Fédération Internationale de L'Automobile, 2020b).

● En raksträckas längd får inte överstiga 2 km ● Total längd på racerbanan bör inte överstiga 7 km (mätt genom banans mittlinje) ● Total längd på racerbanan får inte vara kortare än 3.5 km om inte tidigare mästerskap har hållits på den banan tidigare ● Längden på en startruta ska vara minst 8 m/bil ● Det bör vara minst 250 m till första svängen - Första svängen definieras som ett riktningsbyte på minst 45 grader och en radie mindre än 300 m ● Inom Formel 1 får max 26 bilar delta per grand prix (Fédération Internationale de L'Automobile, 2020a). Detta innebär att en racerbanas startsträcka måste vara minst 208 m lång exluderad den rekommenderade 250 m miniumum sträcka innan första svängen (458 m inkluderad).

En racerbana tillges en licensgrad mellan 1 till 6 av FIA som anger vilka sorters bilar som får köra på den i officiella race. Enbart banor med licensgraden 1 får ha grand prix med Formel 1 bilar. Banor med licensgrad 1T kan även användas för testning (Fédération Internationale de L'Automobile, 2020b). Värt att nämna är att en stor del av de punkter en racerbana inte uppfyller för att klassas som licensgrad 1 beror på andra variabler än banan i sig såsom infrastruktur, tillgänglighet och säkerhetsfunktioner.

2

Givet dessa rekommendationer och regler finns det fortfarande vissa racerbanor (som för tillfället har licensgrad 1) som inte uppfyller vissa rekommendationer . Ett tydligt exempel på detta vore Circuit de Monaco som enbart är 3.34 km lång (160 m för kort enligt reglerna). Ett ytterligare exempel vore Circuit de Spa-Francorchamps som är 7.004 m lång och överstiger därmed rekommendationen av banlängd på 7 km med 4 m (Fédération Internationale de L'Automobile, 2020c). Dock kan dessa samt många andra rekommendationer bortses på grund av att tävlingar har hållits där tidigare.

2.1.2 Vad gör racingspel underhållande att spela? Togelius, De Nardi & Lucas (2007) jämför aspekter presenterade av Malone (1980) av vad som gör datorspel roliga och drar sedan kopplingar och hypoteser om hur det kan relatera till racingspel. Malone (1980) menar att de aspekter som gör datorspel underhållande kan delas upp i utmaning, fantasi och nyfikenhet.

Utmaning: Det ska finnas ett mål med spelet som inte är för lätt eller för svårt att uppnå.

Fantasi: Känslan av att vara någon annan, någon annanstans.

Nyfikenhet: Motivationen att lära sig oavsett utmaning eller fantasi. Ett bra spel har en bra nivå av ny information som matas till spelaren.

Togelius m.fl. (2007) menar att Utmaning kan kopplas till att racerbanor inte ska vara för svåra eller lätta att köra. Vidare bör de uppmuntra olika körstilar som fungerar olika bra. Hur väl denna aspekt uppnås kan mätas vid jämförande av varvtid och genomsnittlig hastighet mätt emot en referens. Fantasi menar de kan vara en viktig del av upplevelsen inom många racingspel men är inget som diskuteras ytterligare. Slutligen menar Togelius m.fl. (2007) att Nyfikenhet är svårdefinierad och kan innebära att roliga racerbanor har variation och olika sorters utmaningar i dem. Det kan även innebära att ständigt nya banor är underhållande.

Koster (2004) menar snarare att vad som gör spel roliga är hur väl de lär oss ny information. Koster menar att uppleva något som tråkigt är motsatsen till att lära sig ny information och därav när spel slutar lära oss slutar de även underhålla oss. Ytterligare bör nya utmaningar introduceras i en bra kurva där spelet inte blir för svårt eller för lätt. Togelius m.fl. (2007) syn på detta är att racerbanor bör först vara svåra att köra för att sedan lättare när spelaren lärt sig köra dem.

Loiacono, Cardamone och Lanzi (2011) menar att en ökad variation hos en racerbana är korresponderande med ökad underhållningsvärde. Denna slutsats drogs utifrån deras undersökning där erfarna datorspelare inom genren tillfrågades. Variation i detta fall innebar ett ökat antal svängar, omväxlande hastighetsförändringar, vägbanans natur (höjdskillnader och underlag) och enbart visuella aspekter. Surarerks & Kotrajaras (2016) menar snarare att antalet svängar inte korresponderar med ökat underhållningsvärde eller svårighet hos en racerbana. Det var resultatet i deras undersökning där erfarna spelare inom genren tillfrågades. Surarerks & Kotrajaras (2016) menar snarare att en minskning av antal svängar och en procentuell ökning av skarpa svängar gav högre underhållningsvärde hos spelare. Vidare menar de att en racerbanas omväxlande hastighetsförändringar inte spelade in i mängd underhållningsvärde eller svårighet.

3

2.1.3 Visuell representation av Racerbanor Ett vanligt sätt att visuellt representera en racerbana är genom en track map. Det är en tvådimensionell bild av racerbanan sett från ett fågelperspektiv. Det finns flertalet olika varianter av track maps med olika mycket information. Exempel på vanlig information som kan finnas med är svängnummer, riktning och sektornummer. I Figur 1 och 2 kan två olika sorters track maps ses från två olika sorters racingspel. Något som inte går att avläsa från sådana typer av track maps är bland annat vägbredd, höjdskillnader och lutning.

Figur 1 En track map i spelet F1 2020 (2020). Siffrorna indikerar sektorer i racerbanan. Pilen indikerar racerbanans färdriktning.

Figur 2 En track map i spelet iRacing (2008). Siffrorna indikerar sektorer i racerbanan. Pilen indikerar racerbanans färdriktning

2.2 Procedural Content Generation Inom datorspel är procedural content generation (PCG) en algoritmbaserad implementationsteknik som skapar spelinnehåll med begränsad kontroll från speldesigners (Shaker, Togelius & Nelson, 2016). Spelinnehåll i detta fall kan innefatta stora delar av spelutvecklingsprocessen såsom nivåer, musik, föremål, uppdrag med mera. En spelutvecklares kontroll över algoritmen och därmed slutprodukten består av parametrar och/eller ett seed som kan användas för att skapa samma produkt igen. En vanlig metod inom procedural content generation är Pseudo-Random Number Generators (PRNG) (Hendrikx, Meijer, van der Velden & Iosup, 2013). Dess syfte är att generera till synes helt slumpmässiga värden men som möjliggör återskapandet av samma sekvens genom användandet av ett seed. Exempel på spel som använder sig av PCG är Minecraft (2011) och Elite (1984).

4

Shaker m.fl. (2016) menar att PCG tekniker kan arbeta utifrån olika principer av innehållsskapande. De kan därmed kategoriseras inom två typer. Det tekniker som skapar sitt innehåll under spelets körning för att dynamiskt skapa nytt innehåll för spelaren att uppleva (Online) och de som enbart används under spelets utveckling eller innan spelsessionen startats (Offline). Vidare kan det även kategoriseras om tekniken alltid ger olika (Stokastisk) eller samma (Deterministisk) resultat givet samma parametrar.

Hendrikx, Meijer, van der Velden & Iosup (2013) menar att procedurellt innehåll inom spel kan kategoriseras inom 6 klasser där högre klasser kan byggas upp av tidigare klasser:

1. Spelbitar, som innefattar spelinnehåll som i sig själva inte engagerar en spelare. Exempel på detta kan vara texturer, ljud och byggnader. 2. Spelutrymme, som utgör platser spelupplevelsen utspelar sig. Detta bör inte förvirras med spelscenerion som utgör en mer designinriktad princip. Detta innebär då alltså utseendet av världar, nivåer, dungeons och grottor. 3. Spelsystem är mer komplexa delar av ett spel där ett beteende skapas. Artificiell intelligens, vägnätverk och ekosystem är exempel på dessa. 4. Spelscenarion utgör en väg genom spelet för en spelare. Exempel på dessa är puzzel, nivåer och story. 5. Speldesign utgör spelets regler, begränsningar och en visuell del. Systemdesign och världsdesign är två exempel. 6. Härlett spelinnehåll skapar en känsla av immersion hos spelaren genom att vara en biprodukt till händelser inom spelet. Leaderboards är ett exempel på detta. 2.3 Algoritmer och Datastrukturer

För att kunna skapa och representera en racerbanas generella struktur har grafer använts. En graf är ett ordnat par som består av en mängd noder, kanter och deras relation med varandra (West, 2001). Den sortens graf som detta arbetes racerbanor genereras från är modifierade Voronoi diagram. För att kunna skapa denna datastruktur har flertalet andra datastrukturer, algoritmer och koncept använts. Detta samt navigeringsmetoder för en grafs noder slutligen presenteras.

2.3.1 Voronoi diagram En grundläggande datastruktur inom beräkningsbar geometri är Voronoi diagram (Guibas & Stolfi, 1983). Voronoi diagram byggs upp av 푛 antal punkter, härefter refererade till som frön, som delar in planets yta i 푛 distinkta regioner baserade på det fröets influens gentemot resterande frön. Ytterligare består ett Voronoi diagram av kanter och noder som utgör en graf. Varje region (eller cell) indikerar vilka punkter i planet som är närmast dess korresponderande frö i förhållande till alla andra frön. Därav, givet en arbiträr punkt 푝 kan frö 푓, som är närmare 푝 än resterande 푛 − 1frön, identifieras om 푝 ligger inom dess region. Om 푝 ligger längs med en kant eller hörn (nod) indikerar det att 푝 befinner sig lika långt mellan två eller fler frön. Voronoi diagram kan som bäst beräknas i 푂(푛 푙표푔 푛)tidskomplexitet och lagras i 푂(푛)(Guibas & Stolfi, 1983). Se Figur 3 för ett exempel på Voronoi diagram.

5

Figur 3 Ett exempel på ett Voronoi diagram med arbiträr punkt 푝. Varje region har även en unik färg.

2.3.2 Delaunay triangulation

En Delaunay triangulation är en triangulerad graf i ett plan uppbyggt av 푛 punkter. En giltig Delaunay triangulerad graf uppfyller kravet att varje triangels omskrivna cirkel, det vill säga triangelns cirkulära omkrets, är tom från punkter. Detta koncept är visualiserat i Figur 4. Fördelen med Delaunay triangulation är att den maximerar alla trianglars minsta vinklar och undviker därmed långa, smala trianglar. Vidare minimerar den väldigt stora trianglar vilket skapar en mer enhetligt graf (George & Borouchaki, 1998). Figur 5 visar ett exempel på en egenkonstruerad Delaunay triangulation och Figur 6 skildrar skillnaden mellan en godkänd Delaunay triangulation och en som inte uppfyller tidigare nämnda kriterier.

Figur 4 En visualisering av en triangels omskrivna cirkel

6

Figur 5 Ett exempel på en Delaunay triangulation.

Figur 6 En skildring av en godkänd och en icke godkänd Delaunay triangulation. Den vänstra bilden innehåller noder i trianglars cirkulära omkrets och är därmed inte godkänd, medans den högra grafen uppfyller detta kriterium.

2.3.3 Dualitet mellan Voronoi diagram och Delaunay triangulation

Skapandet av ett Voronoi diagram kan vara problematiskt men användningen av Voronoi diagramets dualitet, Delaunay triangulation, underlättar skapandet av topologin. Dualiteten innebär att Voronoi diagram kan skapas genom en Delaunay triangulation och vice versa (George & Borouchaki, 1998). Figur 7 skildrar denna dualitet. Nedan kommer stegen för att konvertera mellan de båda datastrukturerna att fastställas.

Voronoi diagram till Delaunay triangulation:

1. Konvertera frön till noder 2. Varje kant är en vinkelrät bisektris till dess motsvarighet till Voronoi diagram. Detta innebär att en kant kan dras mellan frön (noder) vars regioner delar kant.

(George & Borouchaki, 1998)

Delaunay triangulation till Voronoi diagram:

7

1. Konvertera noder till frön 2. Identifiera alla trianglars cirkulära mittpunkt och gör dessa till noder 3. Varje kant är en vinkelrät bisektris till dess motsvarighet till Delaunay triangulation. Därav, dra kanter mellan noder vars korresponderande trianglar delat kant 4. Dra oändliga kanter i en bisektris gentemot trianglars kanter från noder vars korresponderande triangels kant inte delar kant med en annan triangel

(Guibas & Stolfi, 1983)

Figur 7 Heldragna kanter och cirklar som noder visar Delaunay triangulation. Streckade kanter och diamanter som noder visar Voronoi diagram.

2.3.4 Bowyer-Watson Algoritm

Ett tillvägagångssätt att generera en Delaunay triangulerad graf är att använda Bowyer- Watson algoritmen (Rebay, 1993). Denna algoritm baserar sin funktionalitet i att modifiera en redan existerande Delaunay triangulerad graf som man vill tillföra nya punkter i och därefter sekventiellt producera ett fullständigt resultat. Algoritmen uppnår detta genom att först ta bort alla trianglar som kommer att bryta mot Delaunay trianguleringens omskrivande cirklar efter nya punkter läggs till. Detta skapar något liknande av ett slutet hål i den redan existerande grafen, vilket då kommer motsvara de externa trianglarna och används senare vid jämförelser. Därefter ansluts sekventiellt alla punkter som skall anslutas till grafen. Dessa punkter kallas för de interna trianglarna. När dessa operationer utförs kontrolleras även att inga externa trianglar raderas. Efter allt detta har utförts resulterar det i en Delaunay triangulerad graf. Ett exempel på hur detta går till steg för steg går att se i Figur 8.

8

Figur 8 Ett exempel på Bowyer-Watson algoritm i praktiken där en ny punkt (diamanten) adderas till redan existerande Delaunay triangulation.

Det är dock möjligt att utnyttja dessa egenskaper för att skapa helt nya Delaunay triangulerade grafer (Rebay, 1993). Detta genom att skapa en triangel som omsluter alla önskade punkter, sedan utföra Bowyer-Watson algoritmen, och därefter ta bort alla externa trianglar och alla trianglar förknippade med dom. Detta är möjligt då en triangel som omsluter dessa punkter uppfyller kraven av en Delaunay triangulerad graf.

2.3.5 Random walk & Self-Avoiding-walk

Ett sätt att navigera en grafs noder är genom en stokastisk process som kallas random walk. Denna process är inte generellt definierad då dess implementation och funktion beror på varje enskilt fall (Rehmann, 2020). För grafnavigering skulle denna process exempelvis innebära att valet av en kant är helt slumpmässigt utifrån alla möjliga färdval från varje enskild nod. Detta i sig innebär även att den skapta vägen kan korsa sin egna väg eller gå tillbaka till tidigare besökta noder. En self-avoiding walk å andra sidan får inte göra detta, det vill säga processen har kraven att den skapta vägen genom en graf aldrig korsar sin egna väg eller besöker tidigare besökta noder (Slade, 1994). Likt random walk är även denna processimplementation beroende av varje enskilt fall. Ett exempel på en self-avoiding walk går att se i Figur 9.

9

Figur 9 Ett exempel på en self-avoiding walk över en graf. Den streckade linjen visar på dess väg genom grafen från start- till slutpunkt.

2.4 Vektorgrafik Till skillnad från rastergrafik, där bildens individuella pixlar sparas samt är diskret representerade (Yagel, 1991), så representeras vektorgrafik kontinuerligt och är uppbyggt av matematiska kurvor. Dalstein, Ronfard, & van de Panne (2015) gör liknelse för skillnaden mellan diskret och kontinuerlig representation. De jämför skillnaden med traditionellt handritad animation och 3D animation, där 3D animation använder animationskurvor, vilket stödjer alla bildhastigheter, medan handritad animation sparar alla individuella bilder för sig. Detta innebär att 3D animation är då kontinuerligt representerad i tid och de handritade är diskret representerade i tid.

Fördelen med vektorgrafik är att det tillåter att bilden skalas om utan någon form av vikningseffekt (Dalstein, Ronfard & van de Panne, 2015). Detta till skillnad från rastergrafik vilket behöver approximeras när bilden blir lågupplöst relativt till den önskade upplösningen. Som följd kan det resultera i en väldigt suddig eller blockig bild beroende på filtreringsmetoden som används vid omskalning (Akenine-Moller, Haines & Hoffman, 2008). Ett tydligt exempel på detta kan ses i Figur 10.

10

Figur 10 Ett exempel som visar på skillnaden mellan vektorgrafik och rastergrafik vid inzoomning i en bild.

2.5 Bézierkurvor Bézierkurvor är parameterkurvor som använder linjär interpolering (Kamermans, 2020). Denna typ av kurva vars värden som kallas parametrar kan modifieras för att uppnå ett önskat utseende på kurvan på ett enkelt och intuitivt vis. Det finns olika implementationstyper av Bézierkurvor, men kubiska Bézierkurvor är det som används inom detta projekt. Dessa kurvor är konstruerade av 2 olika punkter och interpolerar mellan 2 olika styrpunkter (Lindström, 2005). Dess formel kan ses i Figur 11. Genom att titta på utseendet av en kubisk Bézierkurva med exempelvärderna 푃1 = (2,6), 푃2 = (12,6), 푏 = (4,12), 푐 = (10,0) i Figur 12 visas styrpunkters påverkan hos polynomen.

Figur 11 Formeln för en kvadratisk Bézierkurva. Parametern 푡 specificerar en punkt på kurvan och är avgränsad till 0 ≤ 푡 ≤ 1. 푃1 och 푃2 är kurvans punkter, medans 푏 och 푐 är kurvans styrpunkter.

11

Figur 12 Ett exempel på en kvadratisk Bézierkurva genererad i Geogebras grafritare (GeoGebra, u.å.)

2.5 Generering av Racerbanor Liknande studier till detta arbetsområde har tidigare utförts, bland annat av Prasetya & Maulidevi (2016) som utför en studie där de utforskar procedurell generering av racerbanor med hjälp av en fitnessfunktion och en genetisk sökalgoritm för att ta fram gynnsamma racerbanor. De mäter även banornas snitthastighet och banornas kurvor på dess olika segment. Deras PCG lyckades generera racerbanor som följde deras kriterier på vad en racerbana är. Utöver detta påvisade även att det är möjligt att generera racerbanor som är roliga att spela på.

Togelius, De Nardi & Lucas (2007) skapade även en PCG för racerbanor där de använde en genetisk algoritm för att producera deras resultat. Denna studie visade, likt Prasetya & Maulidevi (2016), att det är möjligt att procedurellt generera en racerbana som uppfyller kriterierna uppsatta för definitionen av en racerbana. Dessa studier visar även på att det är möjligt att producera ett bra resultat med många olika genereringstekniker och algoritmer.

Likt Togelius m.fl. (2007) undersöker Loiacono, Cardamone och Lanzi (2011) hur väl genetiska algoritmer procedurellt kan skapa racerbanor. Deras undersökning fokuserade på skapandet av racerbanor för mer komplexa racingspel. I detta arbete låg främsta fokus på att undersöka hur komplexiteten av banan förhöll sig till en racerbana underhållningsvärde och svårighet. För att svara på detta användes fitness funktioner och en undersökning. Slutsatsen som drogs var att ett samband mellan en racerbanas komplexitet och dess underhållningsvärde samt svårighet kunde dras.

Surarerks & Kotrajaras (2016) undersöker hur racerbanors olika attribut påverkar dess upplevda underhållning och svårighet hos både erfarna och oerfarna spelare inom genren. För att svara på detta utfördes tester med riktiga spelare där bland annat varvtid mättes för att kunna konstruera fitness funktioner där underhållningsvärde och svårighet hos given racerbana kan läsas ut. Deras slutsats var att snäva svängar och lågt antal totala svängar

12

indikerade på högre underhållningsvärde hos erfarna spelare. Erfarna spelares intryck på svårighet och underhållning visade inget samband med hastighetsförändringar i banan. Oerfarna spelares värden tydde på att varierade svängar gav ökad underhållning. Varierad hastighetsförändringar hos oerfarna spelare visade även på ökad svårighet.

13

3 Problemformulering

För att besvara om det är möjligt att procedurellt skapa en giltig och underhållande Formel 1 racerbana genom användandet av ett modifierad Voronoi diagram måste en tydlig metodbeskrivning fastställas. Detta innefattar att först fastställa syftet av arbetet samt vilka specifika delar som arbetet består av och hur de har utförts. Därefter diskuteras andra metodval som hade kunnat tillämpats istället. Med detta uppsatt kan risker och etiska aspekter angående arbetet fastställas och diskuteras.

3.1 Syfte Målet med detta arbete var att undersöka om det är möjligt att procedurellt skapa en giltig och underhållande Formel 1 racerbana genom användandet av ett modifierat Voronoi diagram. Detta förväntades uppnås genom skapandet av en artefakt som procedurellt genererar racerbansdesigner. Artefaktens syfte var att agera som bas för ett experiment, samtidigt som den fastställer om det är möjligt att skapa racerbanor med denna metod. Experimentet utfördes för att klargöra över de skapta designernas underhållningsvärde samt parametrarnas vikt för detta ändamål.

Detta arbete ämnade även att vidga kunskaperna angående skapandet av procedurellt genererade racerbanor. Liknande arbeten har använt evolutionära tekniker eller sökalgoritmer för att framställa dess racerbanor. Den metod som använts vid konstruktionen av artefakten i detta arbete bygger sin grund på Voronoi diagram samt self avoiding random walk vilket skiljer metodvalet av skapandet av racerbanor åt från tidigare forskning inom ämnet. Därav tillför detta arbete huruvida ett nytt tillvägagångssätt kan användas som alternativ till tidigare metoder vid skapandet av procedurella racerbanor.

3.2 Metodbeskrivning För att besvara frågeställningen har en artefakt utvecklats som användes i ett experiment. Delkapitlet Artefakt beskriver den genomförandeplan för utvecklingen av detta projekts artefakt, där bland annat algoritmval, dynamiska parametrar och artefaktens generella utvecklingsprocess diskuteras. Experimentet som artefakten användes inom innefattade konstruktionen av två enkäter baserat på racerbansdesigner artefakten har skapat. Dessa enkäter distribuerades till kunniga inom racing-genren i syfte att erhålla kunskap om underhållningsvärdet av artefakten. Detta innebär att enkäterna användes inom en kvalitativ undersökning. Experimentets struktur presenteras i högre detaljnivå inom Experiment delkapitlet.

3.2.1 Artefakt Artefakten ämnade att procedurellt generera en track map som anger färdriktning och mållinje. Detta genom att procedurellt generera ett Voronoi diagram där selektiva kanter används för att forma banan. Procedurellt genererade racerbanor krävdes även att de uppfyllde kriterierna för att anses vara en giltig racerbana enligt uppsatta definitioner. Detta uppnåddes genom att utföra ett antal steg. Artefaktens genereringsprocess börjar med att generera en bounding box som definierar racerbanans maximala utrymme. Inom denna bounding box placeras ett antal punkter slumpmässigt som sedan används för att generera en Delaunay triangulerad graf med hjälp av Bowyer-Watson algoritmen. Därefter är det möjligt att utnyttja Delaunays trianguleringsdualitet med Voronoi diagram för att ta fram en graf av

14

dess Voronoi diagramskorrespondent. I denna process skapas inte oändliga kanter eftersom det är något som potentiellt kan skapa problem då diagrammet används som en navigerbar graf. Detta Voronoi diagrams noder används slutgiltigen för att generera racerbanan med hjälp av en modifierad random walk algoritm som är parameterdriven och innehåller aspekter av self-avoiding walk.

Artefaktens slutresultat är deterministiskt och bygger utifrån ett fåtal modifierbara parametrar. Detta innebär att samma resultat produceras givet samma parametrar. Vidare använder den procedurella processen pseudo-random number generators som initieras med ett seed. Olika värden på detta seed skapar därmed olika varianter av racerbanor med liknande aspekter.

Parametrarna kan delas upp i två distinkta grupper: statiska och dynamiska. Statiska parametrar förändras aldrig då de bygger på regler och bestämmelser inom Formel 1. Exempel på statiska parametrar är maximal längd på racerbanan och maximal längd på raksträcka. Dynamiska parametrar förändrar de skapta racerbanornas design och är de som experimentet ämnar att undersöka.

De dynamiska parametrar denna artefakt utgår från är: Complexity-Ratio, Min-Curve, Max- Curve och Control-Point-Length. Complexity-Ratio kontrollerar genomsnittliga antalet noder per kvadratkilometer. En ökad Complexity-Ratio tenderar att skapa en mer komplicerad racerbana med många svängar och få raksträckor, medans en lägre Complexity- Ratio skapar en mer simplistisk racerbana. Detta värde är inte begränsat mellan fasta intervaller men enligt Appendix B tenderar värden lägre än 2 att resultera i en lägre frekvens av racerbanor som lyckats generera och värden större än 10 skapar orealistiskt komplicerade racerbanor. Värden runt 6 tenderar att skapa racerbanor med ett svängantal liknande riktiga Formel 1 racerbanor. Detta går att avläsa i Appendix A och B. Se Figur 13 för att se hur olika värden av Complexity-Ratio påverkar slutgiltig racerbansdesign.

Figur 13 Olika artefaktgenererade racerbanor med olika värden av Complexity- Ratio. Racerbana A har värdet 3 på Complexity-Ratio. B har ett värde på 6.25. C har ett värde på 10. D har ett värde på 15. Högre värden på Complexity-Ratio tenderar att skapa mer komplexa racerbanor.

15

Min-Curve, samt Max-Curve kontrollerar svängarnas utslätning. Min-Curve har ett värde mellan 0 och Max-Curve och Max-Curve har ett värde mellan Min-Curve och 1. Under körning tas ett slumpmässigt värde mellan Min-Curve och Max-Curve fram per sväng. Ett högre värde på detta slumptal korresponderar med ökad utslätning. Control-Point-Length styr maximal tillåten kurvatur. Den sätter ett tak för hur extremt en sväng kan slätas ut genom att begränsa kontrollpunkternas distans från punkterna i en Bézier-kurva och gäller alla kontrollpunkter. Detta värde kan vara mellan 0 (ingen utslätning alls) och ∞ (ingen restriktion av utslätning). Då detta värde ökar stiger även risken att vissa av de skapta racerbanorna korsar sig själv. Ett värde runt 0.075 undviker generellt sett detta och tillåter för olika mängd avrundning. Inför framtida arbeten så finns möjligheten att utveckla ytterligare dynamiska parametrar för utökad kontroll över slutprodukten.

3.2.2 Experiment Hypotesen för detta arbete var att korrekta och underhållande racerbanor kan skapas genom detta tillvägagångssätt. För att undersöka hur väl denna implementationsmodell skapar underhållande racerbanor utfördes ett experiment. Detta då experiment är en lämplig undersökningsmetod för att besvara hypoteser (Wohlin m.fl., 2012). Experimentet ämnade att samla in kvalitativ data för att i syfte att i största mån kunna besvara frågeställningen. Mer specifikt konstruerades två enkäter som ämnade att undersöka denna fråga genom att granska artefaktens dynamiska parametrars påverkan. Detta då en enkät innebär ett empiriskt underlag för den informationen som eftertraktas (Lind, 2014). Ytterligare innebär enkäters standardisering att dokumentation och sammanställning av svaren förenklas.

Enkäterna undersökte huruvida racerbanor skapta med denna metod jämför sig mot riktiga racerbanor med licensgrad 1. Denna jämförelse skedde i form av kontrollfrågor där dess syfte var att mäta deltagarnas intryck på de skapta racerbanorna. Detta för att möjliggöra diskussionen över hur väl de skapta banorna fångar intresset hos spelare gentemot riktiga racerbanor. Dessa enkäter besvarades online av personer som har erfarenhet av racingspel. Detta innebär att resultatet som framställdes bör reflektera åsikter hos kunniga individer inom genren. Fullständiga enkäter går att se i Appendix C och Appendix D. För att korrekt tolka dessa enkäter: se Appendix E.

I syfte att undersöka varje dynamisk parameters vikt för underhållningsvärdet vid skapandet av en racerbana isolerades dessa och undersöktes individuellt. En dynamisk variabel i artefakten innebär en faktor för experimentet (Wohlin m.fl., 2012). Totalt består artefakten av fyra dynamiska parametrar, varav två är beroende av varandra. Varje dynamisk parameter är flyttal, vilket innebär att alla möjliga kombinationer omöjligt kan undersökas. Därav jämfördes enbart värden som producerar drastiskt olika resultat med varandra för att undersöka vilka värdens omfång som presterar bäst i avseende till frågeställningen. Mer specifikt undersöktes varje parameter i lågt, mellan och högt värdeintervall. Isoleringen för varje parameter innebär att identiska parametervärden för övriga dynamiska och statiska parametrar användes under undersökningen. För parametrarna Min-Curve, Max-Curve och Control-Point-Length innebär det att effekten av en ändring enbart är beroende av den dynamiska parameter som undersöks. Detta gäller däremot inte Complexity-Ratio då varje ändring av dess parametervärde ändrar slutgiltig produkts utseende mycket drastiskt och resulterar därmed i en ny design.

De två enkäterna var båda uppdelade i nio olika sektioner där alla följde samma format. Varje sektion var en flervalsfråga där svarspersoner enbart fick välja ett alternativ av de track maps

16

som presenterades. Själva frågan var densamma för varje sektion och enbart alternativen förändrades. Denna fråga lyder “Choose the track variant you would find most enjoyable to play at”. Syftet med användning av flervalsfrågor var att tydligt isolera den förändring som tillämpats för varje sektion. Genom detta kunde den mest underhållande varianten per förändring erhållas genom att se vilket alternativ som valts oftare än andra. En eventuell jämn spridning mellan svaren indikerar att underhållningsvärdet i sektionen inte beror på dess dynamiska parametrar, alternativt varje racerbana har ett liknande underhållningsvärde. De första sex sektionerna ämnade att undersöka hur stor vikt parametrarnas värde har på de skapta racerbanornas underhållningsvärde:

● Första och andra sektionen undersökte Complexity-Ratio och bestod av tre alternativ av track maps med låg, medel och hög Complexity-Ratio. ● Tredje och fjärde sektionen undersökte Min-Curve och Max-Curve. Dessa två parametrar bildar ett spektrum av möjliga utslätningar men används tillsammans. Därmed utökades antalet alternativ till fem, varav två alternativ för minimumvärde samt maximumvärde och tre för olika intervaller. Se tabell 1 för fullständig parameterinformation, samt Figur 14 för exempel på hur en racerbanas kurvatur kan slätas ut. ● Femte och sjätte sektionen berörde parametern Control-Point-Length. De tre alternativ som gick att välja mellan skapades utifrån lågt, medel och högt parametervärde.

Tabell 1 De värden de olika dynamiska parametrarna erhåller för de olika sektionerna om de inte har sitt standardvärde.

Sektion Parameter Alternativ 1 Alternativ 2 Alternativ 3 Alternativ 4 Alternativ 5

1 Complexity- 3 6.25 10 Ratio X X

2 Min-Curve - 0 - 0 1 - 1 0 - 0.5 0.5 - 1 0 - 1 Max-Curve

3 Control-Point- 0.03 0.075 0.2 Length X X

17

Figur 14 3 olika varianter av samma racerbana med olika mycket avrundning på svängarna. A visar banan utan avrundning. B visar banan med samma avrundningsfaktor per sväng. C visar banan med varierad mängd avrundning per sväng

För varje sektion hade alla övriga dynamiska parametrar som inte undersöktes standardvärden som går att se i tabell 2. Alla exakta värden de dynamiska parametrarna hade i varje alternativ och sektion går att se i tabell 1. För sektion 1-3 användes samma seed för den procedurella genereringen. Detta seed var slumpmässigt framtaget. De tre sista sektionerna ämnade att undersöka hur skapta racerbanor med denna metod jämför sig mot riktiga licensgrad 1 racerbanor i mån av underhållningsvärde. Dessa flervalsfrågor hade tre alternativ: två artefaktgenererade racerbanor och en kontrollracerbana som är en riktig licensgrad 1 racerbana. För dessa tre frågor användes tre olika slumpmässigt framtagna seeds. De parametrar dessa skapta racerbanor utgick från går att se i tabell 2 och var de värden som till en början förväntades ge bäst resultat. Att dessa värden var mest lämpade var dock enbart en hypotes vilket diskuteras hädanefter, och sektion 1-3 förväntas upplysa om vilka intervaller av parametervärden som är bäst lämpade för framtida studier.

Tabell 2 De värden de olika dynamiska parametrarna har då de var i standardläge.

Parameter Complexity-Ratio Min-Curve Max-Curve Control-Point-Length

Värde 6.25 0 1 0.075

Det existerar en parameter i artefakten som skulle kunna argumenteras vara en femte dynamisk parameter. Denna parameter är skalärvikt och kontrollerar mängden automatisk avrundning av skarpa svängar självständigt från Min-Curve och Max-Curve. Dess funktion är att motverka generering av för skarpa svängar snarare än att påverka slutgiltig design då riktiga racerbanor saknar detta (Fédération Internationale de L'Automobile, 2019). Därav ansågs denna parameter vara statisk då dess frånvaro skulle möjliggöra skapandet av orealistiska racerbanor. Figur 15 visar hur en arbiträrt skapad racerbana skulle se ut med och utan denna parameter om Min-Curve och Max-Curve båda är 0.

18

Figur 15 Den vänstra racerbanan är en arbiträrt skapad racerbana utan användandet av skalärvikt. Den högra racerbanan är samma racerbana fast skalärvikt används. Min-Curve och Max-Curve är båda 0. Pilarna indikerar svängar som förändrats på grund av skalärvikt.

De racerbanor som agerade som kontrollbanor var alla licensgrad 1 racerbanor som inte finns med i det senaste Formel 1 spelet F1 2020 (2020). Att dessa inte var med i senaste Formel 1 spelet eftertraktades då svarspersoner idealt sett inte skulle ha sett dessa racerbanor förut och därmed inte kan skilja dem åt från artefaktens skapade racerbanor. Hade mer välkända Formel 1 racerbanor använts som kontroll skulle risken att de hade påverkat resultatet varit större. Dessa utvalda racerbanor konstruerades inom artefakten för att de skulle vara visuellt oskiljbara från artefaktens egna racerbanor. Vidare roterades de annorlunda gentemot källan för att ytterligare försvåra dess igenkännbarhetsfaktor. Skapandet av kontrollbanorna medförde viss grad av fel vid konstruktionen men det förväntades vara obetydligt för dess ändamål. De racerbanor som valts ut var Fuji Speedway, Kuwait Motor Town och Losail International Circuit (Fédération Internationale de L'Automobile, 2019). Dessa track maps går att se i Figur 16.

19

Figur 16 Dessa track maps är kontrollbanorna som användes i experimentet. A är Fuji Speedway. B är Kuwait Motor Town. C är Losail International Circuit (Fédération Internationale de L'Automobile, 2019).

Resultaten av varje sektion presenteras i cirkeldiagram för att kunna ge en grafisk representation i syfte att enklare möjliggöra diskussion och jämförelse inom respektive sektion. För sektion 1-3 hypotiserades att de alternativ som korresponderar med värdena i tabell 2 skulle väljas av svarspersonerna. För Complexity-Ratio var motivationen att ett värde runt 6.25 punkter/km2 ger en varierad racerbana med omväxlande antal svängar (spann från 7-34 antal svängar, se Appendix B). Detta stämmer väl överens med vad Loiacono m.fl. (2011) och Surarerks & Kotrajaras (2016) menar gör en racerbana underhållande. Ett lågt värde skulle snarare skapa mer simplistiska racerbanor med få svängar och låg komplexitet. Ett högt värde skulle skapa en racerbana med hög komplexitet och många svängar vilket stämmer väl överens med vad Loiacono m.fl. (2011) anser gör en racerbana underhållande. Anledningen att detta värde inte förväntas föredras av svarspersonerna är då genomsnittet av antal svängar hos licensgrad 1 racerbanor ligger på 16 st och högre värden på Complexity-Ratio tenderar att ofta överstiga detta antal (se Appendix A och B). Den licensgrad 1 racerbana med flest antal svängar har 24 st och den med minst har 8 st (Fédération Internationale de L'Automobile, 2020c). Se Appendix A och Figur 32 för information kring licensgrad 1 racerbanor.

Hypotesen angående Min-Curve och Max-Curve är att svarspersonerna kommer föredra de racerbanor med varierad utslätning. Detta då riktiga licensgrad 1 racerbanor tenderar att ha varierad svängutslätning (Fédération Internationale de L'Automobile, 2019). Enligt Surarerks & Kotrajaras (2016) bör en ökning av skarpa svängar korrelera med ökad underhållningsvärde men detta är i sig motsägande det Loiacono m.fl. (2011) säger angående att ökad variation ger ökad underhållning. Därav förväntas intervallet 0-1 (alternativ 5) väljas mest då det stödjer båda dessa synsätt.

För den sista dynamiska parametern, Control-Point-Length, förväntas det att alternativ 2 (medel-restriktion av kurvaturen) föredras. Detta då det bidrar till ökad variation i racerbanans design vilket korresponderar med ökad variation (Loiacono m.fl., 2011) utan att släta ut majoriteten av kurvorna i den grad att andelen skarpa svängar minskas markant. Ett minskande av skarpa svängar menar Surarerks & Kotrajaras (2016) bidrar till mindre

20

underhållningsvärde hos racerbanan. Därav förväntas alternativ 2 väljas då det stämmer väl överens med båda synsätten.

Hypotesen för de frågor med kontrollbanor är att kontrollbanorna kommer väljas oftare än de artefaktgenererade racerbanorna. Detta då kontrollbanorna är professionellt designade för optimal racing medan de artefaktgenererade racerbanorna enbart följer de regler Fédération Internationale de L'Automobile (2019) har uppsatt för godkända racerbanor. Det innebär inte nödvändigtvis att alla racerbanor som följer dessa regler är underhållande.

Anledningen att två till synes identiska enkäter konstrueras är för att resultatet ska vara så objektivt som möjligt. Det enda som skiljer dem åt är hur racerbanorna väljs ut för varje sektion. I en enkät (Appendix C) väljs racerbanorna i dess innehåll slumpmässigt ut. I den andra enkäten (Appendix D) väljs dessa däremot manuellt. Detta för att erhålla resultat både för den procedurella generationens genomsnittliga fall och de som används vid förväntad användning av artefakt. Hade enbart slumpmässiga racerbanor använts finns risken att de valda racerbanorna inte reflekterar artefaktens potential. På liknande sätt hade enbart utvalda racerbanor använts hade det inte varit representativt för artefaktens genomsnittsfall. De racerbanor som manuellt valts ut stämmer överens med tidigare hypotes över underhållande racerbanor. Därmed förväntas kontrollfrågorna för enkäten med manuellt utvalda racerbanor ge ett annat resultat än den enkät med slumpmässigt utvalda. De övriga sektionerna bör inte påverkas av hur racerbanorna väljs ut. Tolkningen av enkäterna går att se i Appendix E.

Distributionen av enkäterna görs på fyra olika servrar på kommunikationsapplikationen Discord (2015). Dessa servrar står för virtuella ligor inom F1 2020 (2020) och erhåller flertalet medlemmar intresserade av racing inom datorspel. Moderatorerna för dessa servrar har alla godkänt denna distributionen. Då dessa två enkäter kan ta tid att genomföra ges valet att enbart besvara en eller båda. För att inte en enkät ska vara mer besvarad än den andra presenteras de i olika ordningar på de olika servrarna. Vidare är de inte numrerade eller tydligt kategoriserade. Figur 17 visar meddelandet enkäterna distribueras genom.

Figur 17 Meddelandet som enkäterna distribuerades genom. “Form 1” och “Form 2” byts ut mot faktiska länkar till enkäterna.

21

3.3 Alternativa metoder För att undersöka detta arbetets frågeställning hade andra metoder kunnat användas. Sådana metoder skulle kunna vara användandet av en fallstudie eller användarstudie. En fallstudie skulle kräva konstruktionen av ett fullständigt test-spel som är representativt av spelet F1 2020 (2020) och använder sig av artefaktens skapade racerbanor (Ejvegård, 2009). Detta ansågs inte vara möjligt då ett sådant spel skulle vara för komplicerat att utveckla och skulle slutgiltigen inte vara tillräckligt representativt gentemot F1 2020 (2020). Detta då det bland annat skulle innebära konstruktionen av en fysiksimulator. Ett svagt test-spel kan innebära att fallstudiens framställda resultat inte är representativt för det den ämnar att undersöka, vilket är risken med användandet av en fallstudie (Ejvegård, 2009).

En användarstudie skulle innebära att kunniga Formel 1 racerbansdesigner får möjligheten att testa och evaluera artefakten. Detta ansågs inte möjligt då det fanns en brist på sådana personer. Alternativet att vidga omfånget av vad som anses som en kunnig racerbansdesigner hade kunnat göras men risken finns att det eventuellt påverkar resultat negativt.

3.4 Risker och etiska aspekter Denna undersökning skalar bort somliga vitala delar vid skapandet av en racerbana i mån av avgränsning och tidsåtgång vilket i sig kan påverka resultatet. Mer specifikt skapas enbart en generell ritning av racerbanan i denna artefakt vilket då bortser från banans varierande bredd, lutning och höjdskillnader. Alla dessa aspekter påverkar en racerbanas underhållningsvärde i praktiken och kan därmed förändra spelares perspektiv på banan. Därmed bör resultatet från denna undersökning enbart förhållas till de aspekter den undersöker och undersökningen är därmed inte representativ för om de skapta racerbanorna skulle vara underhållande i praktiken. Denna undersökning skapar snarare en bild av hur denna metod kan användas vid designstadiet av en racerbana än direkt implementation inom datorspel.

En möjlig risk med denna vetenskapliga metod är att deltagarmängden potentiellt blir för låg inom undersökningen. Detta är problematiskt då mindre deltagare i studien bidrar till en sämre uppskattning över vad majoriteten tycker då fokus blir mer på var individ. Därav förväntas en stor deltagarmängd ge ett bättre resultat.

Artefakten är utvecklad i Unity (Unity Technologies, 2004) och använder delar av Unitys API. Detta kan innefatta en del problematik då dess dokumentation uppvisar stora brister, vilket kan innebära att artefakten potentiellt ta längre tid att implementera än förväntat då funktionaliteten möjligtvis blir otillräcklig.

I lagen om etikprövning av forskning som avser människor (SFS 2003:460) regleras bland annat informationshantering inom vetenskapliga undersökningar. §16 till och med §19 beskriver lagar för hur forskningspersoner skall informeras, samt hur samtycke för människor både över och under 18 år skall hanteras. Då detta och lagen med kompletterande bestämmelser till EU:s dataskyddsförordning (SFS 2018:218) är något som är relevant inom den kvalitativa undersökning, så är det något som kommer att tas i åtanke och följas vid när undersökningen skapas och utförs.

22

4 Genomförande

Innan artefaktens genomförandeprocess presenteras kommer den förstudie som utförts redogöras. Denna förstudie innefattar inspirationskällor och perspektiv vid skapandet av detta arbete. Därefter kan tillvägagångssättet för artefakten presenteras. Genomförandet bryts upp i distinkta delmoment för ökad struktur och förståelse. Vidare introduceras dessa delmoment i kronologisk ordning för implementationen.

4.1 Förstudie Under förstudien noterades det att en avsevärd del av forskningen kring skapandet av procedurella racerbanor innefattade evolutionära tekniker. För att vidga nuvarande forskning inom ämnet valdes därav en annan implementationsmodell. Inspirationen bakom skapandet av racerbanor med hjälp av Voronoi diagram kom främst från spelet Racecraft (2016). Racecraft innehåller procedurellt skapade racerbanor som skapas utifrån Voronoi diagram. En översiktlig implementationsmodell för dessa racerbanor finns publicerad på utvecklarnas webbsida (Garattoni, 2015). Värt att nämna är att denna dokumentation är otillräcklig för direkt återskapande av dess implementation och att detta arbetets implementationsmetod inte är baserad på den.

4.2 Implementation Artefakten utvecklades i Unity (Unity Technologies, 2004) i syfte att enbart använda dess vektorgrafiska ramverk, renderare och pseudo-random number generator. Vidare användes detta programs matematiska bibliotek för kalkylationer inom vektormatematik. Detta innebär att ett annat ramverk eller verktyg skulle kunna ha använts för att uppnå ett godtagbart resultat.

För att framställa artefaktens slutprodukt genomfördes fyra distinkta delsteg. Det första delsteget står för hur en Delaunay Triangulation och dess korresponderande Voronoi diagram framställs. Det andra beskriver hur den grundläggande formen på racerbanan framställs från Voronoi diagrammet genom användandet av random och self-avoiding walk. Det tredje delsteget slätar ut denna skarpa form genom användandet av Bézierkurvor. Det sista steget skapar den slutgiltiga produkten som innehåller racerbanans design, mållinje och färdriktningspil.

Den procedurella processen är seed-baserad vilket innebär att samma slutprodukt alltid kan framställas utifrån samma seed och parametervärden. Detta är möjligt eftersom de slumpmässiga tal som processen tar fram är från en pseudo-random-number-generator. Initialiseras denna generator med samma seed kommer samma följd av nummer genereras varje gång (Hendrikx, Meijer, van der Velden & Iosup, 2013). Genom alla delsteg kommer samma utgångs-seed användas. Därmed kan utformningen visuellt observeras.

4.2.1 Delaunay triangulation och Voronoi diagram I syfte att generera en Delaunay triangulerad graf implementerades en Bowyer-Watson algoritm. Då algoritmen modifierar en redan existerande graf genom att tillföra nya punkter utgår artefaktens implementation från den metod Rebay (1993) föreslår. I denna algoritm är det möjligt att skapa ny Delaunay triangulerad graf genom användandet av en triangel som omsluter alla punkter.

23

Artefaktens implementation genererar en omslutande rätvinklig triangel som innehåller det avgränsade område där punkter slumpmässigt genereras. Detta område bildar en inskriven rektangel i triangeln. Resultatet av denna del av implementationen går att se i Figur 18. Bowyer-Watson algoritmen utför sedan sina operationer på den omslutande triangeln och därefter raderas den omslutande triangeln och alla trianglar förknippade med den. Detta resulterar i en genererad Delaunay triangulerad graf som utgår från de slumpmässigt genererade punkterna. Den slutgiltiga triangulationen är därmed representerad som en lista av klassinstanser av klassen Triangle. Triangle består av triangelns kanter, hörn, centerpunkt och radie. Vidare innehåller den hjälpmetoder som undersöker huruvida en punkt ligger innanför triangelns omskrivna cirkel samt jämförelsemetoder. Triangle klassens struktur går att se i Figur 19.

Figur 18 En mängd punkter placeras inom det avgränsade område som bildar en inskriven rektangel med bredd 푥 och höjd 푦 i en rätvinklig triangel.

Figur 19 Informationsklass för trianglar inom Delaunay triangulation. Den innefattar information om triangeln samt hjälpfunktioner.

Innan denna graf kan användas för att generera ett Voronoi diagram modifieras den. Denna modifiering innebär att ta bort de trianglar vars omskrivande cirkelcentrum ligger utanför den

24

avgränsade ytan. Denna framställda graf används därefter för att generera ett Voronoi diagram genom dess dualitet (George & Borouchaki, 1998). Utan denna modifikationen av Delaunay triangulationen skulle dess korresponderande Voronoi diagram ha noder utanför den avgränsade ytan. Voronoi diagrammets struktur innebär en klassinstans av klassen VoronoiGraph. Denna klass består av en lista av GraphNode som innefattar en nodposition samt en lista med denna nodens grannar. Vidare består VoronoiGraph av ett HashSet av diagrammets fröpositioner. Slutligen besitter den hjälpmetoder för att läsa datan. Detta går att utläsa i Figur 20. Ett exempel på en slutgiltig produkt av detta delsteg går att se i Figur 21.

Figur 20 Strukturklass för Voronoi diagram. Den innefattar information om diagrammet samt hjälpfunktioner.

Figur 21 Ett exempel på en skapad Delaunay triangulation samt dess korresponderande Voronoi diagram vars noder alla ligger inom samma avgränsade område.

4.2.2 Random & Self avoiding walk För att skapa en giltig Formel 1 racerbana i en graf användes en parameter-driven random & self-avoiding walk över det skapade Voronoi diagrammets noder. En self-avoiding walk

25

innebär att en krets aldrig besöker tidigare besökt nod eller korsar sin egna tidigare väg (Slade, 1994).Denna algoritm bygger i att i största mån överlåta kontrollen till den procedurella processen och enbart godkänna korrekta racerbanor och avvisa icke-korrekta. En följd av detta är att den slutgiltiga formen av den skapta kretsen är oförutsägbar.

En godkänd krets följer kriterierna om den:

1. Börjar och slutar i samma punkt 2. Inte korsar sig själv 3. Inte besöker en nod i kretsen mer än en gång 4. Har en längd mellan 3.5 km och 7 km 5. Inte har en raksträcka över 2 km 6. Har en minst 458 m lång start- och målraksträcka

Kriterierna 4 till 6 utgår från de regelverk Federation Internationale de L'Automobile (2020b) har uppsatta för godtagbara Formel 1 racerbanor i förhållande till dess design.

Som utgångspunkt innan algoritmen börjar fastställs två variabler som styr processen. Först utses den första noden i kretsen till en slumpmässig nod i diagrammet och blir därmed utgångspunkten för processen. Denna variabel kallas hädanefter CurrentNode. Vidare sätts även variabeln PreferredLength till ett slumpmässigt värde mellan 3.5 km och 7 km. PreferredLength används för att estimera den slutgiltiga kretsens längd. Algoritmen som skapar denna krets är uppbyggt av flertalet steg som itereras till och med att en godkänd design skapats eller det att algoritmen misslyckas med att hitta en godkänd design. Följande steg utför algoritmen för att åstadkomma detta:

1. Markera noden CurrentNode som besökt

2. Alla noder som är grannar till CurrentNode samt uppfyller kraven att de inte har besökts tidigare och ligger inom 2 km gentemot CurrentNode anses vara Godkända Grannar. Utav de Godkända Grannarna markeras alla noder som ligger inom 25 m relativt CurrentNode som besökta. Kan inga Godkända Grannar hittas utförs steg 2.1 annars utförs steg 2.2.

2.1. Om alla möjliga kretsar har utforskats utan att hitta giltig design körs algoritmen på nytt med ny utgångspunkt för CurrentNode. Är detta inte sant så tas senaste tillagda noden i kretsen bort och CurrentNode utses till nya slutnoden i kretsen.

2.2. CurrentNode läggs till som nästa nod i kretsen. En slumpmässig nod utav Godkända Grannar väljs ut och utses till nya CurrentNode.

3. Är längden på kretsen, om slutnod och startnod kopplas ihop, över PreferredLength samt under 7 km undersöker algoritmen om den giltigt kan koppla ihop startnod med slutnod utan att bryta tidigare uppsatta definitioner för giltig krets. För att testa om kretsen korsar sig själv används formeln som går att se i Figur 22. Denna formel ger värdena 푡 och 푢 utifrån två olika linjers start- och slutpunkter. Befinner sig dessa två värden mellan 0 och 1 skär linjerna varandra (Antonio, 2012). Om inget segment i kretsen korsar varandra har därmed en godkänd krets funnits i diagrammet och därmed avbryts algoritmen med denna krets som resultat.

26

4. Om längden på kretsen överskrider 7 km blir sista noden i kretsen iterativt borttagen till och med det att kretsens längd blir mindre än 3.5 km.

5. Återupprepa algoritmen från steg 1.

Figur 22 En formel som besvarar huruvida linjen mellan punkterna (x1y1) och (x2y2) korsar linjen mellan punkterna (x3y3) och (x4y4). Är det fallet så befinner sig 푡 och 푢 mellan värdena 0 och 1 (Antonio, 2012).

Innan kretsen kopplas ihop till en cykel genom att lägga till första noden i kretsen läggs en till nod in som representerar mållinjen. Denna punkt får inte ligga närmare än 208 m relativt sista noden då bilarnas startrutor då inte får plats enligt Fédération Internationale de L'Automobile (2020b) uppsatta regler. Vidare får den inte ligga närmare än 250 m relativt första noden då sträckan till första svängen då blir för kort. Denna nod beräknas genom att ta en slumpmässig punkt mellan punkterna 푎 och 푏 som går att utläsa i Figur 23. Slutgiltig produkt i detta delsteg går att se i Figur 24.

Figur 23 En skildring av hur punkterna 푎 och 푏 placeras utifrån given start- och slutnod

27

Figur 24 En skildring av hur en giltig krets skapas utifrån ett Voronoi diagram

4.2.3 Bézierkurva Detta delmoment ämnar att procedurellt släta ut den skarpa cykel av punkter som framställts från tidigare delmoment. Mer specifikt har varje sväng i cykeln olika mängd utslätning. Detta uppnås genom användandet av Bézierkurvor och procedurell mängd släthet per nod i cykeln. Utslätningsmomentet kan delas upp ytterligare i två separata delsteg vilket hädanefter refereras till som krökning och konstruktion.

Krökning styr processen där varje nods unika utslätningsgrad utses. Denna utslätningsgrad graderas mellan 0 till 1, där 0 innebär ingen utslätning alls och 1 maximal utslätning. Detta värde skapas genom att ta ett slumpmässigt värde mellan minimum och maximum parametrar (Min-Curve och Max-Curve). Detta värde kallas hädanefter 푠푙푢푚푝푣ä푟푑푒. Med enbart detta finns dock möjligheten att markant skarpa svängar knappt slätas ut vilket inte eftertraktades. För att motverka detta används skalärprodukten mellan svängens utgångsvektor och inverterade ingångsvektor för att influera svängningsgraden. Skalärprodukten är även restrikterad till enbart positiva värden samt 0. Figur 25 illustrerar utgångsvektorn av en arbiträr nod 푝 och dess inverterade ingångsvektor. En statisk kontrollparameter som kallas 푠푘푎푙ä푟푣푖푘푡 styr denna skalärproduktens inverkan på slutgiltig krökning och är i slutgiltig artefakt statiskt satt till 0.25. Ett epsilonvärde adderas även då värden under detta värde skapar visuella artefakter. Den slutgiltiga formeln för skapandet av krökningen per nod kan därmed ses i Figur 26. En tidigare, förkastad, implementation av krökning-delsteget kombinerade de olika parametrarna på ett annorlunda sätt och gav ett generellt sämre resultat med mindre kontroll över samtliga noders kurvatur då skalärvikt påverkade hela kurvaturen. Denna formel för krökningen kan ses i Figur 27.

28

Figur 25 En arbiträr nod 푝 i cykeln vars inverterade ingångsvektor (퐴) och utgångsvektor (퐵) finns angiven.

Figur 26 Slutgiltig formel för beräkningen av krökningen för en sväng.

Figur 27 Förkastad formel för beräkning av krökning.

Konstruktion innefattar hur de olika kontrollpunkterna i den kubiska Bézier-kurvan placeras ut i förhållande till sina korresponderande punkter. Bézierkurvor innebär ett sätt att linjärt interpolera mellan olika punkter (Kamermans, 2020). Det är värt att nämna att den slutgiltiga kretsen är konstruerad av flertalet olika kubiska Bézierkurvor vars fasta punkter alla agerar både start och slutpunkt för två olika kurvor. Detta för att skapa en sammanhängande kurva. Utifrån detta koncept krävs det att varje punkts två kontrollpunkter bildar en rät linje genom punkten för att skapa en sammanhängande kurva mellan två kubiska Bézierkurvor. Detta sätt att skapa en sammanhängande Bézierkurva inom Unity (Unity Technologies, 2004) var inspirerat av Lague (2018). Figur 28 illustrerar dessa beteenden.

Figur 28 En sammansättning av flertalet kubiska Bézierkurvor.

29

Positionering av kontrollpunkterna i en Bézierkurva kan ske på flertalet olika sätt och den slutgiltiga implementationsmetoden som presenteras här ansågs ge det mest uniforma beteende över alla noder. Denna metod är också inspirerad av Lague (2018). Metoden innebar att för den arbiträra punkten 퐵; konstruera en bisektris utifrån förhållandet mellan tidigare punkt 퐴, följande punkt 퐶 och 퐵. Detta förhållande visualiseras i Figur 29. En vinkelrät linje (푢) gentemot denna bisektris kan dras som skärpunkt 퐵. För att placera ut 퐵s kontrollpunkt

(푏0) för Bézierkurvan 퐴퐵 beräknas punkten 푏0푚푎푥 längs 푢. Denna position kan beräknas genom att ta hälften av längden av vektorn 퐴퐵 (푙0) och färdas längs 푢 i 퐴s färdriktning 푙0 enheter. Med detta kan vektorn 퐵푏0푚푎푥 konstrueras. Givet denna vektor kan värdet för 퐵푠 krökning användas för att beräkna slutgiltig position för 푏0. Ett värde av 0 för krökningen innebär att kontrollpunkten får position 퐵 och 1 innebär position 푏0푚푎푥. Värden mellan 0 och 1 faller mellan 퐵 och 푏0푚푎푥 längs 푢.

Figur 29 En skildring av hur punkt 퐵s maximala kontrollpunkter beräknad utifrån 2 givna grannars position (퐴 & 퐶). 푤 bildar en bisektris till 퐵퐴 och 퐵퐶. En

vinkelrät linje gentemot 푤 kan dras genom 퐵som kan kallas 푢. 푙0 är den maximala längden från 퐵 längs 푢 kontrollpunkt 푏0푚푎푥 kan befinna sig. Denna längd är ekvivalent till halva längden av 퐴퐵. På samma sätt kan 푏1푚푎푥 beräknas.

Enbart detta är dock inte tillräckligt för att skapa en kurva som följer ursprunglig cykel tillräckligt strikt. Givet enbart denna presenterade implementationsmetod finns risken att kraftiga kurvor bildas vilket kan göra att slutgiltig racerbana korsar sig själv. För att lösa detta problem begränsas alla kontrollpunkters maximala distans från tillhörande punkt. Denna maximala distans kontrolleras av parameter Control-Point-Length. Figur 30 visar hur en kurva skapas med denna parameter, samt utan denna parameter. Figur 31 visar en slutgiltig produkt av detta delsteg med underliggande cykel som referens.

30

Figur 30 Den vänstra bilden visar skapandet av en Bézierkurva med användningen av Control-Point-Length. Den högra visar skapandet av en Bézierkurva utan denna parameter.

Figur 31 En skildring av en utslätad cykel med cykel som referens

Den första implementationen, som ansågs otillräcklig för ändamålet, tog fram riktningen på kontrollpunkten för 퐵 genom riktningen av 퐴퐶. Denna normaliserade riktning multiplicerad med krökning adderad med 퐵 ger kontrollpunktens position. Detta beteende är visualiserat i Figur 32. Detta beteende ansågs sämre då infalls- och utfallsvinkeln var olika stora genom kurvan samt att oförutsägbara beteenden framstod om punkter låg nära varandra.

31

Figur 32 En förtydling av hur tidigare implementationer placerade kontrollpunkter. Vinkel 푥, 푦är enbart ekvivalenta då magnituden av 퐴퐵 och magnituden av 퐵퐶 är ekvivalenta.

4.2.4 Slutgiltig produkt Utifrån denna Bézierkurva som skapats kan slutgiltig produkt ämnad för experimentet framställas. Denna slutprodukt skiljer sig från tidigare delsteg genom tillägget av en mållinje och en färdriktningspil samt tjockleken på kurvan. Mållinjen och färdriktningspilen placeras utifrån första punkten i Bézierkurvan som alltid befinner sig i mitten av start- och målraksträckan. Denna position beräknades under delsteg 2. Slutgiltig produkt för arbiträr seed kan ses i Figur 33.

Slutgiltiga kommentarer angående denna implementationsprocess är att den var relativt enkel att konstruera. De mer komplicerade aspekterna av implementationsmetoden är baserade på väldokumenterade principer och datastrukturer och var därmed lätta att felsöka. De faktorer som krävde refaktorering var enbart estetiska snarare än funktionella och har redan diskuterats.

Figur 33 En slutgiltig produkt med angiven mållinje och färdriktningspil.

32

4.3 Pilotstudie I syfte att försäkra att det var möjligt att genomföra det tidigare nämnda experimentet så utfördes en pilotstudie. I denna pilotstudie distruberades samma enkäter tänkta för den framtida undersökningen till en mindre grupp. Fokuset med denna pilotstudie låg på att få återkoppling angående enkäternas tydlighet snarare än enkäternas producerade resultat. På grund av detta besvarades enkäterna av personer som inte nödvändigtvis var kunniga inom Formel 1 eller bilracing. Slutsatsen av denna pilotstudie var att enkäterna, med smärre grammatiska åtgärder, ansågs korrekta i mån av innehåll och förståeliga för fullskalig distribution.

Resultatet som erhölls tydde även att vissa av svarsalternativ tenderas att väljas mer prevalent över andra vilket är vad som förväntas i de slutgiltiga enkäterna. För att illustrera detta visar Figur 34 till 36 hur svarspersoner har svarat på fyra olika frågor från den slumpmässigt utformade enkäten. Dessa fyra frågor inkluderar alla dynamiska parametrar och en kontrollfråga. Fullständigt resultat presenteras därmed inte för denna pilotstudie då det inte är relevant för pilotstudiens syfte. Utifrån dessa fyra frågor går det att se hur vissa alternativ inte alls väljs samt att andra väljs oftare. Många av de alternativ som väljs mest stödjer även uppsatt hypotes. Med detta sagt kan ingen slutsats dras utifrån resultatet då målgruppen inte var kunniga inom Formel 1 samt att denna pilotstudie hade få deltagare. De svar som har erhållits tyder därmed att uppsatt hypotes går att undersöka genom denna metod vilket därmed stödjer dessa enkäters utformning.

Figur 34 Resultat från slumpmässigt utformad enkät där Complexity-Ratio undersöks. Enligt uppsatt hypotes bör Complexity-Ratio 6.25 föredras följt av Complexity-Ratio 10.

Figur 35 Resultat från slumpmässigt utformad enkät där Min-Curve och Max- Curve undersöks. Enligt uppsatt hypotes bör Min 0 - Max 1 föredras.

33

Figur 36 Resultat från slumpmässigt utformad enkät där Control-Point-Length undersöks. Enligt uppsatt hypotes bör Control-Point-Length 0.075 föredras.

Figur 37 Resultat från slumpmässigt utformad enkät där artefakt genererade racerbanor jämförs med kontroll-racerbanor.

34

5 Utvärdering

Detta delkapitel presenterar den genomförda undersökningen och det resultat den erhöll. Utifrån detta resultat kan en analys utföras för att kunna tolka resultatet. Utifrån denna analys kan sedan en slutsats angående de dynamiska parametrarnas underhållningsvärde dras. Vidare kan artefaktgenererade racerbanors underhållningsvärde gentemot kontrollbanor diskuteras.

5.1 Presentation av undersökning Innan enkäterna distribuerades kontaktades moderatorer för fyra olika Discord (2015) servrar för att få tillstånd att använda det som distribueringsplattform för enkäterna. Då detta erhållits distribuerades enkäterna. Alla dessa servrar är centrerade kring Formula 1 (2020) och bildar en plattform för racing. De bidrar med organisation för racing inom spelet samt en gemenskap inom genren. I två av servrarna presenterades slumpmässig enkät först (Appendix C) och i de två övriga presenterades den utvalda enkäten först (Appendix D). Detta för att spridningen av mängd svar mellan enkäterna ämnades att vara så låg som möjligt. Efter en vecka av det att enkäterna först släpptes sammanställdes resultaten i form av cirkeldiagram. Det fullständiga resultatet går att se i Appendix F. Totalt svarade 43 personer på slumpmässigt utformad enkät och 40 personer på utvald utformad enkät.

För att möjliggöra översiktlig analys av enkäternas resultat slås hädanefter data ihop för de frågor som ämnar att undersöka samma saker mellan de båda enkäterna. Vilka frågor som undersöker samma delområde kan utläsas i Appendix E. Detta innebär därmed att varje fråga grupperas in i grupperna Complexity-Ratio, Min-Curve & Max-Curve, Control-Point-Length samt kontrollfrågor. Detta möjliggör att ett medelvärde analyseras för de möjliga alternativen snarare än att specifika frågor analyseras var för sig. Vidare kommer även ordningen de olika alternativen valdes att presenteras för varje delområde.

5.1.1 Complexity-Ratio De frågor som undersökte den dynamiska parametern Complexity-Ratio:s inverkan på racerbanors underhållningsvärde visade hur majoriteten av svarspersoner föredrog racerbanor med en Complexity-Ratio på 6.25 punkter/km2. Dessa alternativ motsvarade nästan hälften av alla svarspersoners preferens i fråga om Complexity-Ratio på 44.6 %. Alternativen med ett värde på 10 punkter/km2 på Complexity-Ratio utgjorde även en stor del av alla svar på 37.3 %. Enbart 18.1 % av alla svarspersoner valde racerbanor med en Complexity-Ratio på 3 punkter/km2. Denna data går att utläsa i Figur 38.

35

Figur 38 Sammanställt resultat från fråga 1 och 2 från båda enkäterna (Appendix C & D) representerat i ett cirkeldiagram. Diagrammet visar på preferenser svarsdeltagarna hade baserat på Complexity-Ratio.

Vidare valdes även racerbanor med Complexity-Ratio på 6.25 punkter/km2 som första val fler gånger än övriga alternativ på två av fyra gånger. De övriga två gångerna var detta alternativ det näst populäraste valet. Alternativen för Complexity-Ratio 10 valdes i en fråga mest, två mittemellan och en gång minst. Trots det att racerbanor med Complexity-Ratio 3 valdes totalt sett mer sällan än övriga alternativ var det i en fråga det mest populära valet. I just denna fråga var alla tre alternativ populära. Complexity-Ratio 3 var, med 39.5 % valfrekvens, enbart 4.6 procentenheter mer populärt än det näst mest valda alternativet. Detta går att utläsa i Figur 53 i Appendix F. Övriga frågor var detta alternativ det minst populära valet. Detta går att utläsa i Figur 39.

Figur 39 Ett diagram över vilka alternativ som valdes som första, andra och tredje val från fråga 1 och 2 från båda enkäterna (Appendix C & D). Diagrammet visar på preferenser svarsdeltagarna hade baserat på Complexity-Ratio.

5.1.2 Min-Curve & Max-Curve De frågor som undersökte de dynamiska parametrarna Min-Curve och Max-Curve:s underhållningsvärde gav resultatet att majoriteten av svarspersoner föredrog racerbanor med

36

ett intervall på 0.5 till 1 i Min-Curve och Max-Curve. Denna andel var på 42.8 %. Intervallen 1 till 1 och 0 till 1 var de näst mest populära valen med 28.9 % respektive 25.3 %. Det näst minst valda alternativet var intervallet 0 till 0.5 på 2.4 % och det allra minst valda alternativet var intervall 0 till 0 på 0.6 %. Detta alternativ fick totalt sett bara en röst. Denna data går att se i Figur 40.

Figur 40 Sammanställt resultat från fråga 3 och 4 från båda enkäterna (Appendix C & D) representerat i ett cirkeldiagram. Diagrammet visar på preferenser svarsdeltagarna hade baserat på Min-Curve och Max-Curve.

Intervallet 0.5 till 1 valdes som första val tre av fyra gånger och den fjärde gången var den det näst mest valda alternativet. Alternativen för intervallet 1 till 1 på Min Curve och Max-Curve valdes först en gång, andra plats två gånger och tredje plats en gång. Intervallet 0 till 1 valdes som andra plats två gånger och som tredje plats två gånger. Intervallet 0 till 0.5 valdes näst minst tre gånger och minst en gång. Slutligen valdes intervallet 0 till 0 sist två gånger och näst sist två gånger. Denna data går att utläsa i Figur 41.

37

Figur 41 Ett diagram över vilka alternativ som valdes som första, andra, tredje, fjärde och femte val från fråga 3 och 4 från båda enkäterna (Appendix C & D). Diagrammet visar på preferenser svarsdeltagarna hade baserat på Min-Curve och Max-Curve.

5.1.3 Control-Point-Length Resultaten för den dynamiska parametern Control-Point-Length:s inverkan på racerbanors underhållningsvärde visade att ett värde på 0.03 enbart valdes 3.6 % av tiden. Ett Control- Point-Length värde på 0.2 utgjorde en majoritet, där 54.2 % av deltagarna föredrog det värdet. Respektive utgjorde ett Control-Point-Length värde på 0.075 de resterande 42.2 % av andelen. Denna data går att utläsa i Figur 42.

Figur 42 Sammanställt resultat från fråga 5 och 6 från båda enkäterna (Appendix C & D) representerat i ett cirkeldiagram. Diagrammet visar på preferenser svarsdeltagarna hade baserat på Control-Point-Length.

De alternativ som hade värdet 0.2 på den dynamiska parametern Control-Point-Length valdes som första val två gånger och som andra val två gånger. Alternativen med Control-Point- Length 0.075 valdes på samma sätt två gånger som första val och två gånger som andra val. De alternativ som rörde värdet 0.03 på Control-Point-Length valdes i alla frågor som sista val. Denna data går att se i Figur 43.

38

Figur 43 Ett diagram över vilka alternativ som valdes som första, andra och tredje val från fråga 5 och 6 från båda enkäterna (Appendix C & D). Diagrammet visar på preferenser svarsdeltagarna hade baserat på Control-Point-Length.

5.1.4 Kontrollfrågor Det resultat som erhölls i avseende till huruvida svarspersoner föredrog kontrollbanor över artefaktgenererade racerbanor var att majoriteten av svarspersonerna föredrog kontrollbanorna. 53 % av alla som svarade på de båda enkäterna föredrog kontrollbanorna. Detta innebär att kontrollbanor väljs cirka 69.2 % av tiden om valet står mellan en kontrollbana och en artefaktgenererad racerbana, då fler alternativ per fråga i enkäterna var artefaktgenerade. Resultatet går att utläsa i Figur 44.

Figur 44 Sammanställt resultat från fråga 7, 8 och 9 från båda enkäterna (Appendix C & D) representerat i ett cirkeldiagram. Diagrammet visar på preferenser svarsdeltagarna hade mellan artefaktgenererade racerbanor och kontrollbanor.

39

Då olika kontrollbanor kan vara olika populära presenteras härmed varje kontrollbana var för sig också. Fuji Speedway var den mest populära kontrollbanan och valdes 67.5 % av tiden i de frågor där den användes. Detta innebär att den skulle väljas cirka 80.6 % av tiden om valet stod mellan en artefaktgenererad racerbana och den själv. Resultatet går att se i Figur 45. Kuwait Motor Town och Losail International Circuit var båda lika populära och valdes 45.8 % av tiden i de frågor de var representerade. Detta innebär att de båda skulle väljas ungefär 62.8 % av tiden om valet stod mellan de och artefaktgenererade racerbanor. Denna data går att se i Figur 46 och 47.

Figur 45 Sammanställt resultat från fråga 7 från båda enkäterna (Appendix C & D) representerat i ett cirkeldiagram. Diagrammet visar på preferenser svarsdeltagarna hade mellan Fuji Speedway och artefaktgenererade racerbanor.

Figur 46 Sammanställt resultat från fråga 8 från båda enkäterna (Appendix C & D) representerat i ett cirkeldiagram. Diagrammet visar på preferenser svarsdeltagarna hade mellan Kuwait Motor Town och artefaktgenererade racerbanor.

40

Figur 47 Sammanställt resultat från fråga 9 från båda enkäterna (Appendix C & D) representerat i ett cirkeldiagram. Diagrammet visar på preferenser svarsdeltagarna hade mellan Losail International Circuit och artefaktgenererade racerbanor.

Kontrollbanor valdes oftare som första val trots att de var underrepresenterade gentemot artefaktgenererade racerbanor 1 till 2. I de frågor Fuji Speedway fanns som val valdes den som första val. Losail International Circuit och Kuwait Motor Town valdes antingen som första val eller som andra val. Enbart två gånger valdes en artefaktgenererad racerbana som första val. Detta går att utläsa i Figur 48.

Figur 48 Ett diagram över vilka alternativ som valdes mest, minst och mittemellan från fråga 7 till 9 från båda enkäterna (Appendix C & D). Diagrammet visar på preferenser svarsdeltagarna hade baserat på kontrollfrågorna.

41

5.2 Analys För varje delanalys presenteras resultatet gentemot tidigare fastställd hypotes, samt dess likheter och skillnader undersöks. Först undersöks Complexity-Ratio och därefter granskas resultaten av Min-Curve och Max-Curve. Den sista dynamiska parametern, Control-Point- Length, undersöks sedan. Slutligen dras slutsatser utifrån jämförelsen av artefaktgenererade racerbanor och kontrollbanor.

5.2.1 Complexity-Ratio Den hypotes som lades fram för de frågor som rör den dynamiska parametern Complexity- Ratio var att racerbanor med ett värde på 6.25 punkter/km2 på Complexity-Ratio skulle föredras. Detta då ett sådant värde tenderar att skapa en varierad racerbana med omväxlande antal svängar vilket Loiacono m.fl. (2011) och Surarerks & Kotrajaras (2016) menar gör en racerbana underhållande. Vidare spekulerades det att racerbanor med ett högre värde på Complexity-Ratio skulle kunna väljas då det överensstämmer med vad Loiacono m.fl. (2011) anser gör en racerbana underhållande. Detta förväntades dock inte väljas lika prevalent som ett värde på 6.25 punkter/km2 då riktiga racerbanor inte tenderar att ha så många svängar som högre värden av Complexity-Ratio skapar.

Resultatet som erhölls från enkäterna visade att ett värde av 6.25 punkter/km2 på Complexity- Ratio var det mest populära vilket stämmer väl överens med den hypotes som konstruerats. Med detta sagt var alternativen med värden av 10 punkter/km2 också väldigt populära vilket, även om det till viss del stämmer överens med hypotesen, inte var helt förväntat. En förklaring till detta skulle kunna vara hur de olika racerbanorna valdes ut för enkäterna. I den slumpmässigt utformade enkäten (Appendix C) valdes inga racerbanor ut på annat sätt än genom slumpen. I den enkäten där de manuellt valdes ut (Appendix D) låg fokus på att alla tre alternativen skulle vara underhållande enligt tidigare uppsatta definitioner. Detta medför att den utvalda racerbanan för varje alternativ inte kontrollerades vara representerbart för normalfallet för det alternativet. Detta innebär därmed risken att en utvald racerbana inte nödvändigtvis representerar normalfallet för det värdet av Complexity-Ratio. En racerbana med värdet 6.25 punkter/km2 har ett genomsnittligt antal svängar på 17 st och en racerbana med värdet 10 punkter/km2 har ett genomsnittligt antal svängar på 22 st (Appendix B). I fråga 2 i den utvalda enkäten (Appendix D) låg svängantalet för det korresponderande alternativet för 6.25 punkter/km2 på 22 svängar och alternativet för 10 punkter/km2 på 19 st. Detta medför att alternativet för 6.25 punkter/km2 hade fler svängar än normalfallet och alternativet för 10 punkter/km2 hade färre än normalfallet. Med detta förändras därmed utgångspunkten för vad frågan undersöker. Därmed, enligt uppsatt hypotes, bör i just denna fråga alternativet med 10 punkter/km2 väljas oftare då det har färre svängar. Detta resonemang representeras även i resultatet där just detta alternativ valdes flest gånger. Detta går att utläsa i Appendix F, Figur 63.

I samma tankegång kan fråga 1 i slumpmässigt utformad enkät (Appendix D) ha påverkats i sin avvikelse mot normalfallen. Detta då alternativet för värdet 6.25 punkter/km2 på Complexity-Ratio enbart hade 10 svängar gentemot dess normalfall 17 st. Detta alternativ hade då enbart en sväng mer än alternativet för Complexity-Ratio 3 punkter/km2 vilket medför att dessa alternativ nästintill var identiska i vad de undersöker. Detta är även synligt i slutgiltigt resultat där de båda nästan fick samma andel röster. Det är även från denna fråga majoriteten av rösterna för Complexity-Ratio 3 härstammar från. Detta går att avläsa i Appendix F, Figur 53.

42

Övriga frågor som undersökte Complexity-Ratio anses ha alternativ som är representerbara för normalfallen. Därmed kan det insamlade resultatet stärka den hypotes som lagts fram. Racerbanor med Complexity-Ratio 6.25 punkter/km2 föredras mest följt av Complexity-Ratio 10 punkter/km2 följt av Complexity-Ratio 3 punkter/km2. Detta förmodas vara på grund av att en varierad racerbana med ett godtyckligt antal svängar föredras.

5.2.2 Min-Curve & Max-Curve Den hypotes som lades fram för frågor angående Min-Curve och Max-Curve var att svarspersoner skulle föredra racerbanor med varierad utslätning då det efterliknar riktiga licensgrad 1 racerbanor (Fédération Internationale de L'Automobile, 2019). Specifikt förväntades intervallet 0 till 1 väljas oftast då det dels stödjer Surarerks & Kotrajaras (2016) teori att ökad mängd skarpa svängar korrelerar med ökad underhållningsvärde samt Loiacono m.fl. (2011) teori att ökad variation ger ökad underhållning.

Resultatet från enkäterna visar att en intervall på 0.5 till 1 av Min-Curve och Max-Curve eftertraktas mest vilket innebär att hypotesen fallerar, där intervallet 0 till 1 förväntades. Intervallet 1 till 1 var dessutom mer eftertraktad än intervallet 0 till 1. Detta går emot Surarerks & Kotrajaras (2016) teori kring skarpa svängars korrelation med en racerbanas underhållningsvärde. Detta då ett intervall mellan 0.5 till 1 och 1 till 1 innebär en genomsnittligt hög kurvatur på svängarna och därav mindre skarpa svängar. Detta medför även en totalt sett mindre variation mellan olika svängars utslätningsgrad vilket även går emot Loiacono m.fl. (2011) teori att ökad variation korresponderar med ökad underhållningsgrad. Faktumet att intervallet 0.5 till 1 föredrogs mer än intervallet 1 till 1 visar dock att en variation i svängars utslätning föredrogs vilket stämmer överens med Loiacono m.fl. (2011). Alternativen för intervallerna 0 till 0 och 0 till 0.5 för Min-Curve och Max-Curve valdes nästan inte alls, vilket stämmer väl överens med tidigare hypotes.

En teori för varför intervallet 0 till 1 inte föredrogs mest är att svarspersonerna föredrog mer utslätade racerbanor. Intervallet 0 till 1 skapar många svängar som inte uppfyller detta. Detta problem har inte intervallet 0.5 till 1 då även de minst utslätade svängarna är relativt avmjukade. Ett större värde på Control-Point-Length skulle även medfört ett annat resultat. Detta då den dynamiska parametern förstärker svängars maximala utslätning och därmed kan intervallen 0.5 till 1 och 1 till 1 skapa tillräckligt djupa utslätningar att de inte längre är attraktiva. Den tolkning som kan dras från dessa frågor är att racerbanor med varierad men konstant relativt utslätad form är mest underhållande.

Något värt att notera är att en racerbanans struktur i stor del kan influera svarspersoners preferens för dessa parametrar. Ett exempel på detta kan vara fråga 3 i den enkät med utvalda racerbanor (Appendix D). I denna fråga valdes intervallet 1 till 1 i stor majoritet och detta kan troligtvis bero på racerbanans struktur. Detta då intervallet 0.5 till 1 i alla övriga frågor i båda enkäterna valdes i majoritet.

5.2.3 Control-Point-Length Hypotesen angående Control-Point-Length var att en medel-restriktion av kurvaturen skulle föredras. Detta innebär därmed ett värde på 0.075 på Control-Point-Length i dessa frågor. Detta förväntades då det både överensstämmer med Loiacono m.fl. (2011) teori att ökad variation ger ökad underhållning och Surarerks & Kotrajaras (2016) teori att mindre andel skarpa svängar ger sämre underhållningsvärde.

43

Resultatet som erhölls visade hur racerbanor med värdet 0.2 på Control-Point-Length föredrogs mest av svarspersonerna. Alternativ för Control-Point-Length 0.075 var även väldigt populära. Den sista alternativet, Control-Point-Length 0.03 valdes enbart i fåtal fall. Detta stämmer inte överens med den upplagda hypotesen där Control-Point-Length 0.075 förväntades väljas flest gånger. Detta medför därför att resultatet inte stämmer överens med Surarerks & Kotrajaras (2016) teori att fler skarpa svängar leder till ökad underhållningsvärde. Det insamlade resultatet tyder snarare på att den ökade variation av kurvaturen som ett värde av 0.2 för Control-Point-Length korresponderar med ett ökad underhållningsvärde. Detta stämmer väl överens med vad Loiacono m.fl. (2011) menar gör en underhållande racerbana. Vidare stämmer det även väl överens med tidigare slutsatser angående Min-Curve och Max- Curve där mjukare kurvaturer generellt sett föredrogs av svarspersonerna. En tolkning av resultatet skulle även kunna argumentera för att ett värde mellan 0.075 och 0.2 på Control- Point-Length hade varit det mest gynnsamma värdet för Control-Point-Length. Detta då 42.2 % (se Figur 42) trots allt valde Control-Point-Length 0.075 vilket är en betydlig del. En annan aspekt skulle kunna vara att denna delen av en racerbanas konstruktion är subjektiv och att ett gynnsamt värde för Control-Point-Length inte kan fastställas mer än mellan intervaller.

5.2.4 Kontrollfrågor Den hypotes som lades fram angående kontrollfrågorna var att kontrollbanorna skulle väljas oftare än artefaktgenererade racerbanor. Detta då dessa racerbanor är designade att vara underhållande snarare än skapta av en procedurell process. Denna hypotes stämmer väl överens med det resultat som samlats in. Överlag valdes kontrollfrågor 69.2 % av tiden om valet stod mellan en artefaktgenererad racerbana och en kontrollbana vilket innebär att en artefaktgenererad racerbana väljs cirka 30 % av tiden. Detta medför dock att den skapta artefakten besitter potentialen att skapa ekvivalenta eller mer underhållande racerbanor än kontrollfrågorna även om den i majoriteten av fallen inte gör det. Dessa racerbanor skapades även utifrån parametrar som inte nödvändigtvis är de mest optimala vilket tidigare delar av slutsatsen har diskuterat. Till exempel användes intervallet 0 till 1 för Min-Curve och Max- Curve vid skapandet av dessa racerbanor trots att insamlat resultat tyder på att intervallet 0.5 till 1 skapar mer underhållande racerbanor. På samma sätt användes värdet 0.075 för Control- Point-Length istället för 0.2 vilket enligt resultat bör skapa mer underhållande racerbanor. Användandet av dessa parametervärden istället för de som användes i enkäterna teoretiseras därav kunna ge högre valfrekvens av artefaktgenererade racerbanor. Resultatet visade även hur Fuji Speedway var ett markant mer attraktivt val än de andra kontrollbanor. Detta skulle kunna bero på att Fuji Speedway är mer välkänd än övriga kontrollbanor. Den är även den enda racerbanan i undersökningen som har hållit ett Formel 1 Grand Prix. Den senaste gången Fuji Speedway användes inom Formel 1 var 2008 (, 2021). Denna igenkännbarhetsfaktor kan därav bidra till ökad valfrekvens hos svarspersonerna vilket kan förklara dess ökade popularitet över de andra kontrollfrågorna.

5.3 Slutsats Utifrån denna analys kan detta arbetets frågeställning besvaras. Denna frågeställning är: Är det möjligt att procedurellt generera både giltiga och underhållande racerbanor för Formel 1 racingspel genom användandet av modifierade Voronoi diagram och self-avoiding random walk. Går det även att identifiera tillfredsställande parametervärden i mån av underhållningsvärde? Faktumet att denna procedurella metod kan användas vid konstruktionen av procedurella racerbanor ämnade för datorspel inom Formel 1 är fastställt.

44

Vidare visar experimentet att en stor del av svarspersoner inom genren finner procedurella racerbanor underhållande även i kontrast till riktiga racerbanor. Detta visar därmed att denna metod är lämplig för konstruktionen av procedurella Formel 1 racerbanor. Utöver detta har detta arbete funnit förbättringspotentialer för de dynamiska parametrar denna metod bygger utifrån. En modifiering av dessa parametrar teoretiseras därmed kunna skapa mer underhållande racerbanor.

Utifrån den utförda undersökningen kan artefaktens gynnsamma parametervärden till stor del fastställas. Den dynamiska parametern Complexity-Ratio påvisas ge en genererad racerbana större underhållningsvärde då den har ett värde på 6.25 punkter/km2. Detta stämmer väl överens med uppsatt hypotes där teorin bakom detta värde var att varierade racerbanor med godtyckligt antal svängar skapas.

Intervallet Min-Curve och Max-Curve bör enligt resultatet ha ett värde på 0.5 till 1 för ett gynnsamt underhållningsvärde. Detta stämde inte överens med uppsatt hypotes där intervallet 0 till 1 förväntades vara mest populärt. Anledningen till att detta intervall förväntades vara mest populärt var för att det skapar mest variation i skapandeprocessen. Den slutsats som dras är att intervallet 0.5 till 1 föredrogs för att racerbanor med varierad men konstant relativt utslätad form är mest underhållande.

Slutsatsen för den sista dynamiska parametern Control-Point-Length är att ett värde mellan 0.075 och 0.2 är det mest gynnsamma. Detta då resultatet inte pekade på ett specifikt alternativ utan snarare på en jämvikt mellan värdet 0.075 och värdet 0.2. Detta stämmer inte överens med uppsatt hypotes där värdet 0.075 förväntades vara mest populärt. Dessa frågor utgick däremot utifrån ett intervall av 0 till 1 för Min-Curve och Max-Curve vilket har fastställt vara ett sämre intervall än 0.5 till 1 i mån av underhållning. Därav kan ett annat intervall på Min-Curve och Max-Curve medföra att andra värden av Control-Point-Length ger andra underhållningsvärden än det denna undersökning har fastställt. Slutsatsen som kan dras är att svarspersoner föredrar mer utslätade racerbanor jämfört med uppsatt hypotes.

45

6 Avslutande diskussion

6.1 Sammanfattning Målet med detta arbete var att undersöka om det är möjligt att procedurellt generera både giltiga och underhållande racerbanor för Formel 1 racingspel genom användandet av modifierade Voronoi diagram och self-avoiding random walk. För att möjliggöra detta producerades en artefakt som procedurellt genererade giltiga track maps enligt uppsatta regler av Fédération Internationale de L'Automobile gällande Formel 1 (Fédération Internationale de L'Automobile, 2020b).

Vid generering börjar artefakten med att generera en bounding box som definierar racerbanans maximala utrymme. Inom denna bounding box placeras ett antal punkter slumpmässigt ut. Dessa punkter används därefter för att generera en Delaunay triangulerad graf med hjälp av Bowyer-Watson algoritmen och ett Voronoi diagram genereras utifrån denna graf, där oändliga kanter ignoreras. Voronoi diagramets noder används slutgiltigen för att generera racerbanan med hjälp av en modifierad self-avoiding random walk algoritm.

Denna artefakt användes därefter som bas inom utförandet av ett experiment där underhållningsvärdet för artefakten undersöks. Experimentet utfördes med hjälp av två enkäter som gavs ut till kunniga individer inom datorspelsgenren. Enkäterna var en kvalitativ undersökning kring det upplevda underhållningsvärdet hos artefaktsgenererade racerbansdesigner, varav den ena enkäten bestod av slumpmässigt utvalda track maps och den andra av manuellt utvalda track maps.

Enkäterna innehöll frågor där svarspersonerna kunde välja utifrån flera alternativ som exemplifierar och betonar artefaktens olika dynamiska parametrar, det vill säga en faktor för experimentet (Wohlin m.fl., 2012), utifrån dess unika egenskaper. Svarspersonernas uppgift var att, för varje fråga, välja det alternativ (racerbana) som de tror skulle vara mest underhållande att köra. Detta i syfte att isolera effekten av varje parameter så gott som möjligt och erhålla ett resultat som är representativt för de undersökta parametrarna i en isolerad kontext. Enkäterna innehöll även frågor där artefaktgenererade racerbanor jämfördes med kontrollbanor. Dessa frågor bestod av två alternativ som är artefaktsgenererade racerbanor och ett alternativ som är en kontrollbana. Detta för att undersöka huruvida artefaktsgenererade racerbanor jämför sig till riktiga racerbanor enligt deltagarnas preferens. Vad varje individuell fråga undersökte förmedlades ej till svarspersonerna.

Genom detta experiment fastställdes det att det är möjligt att procedurellt generera racerbanor av licensgrad 1 som är underhållande med denna implementationsmetod. Vidare visar resultaten från enkäterna att en stor del av svarspersonerna finner artefaktens procedurella racerbanor underhållande, även i kontrast till riktiga racerbanor. Arbetet har även fastställt gynnsamma värden för artefaktens dynamiska parametrar i mån av ökad underhållning. Slutsatsen är att parametern Complexity-Ratio bör ha värdet 6.25 punkter/km2, Min-Curve och Max-Curve intervallet 0.5 till 1 och Control-Point-Length ett värde mellan 0.075 och 0.2.

46

6.2 Diskussion Detta arbetes slutsats bygger på konstruktionen av track maps för evalueringen av artefaktens underhållningsvärde. Svarspersonerna i undersökningen har observerat dessa track maps och utifrån detta tolkat varje racerbanas underhållningsvärde. Detta innebär att enkäternas deltagare aldrig körde på racerbanorna. Vidare saknar denna visualiseringen av racerbanor vitala delar av racerbanans natur vilka spelar in i racerbanors underhållningsvärde. Exempel på sådana aspekter är höjdskillnader, camber (välvning), underlag, med mera. Cambers inverkan i en racerbanas underhållningsvärde går att se vid utformningen av Mugello Circuit. Mugello Circuit besitter en udda välvad första sväng vilket skapar flertalet möjliga racing linjer racerbilar kan ta. Detta som följd skapar fler omkörningsmöjligheter och därmed underhållning (Williams-Smith, 2020).

Denna simplifiering av racerbanorna gjordes då den procedurella processen inte tar höjdskillnader, camber, underlag, med mera i beaktning då den skapar racerbanor. Med detta kan denna undersöknings slutsats enbart representera utformningen av racerbanorna för denna procedurella process. En risk med detta tillvägagångssätt är att om svarspersoner känner igen kontrollbanorna besitter de mer information än de procedurella racerbanorna. I och med en igenkännelse faller höjdskillnader, camber, underlag, med mera in i svarspersonernas beaktning vid evalueringen trots att denna information inte finns tillgänglig i själva undersökning.

Med detta sagt kände flertalet av svarspersonerna igen kontrollbanor i undersökningen. Flertalet personer kontaktade skribenterna av denna rapport efter de hade utfört undersökningen med kommentarer av igenkännelse för flera racerbanor. Vissa av dessa kommentarer uttryckte även hur racerbanor som kändes igen valdes specifikt för att de kändes igen snarare än baserat på dess underhållningsvärde. Dessa kommentarer kan inte ses som en del av resultatet då de står utanför undersökningsmiljön. Det är dock värt att nämna då detta skulle innebära en viss favorisering av kontrollbanor. Trots denna risk visar slutsatsen att artefaktgenererade racerbanor fortfarande konkurrerar de riktiga racerbanorna inom undersökningen.

Ytterligare aspekter av hur undersökningen utfördes bör diskuteras. Den utförda undersökning fann att många av de dynamiska parametrarna bör ha andra värden för ett högre underhållningsvärde. De frågor som ämnade att jämföra de artefaktgenererade racerbanorna med kontrollbanor använde därav värden enligt uppsatt hypotes på dess dynamiska parametrar. Denna risken med undersökningen upptäcktes inte vid genomförandet av pilotstudien då alla förväntade alternativ också stämde överens med faktiskt resultat. Faktumet att denna pilotstudie inte besvarades av kunniga inom genren kan ha medfört dessa avvikelser mellan pilotstudie och slutgiltig undersökning. Hade snarare två distinkta undersökningar utförts hade detta problem undvikts. Först genom distribueringen av en enkät som ämnar att undersöka de dynamiska parametrarna. Utifrån denna enkät kan gynnsamma parametervärden fastställas och möjliggör därmed konstruktionen av en andra enkät som ämnar att undersöka artefaktgenererade racerbanors underhållningsvärde jämfört med kontrollbanor.

Vidare medför utformningen av enkäterna en möjlighet för partiskhet hos svarspersonerna. Detta genom hur de olika frågorna är upplagda. Alla frågor i varje delområde i enkäterna (förrutom frågor som undersöker kontrollbanor) har samma struktur vilket medför att vissa alternativ potentiellt kan väljas oftare än andra enbart baserat på vilken ordning de

47

presenteras. Hade snarare alternativen för varje fråga placerats ut slumpmässigt hade denna potentiella risk undvikits. Denna sorts eventuella partiskhet hos deltagarna beroende på enkäternas struktur innebär därmed ett forskningsetiskt problem för arbetet.

Den procedurella process detta arbete har beskrivit och undersökt har potential i flertalet aspekter utanför detta arbetes omfattning. I kortsiktig syn kan denna implementationsmetod användas som utgångspunkt för sätt att procedurellt skapa racerbanor i datorspel som alternativ till evolutionära metoder. Detta möjliggör därmed för ökat innehåll i racingspel då racerbanor kan skapas procedurellt snarare än av speldesigners. I den procedurella metodens nuvarande skick finns inte denna funktionalitet men detta arbete ämnar att sätta grunden för implementationsmetoder som använder Voronoi diagram för skapandet av procedurella racerbanor.

Vidare kan denna process användas som ett designverktyg vid konstruktionen av virtuella eller fysiska racerbanor. Detta genom ett inspirationsverktyg där godtagbara Formel 1 racerbanor kan tas fram och forma basen till en människodesignad racerbana. Användandet av datorprogram för att skapa, eller modifiera, designade racerbanor är inget okänt till Formel 1. Formen av både Hanoi Street Circuit och en ny racerbana i Saudi Arabien, som båda är ämnade för Formel 1, har modifierats efter det att en artificiell intelligens (AI) hade granskat dem. Denna AI baserar sina förändringsförslag av racerbanans design på racedata, simulationsdata och reaktionsdata från fans till sporten med mål att skapa underhållande racerbanor (Williams-Smith, 2020). På liknande sätt kan därmed versioner av detta arbetes algoritm användas som utgångspunkt för konstruktionen av en designad racerbana.

En risk som uppstår vid ökad användning av procedurella metoder är att behovet av grafiker och designers inom datorspelsbranschen kan börja minska då mindre manuellt arbete behöver utföras. Ett annat perspektiv är snarare att behovet kommer förbli den samma då grafiker och designers möjliggörs kunna jobba på någon annan del av spelets utveckling och frigörs därmed från det tidskonsumerande arbete som en PCG nu utför istället. En ytterligare syn på användandet av PCG:er inom datorspelsproduktion är att de kan användas som ett verktyg för grafiker och designers snarare än något som ersätter dem.

Detta arbete har arbetat utifrån åtskilliga grundkällor som i största grad definierar detta arbetes metod och analys av resultat. Dessa källor står därav för en stor del av skapandet och tolkningen av artefakten och dess undersöknings korresponderande analys. Konstruktionen av artefakten var strikt bunden till de regler som Federation Internationale de L'Automobile har definierade (Fédération Internationale de L'Automobile, 2020b). Dessa regler relaterar till en Formel 1 racerbanas giltiga design och konstruktion. Vidare baseras analysen av undersökningens resultat på Surarerks & Kostrajaras (2016) och Loiacono m.fl. (2011) arbeten. Dessa arbeten gav två perspektiv på vilka aspekter av en racerbanas design som medför ökad underhållningsvärde. Därav kunde dessa arbeten användas för att sätta upp hypoteser samt tolka underhållningsvärdet hos de racerbanor artefakten producerade.

6.3 Framtida arbete Om arbetet hade gjorts om eller om det efterliknas i framtiden så bör de tidigare nämnda forskningsetiska problem uppmärksammas och elimineras. Detta skulle innebära slumpmässig ordning för alla frågor i enkäterna för att undvika att vissa alternativ väljs oftare än andra enbart baserad på ordning. Den mest naturliga fortsättningen av detta arbete skulle vara att göra denna algoritm mer komplex och därmed mer flexibel. I detta arbete stödjer

48

algoritmen enbart skapandet av track maps och inte riktiga tredimensionella racerbanor. Därmed finns det i nuläget inget stöd för höjdskillnader, camber eller underlag vilka alla kan påverka racerbanans slutgiltiga underhållningsvärde. En vidareutveckling av processen skulle därmed möjliggöra för bättre undersökningsmöjligheter att jämföra riktiga racerbanor med artefaktgenererade racerbanor. I och med detta skulle även en fysiksimulator kunna konstrueras för att låta testpersoner köra racerbanorna och bilda en egen uppfattning av racerbanan på ett mer direkt sätt.

En annan riktning detta projekt skulle kunna ta är att vidga undersökningsområdet eller byta det helt. Mer specifikt behöver inte enbart Formel 1 racerbanor undersökas utan andra sorters racing också. På samma sätt skulle artefaktens parameterar kunna ändras för att möjliggöra för konstruktionen av racerbanor, till exempel rally, som har andra förutsättningar och regler än Formel 1. Möjligheten att denna metod inte är lämpad för alla sorters racerbanor som skulle kunna genereras, eller att den är mer eller mindre lämpad för ett visst område är något som bör undersökas. Skulle andra sorters racing undersökas skulle därmed definitionen av statiska och dynamiska parametrar för artefakten omdefinieras. Detta då många statiska variabler är inställda specifikt för Formel 1. Skulle artefakten snarare användas för rally skulle dessa kunna beaktas som dynamiska. Detta möjliggör därmed för undersökningen av dessa sorters parametrar och deras underhållningsvärde.

En annan intressant aspekt som denna rapport inte har tagit upp alls är hur denna metod skulle jämföra sig mot andra sätt att procedurellt generera racerbanor. Många andra metoder för detta ändamål använder sig av genetiska funktioner vilket denna rapports process inte gör. Exempel på forskning som rör dessa sorters genetiska processer har gjorts av Maulidevi (2016) och Togelius, De Nardi & Lucas (2007). En jämförelse av deras metoder och detta arbetes metod för generering av racerbanor kan ge insikt i vilka algoritmer som är mest lämpade för specifika ändamål. Aspekter som skulle kunna undersökas är: komplexitet, flexibilitet och kontrollerbarhet.

I ett större perspektiv kan den metod som använts för konstruktionen av artefakten användas till andra ändamål. Exempel på sådana ändamål skulle kunna vara skapandet av designer för nivåer inom datorspel, stadsplanering, mönster eller floder. Detta både virtuellt och för bruk i verkligheten. För att kunna undersöka sådana sorters ändamål skulle enbart vissa aspekter av detta arbetes artefakt behöva förändras. Specifikt är då de olika begränsningar som är uppsatta för att följa regelverket för giltiga Formel 1 racerbanor inte längre nödvändiga. Vidare kan implementationens sista steg (additionen av mållinje och färdriktning) tas bort eller modifieras då den enbart är applicerbar till racerbanor.

Artefaktens tillvägagångssätt för avmjukning av racerbanors svängar var användningen av kubiska Bézierkurvor. Detta tillvägagångssätt bidrar med ett distinkt utseende till denna typ av kurvor och ger även en stor påverkan på racerbanors utseende. På grund av detta skulle andra typer av matematiska polynomen eller kurvor potentiellt ge ett annat utseende. Detta skulle kunna motverka de brister som existerar i nuvarande implementation och potentiellt bidra till bättre racerbansdesigner som helhet.

49

Referenser

Akenine-Moller, T., Haines, E. & Hoffman, N. (2008). Real-Time Rendering 3rd Edition. Natick, Massachusetts: A.K. Peters, Ltd., ss. 116.

Antonio, F. (2012). FASTER LINE SEGMENT INTERSECTION. I Kirk, D. (red.) Graphics Gems III (IBM Version): Ibm Version. Elsevier, ss. 199-202.

Cohen, L., Manion, L. & Morrison, K. (2018). Research Methods in Education Eighth edition. New York: Routledge, 2018, ss. 471-505.

Dalstein, B., Ronfard, R. & Panne, M. (2015). Vector Graphics Animation with Time-Varying Topology. Alexa, M. (red.). ACM Transactions on Graphics, 34(4). doi:10.1145/2766913

Discord. 2015. Discord Inc. Version: 81329. Tillgänglig på Internet: https://discord.com/ [datorprogram]

Ejvegård, R. (2009) Vetenskaplig metod. 4. uppl. Studentlitteratur.

Elite (1984). Acornsoft, Firebird & Imagineer. [datorprogram]

F1 2020 (2020). Codemasters. Version: 1.15. Tillgänglig på Internet: https://www.codemasters.com/game/f1-2020/ [datorprogram]

Fédération Internationale de L'Automobile (2020a). 2021 FORMULA ONE SPORTING REGULATIONS. Tillgänglig på Internet: https://www.fia.com/regulations

Fédération Internationale de L'Automobile (2020b). APPENDIX O TO THE INTERNATIONAL SPORTING CODE. Tillgänglig på Internet: https://www.fia.com/regulations

Fédération Internationale de L'Automobile. (2019). fia_circuit_list_template_2019. Tillgänglig på Internet: https://www.fia.com/sites/default/files/fia_circuit_list_template_2019.pdf

Fédération Internationale de L'Automobile. (2020c). LIST OF FIA LICENSED CIRCUITS. Tillgänglig på Internet: https://www.fia.com/sites/default/files/circuits_fia20200302.pdf

GeoGebra. u.å. GeoGebra. [online] Tillgänglig på Internet: https://www.geogebra.org/app [2021-02-09]

George, P.L. & Borouchaki, H. (1998). Delaunay Triangulation and Meshing. Paris: Hermès. ss. 18-19, 35-36.

Guibas, L. & Stolfi, J. (1983). Primitives for the Manipulation of General Subdivisions and the Computation of Voronoi Diagrams. ACM Transactions on Graphics, 4(2), ss. 221-234. doi: 10.1145/282918.282923

Hendrikx, M., Meijer, S., Van Der Velden, J. & Iosup, A. (2013). Procedural Content Generation for Games: A Survey. ACM Transactions on Multimedia Computing, Communications, and Applications, 9(1). doi: 10.1145/2422956.2422957

50

Hobby, D.J. (1986). Smooth, easy to compute interpolating splines. Discrete & Computational Geometry, 1, ss. 123-140. doi: 10.1007/BF02187690 iRacing (2008). iRacing.com Motorsport Simulations, iRacing. Version: 2020.12.10.01. Tillgänglig på Internet: https://www.iracing.com/ [datorprogram]

Jamieson, S. (2004). Likert scales: how to (ab)use them. Medical Education, 38(12), ss. 1212– 1218. doi: 10.1111/j.1365-2929.2004.02012.x

Kamermans, M. (2020). A Primer on Bézier Curves. https://pomax.github.io/bezierinfo/ [2021-02-09]

Koster, R. (2004). A Theory of Fun for Game Design. Sebastopol, California: O’Reilly. ss. 40- 44.

Lague, S. (2018). [Unity] 2D Curve Editor (E03: closed path and auto-controls) [video]. https://www.youtube.com/watch?v=nNmFLWup4_k&t=456s [2021-04-02]

Lind, R. (2014). Vidga vetandet: en introduktion till samhällsvetenskaplig forskning. 1. uppl. Studentlitteratur.

Lindström, P. (2005). Bezierkurvor. Umeå: Umeå Universitet. Tillgänglig på Internet: http://www8.cs.umu.se/kurser/TDBB19/VT05/OH-bilder/Bezier.pdf [2021-02-09]

Loiacono, D., Cardamone, L. & Lanzi, P. L. (2011). Automatic Track Generation for High-End Racing Games Using Evolutionary Computation. IEEE Transactions on Computational Intelligence and AI in Games, 3(3). doi: 10.1109/TCIAIG.2011.2163692

Malone, T. (1980). What Makes Things Fun to Learn? Heuristics for Designing Instructional Computer Games. Proceedings of the 3rd ACM SIGSMALL Symposium and the First SIGPC Symposium on Small Systems, ss. 162-169. doi: 10.1145/800088.802839

Minecraft (2011). Mojang, Microsoft Studios & Sony Interactive Entertainment. Version: 1.16. Tillgänglig på Internet: https://www.minecraft.net/ [datorprogram]

Prasetya, H. A. & Maulidevi, N. U. (2016). Search-based Proceudral Content Generation for Race Tracks in Video Games. International Journal on Electrical Engineering and Informatics, 8(4), ss. 775-787. doi:10.15676/ijeei.2016.8.4.6

Racecraft (2016). Sandbox Games. Tillänglig på Internet: http://playracecraft.com/ [datorprogram]

Garattoni, L. (2015). Procedural engine for sim racing track generation: The basic roadmap. Racecraft [blogg], 14 juli. http://playracecraft.com/procedural-engine-for-sim-racing-track- generation-the-basic-roadmap/ [2020-08-17]

Rebay, S. (1993). Efficient Unstructured Mesh Generation by Means of Delaunay Triangulation and Bowyer-Watson Algorithm. Journal of Computational Physics, 106(1), ss. 125-138. doi:10.1006/jcph.1993.1097

Rehmann, U. (2020). Random Walk. Encyclopedia of Mathematics: Springer, The European Mathematical Society. Tillgänglig på Internet:

51

https://encyclopediaofmath.org/index.php?title=Random_walk&oldid=48429. [2021-02- 05]

SFS 2003:460. Lag om etikprövning av forskning som avser människor. Stockholm: Utbildningsdepartementet.

SFS 2018:218. Lag med kompletterande bestämmelser till EU:s dataskyddsförordning. Stockholm: Justitiedepartementet L6.

Shaker, N., Togelius, J. & Nelson, M. (2016). Procedural Content generation in Games. Switzerland, Cham: Springer International Publishing AG. ss. 1, 7-9.

Sky Sports (2021). Grand Prix A - Z. London: Sky Campus. https://www.skysports.com/f1/stats/races/gp-listing

Slade, G. (1994). Self-Avoiding Walks. The Mathematical Intelligencer, 16(1), ss. 29-35. doi:10.1007/BF03026612

Surarerks, D. & Kotrajaras, V. (2016). Finding the relationship between racing track’s properties and its enjoyment and difficulty for experienced and inexperienced players. 2016 13th International Conference on Electrical Engineering/Electronics, Computer, Telecommunications and Information Technology (ECTI-CON), ss. 1-5. doi: 10.1109/ECTICon.2016.7561266

Togelius, J., De Nardi, R. & Lucas, S. M. (2007). Towards automatic personalised content creation for racing games. 2007 IEEE Symposium on Computational Intelligence and Games, ss. 252-256. doi:10.1109/CIG.2007.368106

Unity Technologies (2004). Unity (version: 2020.1.11f1) [mjukvara].

Weisstein, W.E. u.å. B-Spline. Tillgänglig på Internet: https://mathworld.wolfram.com/B- Spline.html [2021-06-08]

West, D. B. (2001). Introduction to Graph Theory. 2. uppl. Singapore: Pearson Education, Inc. ss. 1.

Williams-Smith, J. (2020). F1 circuits designed by AI: fan opinions & stats shape new tracks. Motor Sport, 6 oktober. https://www.motorsportmagazine.com/articles/single- seaters/f1/f1s-data-revolution-how-fan-opinions-stats-will-shape-future-circuits

Wohlin, C., Wesslén, A., Runeson, P., Höst, M., Regnell, B. & Ohlsson, M. C. (2012). Experimentation in Software Engineering. Berlin: Springer.

Yagel, R. (1991). The Flipping Cube: A Device for Rotating 3D Rasters. I Kaufman, A. (red.). Eurographics Workshop on Graphics Hardware. The Eurographics Association. ss. 86-99. doi:10.2312/EGGH/EGGH91/086-099

52

Appendix A - Formel 1 racerbanor data

Figur 49 Information om licensgrad 1 racerbanor (Fédération Internationale de L'Automobile, 2020c). De racerbanor som valts ut för kontrollfrågor är markerade.

I

Appendix B - Artefakt racerbanor data

Figur 37 visar förhållandet de skapta racerbanornas egenskaper förhåller sig till för olika värden av Complexity-Ratio. Ett ökat värde av Complexity-Ratio ökar antalet svängar en arbiträr racerbana kommer få. För att ta fram dessa värden skapades 5000 olika racerbanor för varje värde av Complexity-Ratio och dessa jämfördes mot varandra.

Figur 50 Beräknad data från flertalet skapta racerbanor i artefakten för olika värden av den dynamiska parametern Complexity-Ratio

II

Appendix C - Slumpmässig enkät

III

IV

V

VI

VII

VIII

IX

X

XI

XII

XIII

XIV

XV

XVI

XVII

XVIII

XIX

XX

XXI

Appendix D - Utvalt Enkät

XXII

XXIII

XXIV

XXV

XXVI

XXVII

XXVIII

XXIX

XXX

XXXI

XXXII

XXXIII

XXXIV

XXXV

XXXVI

XXXVII

XXXVIII

Appendix E - Tolkning av enkäter

Då svarspersonerna för enkäterna inte ska veta exakt vad som undersöks för varje delfråga framgår detta inte i enkäterna. Därav presenterar Figur 51 och 52 vad varje specifik delfråga undersöker samt de värden som varje dynamisk parameter erhåller. Detta för att möjliggöra korrekt tolkning av resultatet. Varje alternativ för fråga 1 till 6 för varje enkät har olika värden på den dynamisk parameter som undersöks. Detta framgår i Alt kolumnerna. Övriga dynamiska parametrar har standardvärden som tidigare har nämnts. För fråga 7 till 9 har alla dynamiska parametrar standardvärden för artefaktskapade racerbanor. Ett alternativ för var och en av dessa frågor är en kontrollbana.

Figur 51 Struktur av enkäten med slumpmässigt utvalda racerbanor (Appendix C).

Figur 52 Struktur av enkäten med manuellt utvalda racerbanor (Appendix D).

XXXIX

Appendix F - Resultat

Denna appendix utgör resultatet erhållet från genomförandet av enkäterna vilka går att se i Appendix C & D. Figur 53-70 skildrar svarsdistributionen för varje fråga i båda enkäterna. Detta genom cirkeldiagram uppdelade efter det som skiljer alternativen åt.

Figur 53 Resultatet från fråga 1 i slumpmässigt utformad enkät (Appendix C) representerat i ett cirkeldiagram. Det enda som skiljer alternativen åt är dess Complexity-Ratio.

Figur 54 Resultatet från fråga 2 i slumpmässigt utformad enkät (Appendix C) representerat i ett cirkeldiagram. Det enda som skiljer alternativen åt är dess Complexity-Ratio.

XL

Figur 55 Resultatet från fråga 3 i slumpmässigt utformad enkät (Appendix C) representerat i ett cirkeldiagram. Det enda som skiljer alternativen åt är dess olika värden på Min-Curve och Max-Curve.

Figur 56 Resultatet från fråga 4 i slumpmässigt utformad enkät (Appendix C) representerat i ett cirkeldiagram. Det enda som skiljer alternativen åt är dess olika värden på Min-Curve och Max-Curve.

Figur 57 Resultatet från fråga 5 i slumpmässigt utformad enkät (Appendix C) representerat i ett cirkeldiagram. Det enda som skiljer alternativen åt är dess olika värden på Control-Point-Length.

XLI

Figur 58 Resultatet från fråga 6 i slumpmässigt utformad enkät (Appendix C) representerat i ett cirkeldiagram. Det enda som skiljer alternativen åt är dess olika värden på Control-Point-Length.

Figur 59 Resultatet från fråga 7 i slumpmässigt utformad enkät (Appendix C) representerat i ett cirkeldiagram. Alternativen innefattar Fuji Speedway samt två artefaktgenererade racerbanor.

Figur 60 Resultatet från fråga 8 i slumpmässigt utformad enkät (Appendix C) representerat i ett cirkeldiagram. Alternativen innefattar Kuwait Motor Town samt två artefaktgenererade racerbanor.

XLII

Figur 61 Resultatet från fråga 9 i slumpmässigt utformad enkät (Appendix C) representerat i ett cirkeldiagram. Alternativen innefattar Losail International Circuit samt två artefaktgenererade racerbanor.

Figur 62 Resultatet från fråga 1 i utvald utformad enkät (Appendix D) representerat i ett cirkeldiagram. Det enda som skiljer alternativen åt är dess Complexity-Ratio.

Figur 63 Resultatet från fråga 2 i utvald utformad enkät (Appendix D) representerat i ett cirkeldiagram. Det enda som skiljer alternativen åt är dess Complexity-Ratio.

XLIII

Figur 64 Resultatet från fråga 3 i utvald utformad enkät (Appendix D) representerat i ett cirkeldiagram. Det enda som skiljer alternativen åt är dess olika värden på Min-Curve och Max-Curve.

Figur 65 Resultatet från fråga 4 i utvald utformad enkät (Appendix D) representerat i ett cirkeldiagram. Det enda som skiljer alternativen åt är dess olika värden på Min-Curve och Max-Curve.

Figur 66 Resultatet från fråga 5 i utvald utformad enkät (Appendix D) representerat i ett cirkeldiagram. Det enda som skiljer alternativen åt är dess olika värden på Control-Point-Length.

XLIV

Figur 67 Resultatet från fråga 6 i utvald utformad enkät (Appendix D) representerat i ett cirkeldiagram. Det enda som skiljer alternativen åt är dess olika värden på Control-Point-Length.

Figur 68 Resultatet från fråga 7 i utvald utformad enkät (Appendix D) representerat i ett cirkeldiagram. Alternativen innefattar Fuji Speedway samt två artefaktgenererade racerbanor.

Figur 69 Resultatet från fråga 8 i utvald utformad enkät (Appendix D) representerat i ett cirkeldiagram. Alternativen innefattar Kuwait Motor Town samt två artefaktgenererade racerbanor.

XLV

Figur 70 Resultatet från fråga 9 i utvald utformad enkät (Appendix D) representerat i ett cirkeldiagram. Alternativen innefattar Losail International Circuit samt två artefaktgenererade racerbanor.

XLVI