Artificiell
intelligens i spel
En redogörelse
Björn Larsson
871210-4036
bjola054
729G11
Artificiell intelligens
729G11
Fördjupningsuppgift
Artificiell intelligens i spel
Björn Larsson 871210-4036
[email protected]
Sammanfattning
Under år 2007 omsatte den svenska tv- och datorspelsmarknaden 2,3 miljarder kronor
(nyteknik.se). Vi bygger våra egna städer, räddar världen från undergång, slåss mot drakar
och tar hand om vår egenskapade familj. Allt i datorns värld. Det finns många delar i ett spel
som måste fungera för att sådant ska vara möjligt. Bland annat måste vi se och höra saker vi
finner trovärdiga, men vi måste också kunna interagera med världen och kunna påverka
den. En av de aspekter inom spelutveckling som gör det möjligt är användandet av artificiell
intelligens.
I följande redogörelse presenterar jag några av de tekniker som används idag för att skapa
beteende och händelser i spel genom artificiell intelligens. Vilka metoder jag valt att ta upp
är godtyckligt och helt baserat på eget intresse. Några av de mest klassiska spelen kommer
även presenteras, tillsammans med vilka tekniker som användes för att skapa dem.
Sida 2
Artificiell intelligens
729G11
Fördjupningsuppgift
Artificiell intelligens i spel
Björn Larsson 871210-4036
[email protected]
Innehållsförteckning
Sammanfattning ................................................................................................................................2
Figurförteckning................................................................................................................................. 3
Förklaring av termer .......................................................................................................................... 4
Introduktion .......................................................................................................................................5
Om artificiell intelligens ..................................................................................................................5
Spelhistoria och den artificiella intelligensens roll ..........................................................................5
Metoder för artificiell intelligens i spel ................................................................................................ 7
Deterministisk artificiell intelligens................................................................................................. 7
Blackboard-arkitekturer ............................................................................................................. 7
Icke-deterministisk artificiell intelligens ....................................................................................... 10
Genetiska algoritmer ................................................................................................................ 10
Neurala nät ............................................................................................................................... 13
Deterministisk A.I vs. Icke-deterministisk A.I ................................................................................ 14
Fuskande artificiell intelligens....................................................................................................... 14
Spels artificiella intelligens i framtiden ............................................................................................. 16
Referenser ........................................................................................................................................ 18
Litteratur ...................................................................................................................................... 18
Figurreferenser ............................................................................................................................. 18
Spelreferenser .............................................................................................................................. 18
Internetreferenser ........................................................................................................................ 18
Figurförteckning
Figur 1 – Uppdaterad blackboard-arkitektur. ..................................................................................... 8
Figur 2 – Blackboard-arkitektur med experter, blackboard och arbiter. ............................................. 8
Figur 3 – Enkel finit-state-maskin för en flock djur. ............................................................................ 9
Figur 4 – Evolutionsprocess för genetiska algoritmer. ...................................................................... 11
Figur 5 – Exempel på neuralt nät. ..................................................................................................... 13
Sida 3
Artificiell intelligens
729G11
Fördjupningsuppgift
Artificiell intelligens i spel
Björn Larsson 871210-4036
[email protected]
Förklaring av termer
I följande uppsats kommer ett antal termer att användas för att underlätta för läsaren.
Dessa är;


NPC; Non-player Character. Detta syftar till karaktärer och individer i spel som är
styrda av datorn och därför kräver någonsorts artificiell intelligens för att kunna
agera och bete sig i spelvärlden.
Spelare; Spelaren syftar till den människa som spelar spelet.
Sida 4
Artificiell intelligens
729G11
Fördjupningsuppgift
Artificiell intelligens i spel
Björn Larsson 871210-4036
[email protected]
Introduktion
Den grundläggande introduktion som följer nedan innefattar en mycket kortfattade
förklaring av vad artificiell intelligens är, eller A.I, om tv- och datorspels historia och
funktion samt vad artficiell intelligens används till i dem.
Om artificiell intelligens
Artificiell intelligens är en relativt ny vetenskap och kan i enkla ord beskrivas som ett
vetenskapsfält som ämnar förstå och skapa intelligenta agenter – det vill säga maskiner,
datorer eller datorprogram som är intelligenta (Russel & Norvig, 2003). En sådan vid
definition leder dock vidare till frågan ”vad är intelligens då?”. Enligt Russel & Norvig finns
det fyra olika egenskaper hos system som, om de innehar någon av dessa fyra egenskaper,
kan sägas vara intelligenta. Dessa fyra är; [1] system som tänker som människor, [2] system
som beter sig som människor, [3] system som tänker rationellt och slutligen [4] system som
beter sig rationellt. (Russel & Norvig, 2003). Ett system som beter sig som en människa
skulle därmed kunna kallas intelligent enligt[2].
Det sägs även finnas två olika sorters artificiell intelligens; svag och stark. Svag A.I, eller
ibland applicerad A.I, beskrivs av John Searle, som myntade begreppet, som den A.I en
maskin visar upp när den behandlar information utan att egentligen förstå den. En sorts
mekanisk informationsbehandling om man så vill. Stark A.I är motsatsen där till exempel en
dator faktiskt kan förstå den information som behandlas – likt oss människor (Searle, 1980).
1950 introducerade Alan Turing Turingtestet, vilket användes för att avgöra huruvida något
var intelligent eller inte. Istället för att lista alla egenskaper som definierade intelligens
föreslog Turing att man istället kunde genomföra ett test där en människa ställde skrivna
frågor och om han inte kunde avgöra huruvida svaren var skrivna av en människa eller en
dator så var datorn intelligent (Russel & Norvig, 2003).
Spelhistoria och den artificiella intelligensens roll
En vida spridd åsikt är att dator- och tvspel endast fyller en underhållningsfunktion – en
uppfattning som inte delas av alla. Raph Koster skriver i boken A theory of fun for game
design (2005) att de inte alls är begränsade till denna enda funktion, utan menar att spel,
som visserligen strävar efter att vara underhållande, är ett viktigt inlärningsverktyg som
mycket väl kan jämställas med till exempel att läsa böcker. Det ena skall självklart inte
utesluta det andra, speciellt då att läsa böcker och att spela spel inte utvecklar samma
mentala och fysiska förmågor, men att därmed reducera spel till endast underhållning anser
Koster vara fel (Koster, 2005). Spel och lekar är något som funnits sedan urminnes tider och
inte bara hos människan. Två lejonungar som leker genom att brottas med varandra är en
självklar del i den övning och förberedelse de behöver för att bland annat senare kunna jaga
och försvara sig. Lek är något som oftast förknippas med barn och unga åldrar men det är
inte heller helt sant. En grupp vuxna som går och bowlar kan mycket väl ses som en lek även
det. Poängen är att spel är lek och lek är utvecklande, oavsett ålder och oavsett om det sker
framför datorn, i en bowlinghall eller på en savann (Koster, 2005).
Sida 5
Artificiell intelligens
729G11
Fördjupningsuppgift
Artificiell intelligens i spel
Björn Larsson 871210-4036
[email protected]
I dator- och tv-spel – lek – förekommer artificiell intelligens av flera olika anledningar. En
skäl kan vara att skapa en trovärdig värld som för spelaren är intressant och väcker
nyfikenhet. Nästan alla spel är idag kommersiella produkter och vinstsyftet gör därför att
allt som ger fördelar gentemot konkurrenter är värdefullt. Med dagens kunskap och teknik
är det fullt möjligt att skapa skogar, öknar, hav och andra miljöer med både djur- och växtliv
som dels kan uppfattas som dynamiskt men också levande. Detta kan vara en avgörande
faktor för hur spelupplevelsen uppfattas. Det vill säga som intressant och spännande eller
tråkigt och intetsägande.
A.I används även för att skapa utmaningar för spelaren. Det finns många spel som
inkorporerar karaktärer som inte styrs utav spelaren, utan av datorn eller spelkonsollen,
med andra ord NPC:er. Hur dessa rör sig, agerar och uppfattar situationer är en form
artificiell intelligens utvecklad med olika metoder beroende på vilket spel det handlar om
och vilket beteende som vill uppnås. På liknande sätt har A.I även använts för att avgöra hur
allierade kan hjälpa och underlätta för spelaren. Olika karaktärer i olika spel ställer även krav
på olika sorters A.I. Ett rörelsemönster för en datorspelare i ett strategispel är inte likadant
som för en datorspelare i ett förstapersonsspel (så kallat FPS, first person shooter). Detta
eftersom det i det ena fallet ofta handlar om att styra stora grupper av enheter medan det
andra kan handla om endast en individ. Olika uppgifter ställer krav på olika artificiella
intelligenser (Millington, 2006, Rabin, 2002).
Utvecklandet av A.I i spel har gått hand i hand med utvecklandet av själva spelen som den
förekommer i. Under 1970 och 80-talet föddes arkadspel där spelare lade i mynt i en
spelautomat för att spela. Dessa spel var med dagens mått mycket enkla både i grafik,
gränssnitt och artificiell intelligens. Några av de mest klassiska var Pac-man, Space Invaders
och Donkey Kong, spel som alla hade gemensamt att A.I:n drevs av mycket få regler
tillsammans med enkla slumpmässiga beslut för att spelen skulle vara mindre förusägbara
(Rabin, 2002).
Allt eftersom utvecklingeb gick framåt introducerades andra spel med andra lösningar för
att förbättra spelupplevelsen. Bland annat lanserades Warcraft II (Blizzard, 1995) och Age of
Empires 2: The Age of Kings (Ensemble, 1999), båda strategispel i realtid, med utmanande
och till synes ”intelligenta” spelare som styrdes av datorn. Förutom dessa titlar figurerade
även andra milstolpar inom utvecklandet utav mer och mer intelligenta NPC:er – där spelet
Black & White (Lionhead Studios, 2001) var ett av de mest imponerande. Black & White gick
ut på att träna en djurliknande varelse till att göra det du som spelare ville, vilket innebar att
A.I:n fick ta stor plats. Själva grundstenen i spelet gick ut på att spelarens varelse kunde och
skulle lära sig. Detta medförde att en välfungerande artificell intelligens avgjorde huruvida
spelet gick att spela eller inte. Alla spel bygger inte på samma sorts princip. I många spel
förekommer AI för att öka trovärdigheten och förbättra spelupplevelsen och är då inte
direkt avgörande för om spelet ”fungerar” eller inte (Rabin, 2002).
Sida 6
Artificiell intelligens
729G11
Fördjupningsuppgift
Artificiell intelligens i spel
Björn Larsson 871210-4036
[email protected]
Med kunskap om vad A.I är och hur det definieras kan dess roll i dator- och tv-spel förklaras.
Är den artificiella intelligensen som hittas i spel svag eller stark? Svaret är givetvis att den
alltid är svag, vilket även nämns i boken AI for Game Developers av David Bourge och Glenn
Seeman – informationen som behandlas förstås inte utav datorn eller spelet utan utförs
mekaniskt enligt tekniker som kommer att presenteras senare (Bourge & Seeman, 2004).
Metoder för artificiell intelligens i spel
Nedan presenteras ett sätt att mycket övergripande kategorisera spel-A.I. Detta
exemplifieras av några olika tekniker och metoder som används idag, uppdelade enligt den
kategorisering som följer.
Enligt Bourge & Seeman existerar två olika sorters artificiell intelligens i spel –
deterministisk, det vill säga förutbestämd och då förutsägbar, och icke-deterministisk, som
är motsatsen – oförutsägbar och mer slumpmässig (Bourge & Seeman, 2004).
Deterministisk artificiell intelligens
Exempel på deterministisk A.I är den typ av algoritm som användes för att specificera hur
ett spöke i det tidiga arkadspelet Pac-man skulle röra sig och jaga spelarens karaktär på
skärmen. Detta kan enkelt bestämmas genom att låta spöket röra sig mot spelarens
karaktär, eller något annat mål, genom att ta sig fram via x- eller y-axeln. Den
deterministiska A.I:n är sedan länge den mest vanliga då den är enklare att implementera,
billigare och mer simpel att testa, felköra och rätta till (Bourge & Seeman, 2004). Nackdelen
är att sådan A.I är mycket förutsägbar. Har den mänskliga spelaren väl lärt sig ett
rörelsemönster eller ett beteende som utförs av den datoriserade motparten så kommer
spelet troligen uppfattas som enklare då beteendet inte förändrar sig (Bourge & Seeman,
2004). Det finns även en ytterligaren en nackdel då en deterministisk A.I kräver att alla
scenarion och situationer har specificerats och programmerats in i den NPC som ska agera
för att den ska fungera. NPC:n måste veta hur den ska agera i en situation och därför måste
alla situationers agerande vara känt, bestämt och programmerat. Detta ställer i sin tur krav
på mycket arbete ifrån spelutvecklarna (Bourge & Seeman, 2004). Faktiska exempel på
deterministiska metoder är finit-state-machines och regel baserade system.
Blackboard-arkitekturer
När det gäller beslutsfattande inom speldesign kan något användas som kallas för
Blackboard-arkitekturer, vilket kan beskrivas som ett verktyg som koordinerar handlingar
från flera olika beslutstagare. En blackboard-arkitektur består av tre huvudelement; en
uppsättning av olika verktyg för att ta beslut, vanligtvis kallade experter, en blackboard,
liknande en svart krittavla, och en arbiter, vilken kan liknas vid en domare. Blackboarden är
en area av minne vilket experterna, beslutsverktygen, kan använda för att läsa information
från och skriva information till. Enkelt beskrivet kan man säga att en expert tittar på
blackboarden, avgör om det finns någon information som kan använda. Om ja så
efterfrågar experten kontrollen över blackboarden och gör de ändringar han vill och sedan
Sida 7
Artificiell intelligens
729G11
Fördjupningsuppgift
Artificiell intelligens i spel
Björn Larsson 871210-4036
[email protected]
överlåter han kontrollen till andra experter. När en expert gör ändringar skall det noteras att
den information som finns på svarta tavlan troligtvis ändras. Arbitern, eller domaren, är den
som avgör vilken expert som får kontrollen då flera experter kan efterfråga kontrollen
samtidigt. Oftast avgörs detta genom att varje expert berättar för domaren hur användbara
de tror att de kommer vara i en viss situation genom att svara genom ett numeriskt värde.
Den expert med högst värde väljs, och om två eller fler experter har samma värde väljs en
slumpmässigt (Millington, 2006).
Nedan, i figur 1, följer ett exempel på hur en blackboard-arkitektur kan se ut, med ett antal
experter och med information liggandes i den minnesarea som utgör den svarta tavlan,
blackboarden.
Figur 2 – Blackboard-arkitektur med experter, blackboard och arbiter.
I ovanstående figur visas hur en typisk blackboard-arkitektur kan se ut. Vad som går att
utläsa från den information som finns på svarta tavla är att den karaktär som arkitekturen
styr har ammunition av värdet fyra, låt oss säga fyra kulor för enkelhetens skull. Att
karaktären är oskadad (han är healthy), att fienden är siktad och karaktären är gömd. Detta
kan nu följas av ett antal händelser. Till exempel kan flera experter efterfråga kontrollen –
låt säga att arbitern ger kontrollen till smygexperten (Stealth expert) då denne har högst
Figur 1 – Uppdaterad blackboard-arkitektur.
Sida 8
Artificiell intelligens
729G11
Fördjupningsuppgift
Artificiell intelligens i spel
Björn Larsson 871210-4036
[email protected]
värde i hur användbar den bedömmer att den kommer vara i situationen. Till exempel kan
eldvapensexperten (firearms expert) avgöra att det finns för lite ammunition för att skjuta
och bedömmer sig därför som mindre användbar. Smygexperten avgör att det som är bäst
just nu är om karaktären gömmer sig. För enkelhetens skull säger vi även att de andra
experterna håller med i denna bedömning och handlingen utförs. Karaktären gömmer sig
och informationen på tavlan ändras då ”hide” tillkommer. Med andra ord ser nu
arkitekturen ut som i figur 2.
Regelbaserade system
Regelbaserade system är en form utav blackboard-arkitektur som består utav samma sorts
element. En databas med information, som den svarta tavlan, regler som kan läsa och ändra
informationen, som experter, och en arbiter som avgör vilken regel som får arbeta.
Finit-state-machines
Så kallade finit-state-machines är en form utav blackboard-arkitektur, eller rättare sagt ett
sorts regelbaserat system och därför en blackboard-arkitektur. Metoden är relativt gammal
och användes i några utav de allra tidigaste arkadspelen, men används fortfarande (Bourge
& Seeman, 2004, Millington, 2006, Rabin, 2002, Schwab, 2004). I grund och botten består
en finit-state-maskin utav ett antal tillstånd, states, som avgör hur maskinen beter sig, samt
ett antal vägar som definierar hur maskinen kan byta tillstånd.
Figur 3 – Enkel finit-state-maskin för en flock djur.
Ovan, i figur 3, visas en enkel finit-state-maskin som används för att definiera
rörelsemönster och agerande för en flock med djur. De olika tillstånden som är möjliga för
ett djur är beta (graze), Flocka (flock), Separera flocken (separate) och Fly (flee). Vilket state
som råder avgörs av faktorer, som om ett rovdjur dyker upp eller om individerna i flocken
kommer för nära varandra. Till exempel går det att utläsa från figur 3 att om djuren för
tillfället är i tillståndet ”Flykt” och flyr tillräckligt länge för att vara långt borta från det
jagande rovdjuret så kommer djuren byta tillstånd till ”flock”, det vill säga flocka.
Sida 9
Artificiell intelligens
729G11
Fördjupningsuppgift
Artificiell intelligens i spel
Björn Larsson 871210-4036
[email protected]
Dessa sorts maskiner är relativt enkla att skapa och felsöka vilket gör att de är beprövade
verktyg som fortfarande används i även moderna spel. Det ligger en styrka i verktygets
enkelhet då tekniken är lätt, logisk och överskådlig (Bourge & Seeman, 2004, Millington,
2006, Schwab, 2006). Nackdelen är att det uppstår svårigheter då antalet tillstånd ökar. Låt
säga att det fanns ytterligare states i den maskin som presenterades i figur 1. Exempel kan
vara ”dricka” och ”sova”. Man kan även tänka sig att vissa djur försvarar sig mot rovdjur,
tävlar med varandra om ledarskap och så vidare. Finit-state-machines är begränsade på så
vis att de inte klarar av en oändlig mängd av states och övergångar emellan dem. Brian
Schwab jämför finit-state-maskiner som silvertejp och skriver att precis som med silvertejp
kommer slutprodukten att hålla ihop men det kommer inte vara särdeles vackert (Schwab,
2004).
Icke-deterministisk artificiell intelligens
De icke-deterministiska metoderna för att skapa A.I kan vara utnyttjandet av till exempel
genetiska algoritmer eller neurala nät. ”Intelligensen” hos spelkonsollen eller spelet, och då
agerandet, blir mer oförutsägbart då man önskar uppnå en effekt där beteende snarare
framkommer genom träning och inlärning jämfört med de deterministiska teknikerna som
utnyttjar förutbestämda scenarion i form av kod. Fördelarna med icke-deterministiska
metoder är att det generellt sett tar mindre tid att skapa en fungerande A.I då varje
situation och scenarion som sagt inte behöver tas i åtanke. Nackdelen är att kontrollen dock
minskar och att det kan uppstå situationer som inte förutsetts. Detta på grund av att hela
poängen med metoderna är att de ska producera A.I med mer slumpmässiga beteenden.
Genetiska algoritmer, neurala nät och beslutsträd är exempel på icke-deterministiska
tekniker (Bourge & Seeman, 2004, Millington, 2006, Rabin, 2002, Schwab, 2004).
Genetiska algoritmer
Djur och växtliv evolverar ständigt för att kunna klara sig bättre i sin omgivning, en insikt
som nåddes av Charles Darwin. Enkelt förklarat går evolutionsteori ut på att två föräldrar,
med bra gener, producerar avkomma som i sin tur drar nytta av de gener den fått av de två
föräldrarna. Det sker även slumpmässiga mutationer ur detta som i vissa fall gagnar
avkomman, och i andra fall är till ingen nytta. Det är oförutsägbarheten från de
slumpmässiga mutationerna, tillsammans med de existerande gener från föräldrar som bär
en art framåt (Darwin, 1859). Detta har inspirerat A.I-forskare att skapa så kallade genetiska
algoritmer, som även används inom speldesign (Bourge & Seeman, 2004).
Genetiska algoritmer används inom speldesign för att evolvera fram individer ur en
population som är utrustade med egenskaper som är till stor nytta för att lösa något
problem. Individerna kan ses som olika typer av kod som löser problemet på olika sätt, och
koden används sedan för att specifiera till exempel ett rörelsemönster. Den
evolutionsprocess som används inom speldesign för att få fram individer inkorporerar fyra
steg. Det första steget innebär att tillskriva en startpopulation med ett antal egenskaper
som kan användas för att lösa något problem som finns i spelet. Med andra ord olika typer
Sida 10
Artificiell intelligens
729G11
Fördjupningsuppgift
Artificiell intelligens i spel
Björn Larsson 871210-4036
[email protected]
av kod som ger olika beteenden och egenskaper. Problemet, eller utmaningen, kan till
exempel vara att ta död på en mänsklig spelaren. De olika individerna i population får sedan
försöka lösa problemet och försöken betygssätts enligt någon fördefinierad skala, vilket är
steg två. Man kan tänka sig att varje individ får försöka ta död på spelaren hundra gånger
och den som lyckas flest gånger är den som lyckast bäst och därför betygsätts högst.
Betyg, eller rankningssystemet, hjälper speldesigner att urskilja de bästa ur populationen
och dessa väljs för fortplantning – steg tre. De utvalda individerna kombineras, ”paras”, för
att skapa nya individer som får genomgå samma sorts betygssättning som individerna från
tidigare populationer. Här, i steg fyra, introduceras även slumpmässiga mutationer vilket
gör att nya variationer och beteenden kan uppstå. Mutationerna kan till exempel ses som
någon egenskap som ursprungligen inte fanns hos föräldrarna men som uppstår hos
avkomman (Bourge & Seeman, 2004, Schwab, 2004).
Trots att speldesignern kan ha god uppfattning om vilka egenskaper som kommer att vara
användbara för en individ när denne, till exempel, ska ta död på en mänsklig spelare, så är
det viktigt att introducera slumpmässiga mutationer och ha en bred första population.
Även om individerna innehar egenskaper som troligen inte kommer vara till någon nytta.
Detta på grund av att evolutionsprocessen blir mindre effektiv om det inte finns ett brett
urval att börja med. En egenskap som kan ses som helt onödig i början kan mycket väl visa
sig vara oumbärlig när den kombineras med någon annan i en senare generation (Bourge &
Seeman, 2004, Schwab, 2004). Figur 4 visar nedan hur evolutionsprocessen ser ut.
Figur 4 – Evolutionsprocess för genetiska algoritmer.
Följande exempel och problem tas upp av Rabin (2002); ett troll ska äta så många får som
möjligt, ta död på så många äventyrare som möjligt och utan att själv mista livet. Trollen
kan även bli fångade i fällor som ser ut som deras egna tillflyktsorter. Efter femtio
Sida 11
Artificiell intelligens
729G11
Fördjupningsuppgift
Artificiell intelligens i spel
Björn Larsson 871210-4036
[email protected]
generationers evolution med en startpopulation på hundra individer kan ett antal
egenskaper spritt över den evolverade populationen observeras. Hur individernas betyg
räknas ut tas inte upp av Rabin, endast vilka värden de uppvisar.






Dålig överlevnadsinstikt; Ingen av de 25 bästa individerna överlevde mer än 50
gånger av de 500 gånger som simuleringen kördes.
Stor aptit; De 10 bästa individerna av generation 50 lyckades äta 15-18 får, av 20.
Kloka slagskämpar: Trollen lärde sig snabbt att de inte behöver tillbringa tid för att
leta efter äventyrare då dessa kommer att komma till dem. De 25 bästa lyckades
döda 5-7 äventyrare.
Ointresserade av utforskning och läkande; Den bonus ett troll får för att överleva en
simulering är mindre än det straff det får då det tar skada. Detta gör trollen
ointresserade av att läka gamla sår då det ändå inte kommer väga upp för den skada
de tar.
Bra på att undkomma fällor; Av de 25 bästa individerna var det endast 4 som
tillbringade en hel simulering i fångenskap och ingen som var fångade i mer än 3
simuleringar. Detta beror på att trollen generellt sett inte söker sig till sina
tillflyktsorter för att läka sår (se föregående punkt), vilket gör att de inte söker sig till
varken riktiga tillflyktsorter eller ovetandes mot fällor.
Generellt mycket starka (eng. fit); Vid den första generationen var det ingen individ
som fick ett betyg på högre än 200 och genomsnittet låg på 133,8. Vid generation 50
låg 18 individer på 200 och genomsnittet låg på 195,5.
Det är av yttersta vikt att välja ett betygsättningssystem som väl representerar hur bra
individerna löser uppgiften. Om någon egenskap värdesätts för mycket, vilket leder till att
individer väljs ut som annars ignorerats, kommer slutpopulationen inte uppvisa det
beteende som efterfrågades. Till exempel nämner Rabin att det i början av trollen evolution
lades stor vikt vid överlevnad över lång tid, vilket gjorde att en population fega troll
evolverade fram. Dessa överlevde visserligen, men endast genom att fly från varje fälla,
äventyrare och får (Rabin, 2002).
Som i exemplet ovan evolverar spelutvecklare fram individer som är lämpade för att lösa
uppgifter de skapats för. För tillfället är genetiska algoritmer något relativt nytt inom
spelvärlden och har inte använts i till närmelsevis lika stor utsträckning som till exempel
finit-state-maskiner. Den stora fördelen de innehar är att skapandet utav dem kräver en
mindre arbetsinsats än många andra metoder – evolutionsprocessen sköter i stort sig själv.
Men genetiska algoritmers stora fördel är till viss del även dess nackdel. Genom
användandet av dem för att evolvera fram artificiell intelligens som uppvisar beteende som
är mer oförutsägbart än till exempel beteendet som föds ur finit-state-maskiner,
framkommer även problemet att tekniken mycket väl kan resultera i ett beteende
speldesigners inte tänkt sig. Det är de slumpmässiga mutationerna som kan ses som ett
dubbeleggat svärd. Utvecklare har relativt liten insyn och direkt påverkan på hur
Sida 12
Artificiell intelligens
729G11
Fördjupningsuppgift
Artificiell intelligens i spel
Björn Larsson 871210-4036
[email protected]
algoritmerna evolverar vilket innebär att felsökning och kontroll blir svårare (Bourge &
Seeman, 2004). Rabin drar slutsatsen att genetiska algoritmer är ett användbart verktyg då
evolutionsprocessen mycket väl kan producera strategier och kombinationer av strategier
som både gör AI:n väl lämpad, men också intressant för en mänsklig spelare att möta
(Rabin, 2002).
Neurala nät
Inom spelvärlden har det länge rått en oenighet kring huruvida neurala nät bör användas i
speldesign eller inte. Bland spelarna råder en stark oppinion för att använda dem, då de
ibland ses som en universallösning för allt som är fel med spel-A.I idag, medan utvecklare
och programmerare snarare betraktar dem som oanvändbara och svåra (Millington, 2006).
Ett neuralt nät består av ett flertal noder, belägna i olika lager. I figur 5 som syns nedan
presenteras ett exempel på ett neuralt nät med inputlager, ett gömt lager och ett
outputlager. I detta nät är varje nod kopplad till alla noder i både föregående och
efterföljande lager. Noderna är alltid i något tillstånd, vilket beror på den algoritm som
används. Algoritmen styr med andra ord vilket tillstånd noder ska befinna sig i beroende på
vilket input den får. I ett nät med flera lager, som detta, kan tillståndet ses som output som
skickas till noder i nästa lager. Detta är även exempel på feedforward i ett nät, vilket innebär
att varje nod tar input från alla noder i föregående lager och sedan skickar output till alla
noder i nästa lager. (Millington, 2006).
Figur 5 – Exempel på neuralt nät.
Sida 13
Artificiell intelligens
729G11
Fördjupningsuppgift
Artificiell intelligens i spel
Björn Larsson 871210-4036
[email protected]
Noderna kan även vara viktade, vilket innebär att det input som kommer in förändras i
noden beroende på hur noden är viktad. Detta existerar eftersom man ofta vill ha någon
sorts prioritering mellan noderna beroende på vilken output man vill att nätet ska
producera. Till exempel kan det vara viktigare för nätet att reagera mer på om NPC:s hälsa
är låg, och då nära döden, än om ammunitionen håller på att ta slut (Millington, 2006).
Detta förklarar även förekomsten av ett gömt lager, Hidden layer i bilden. Noderna i det
gömda lagret är här viktade för att förändra inputvärden som kommer från olika noder i
föregående lager.
När neurala nät används inom spel handlar det ofta om inlärning. Två tekniker är värdefulla,
nämligen feedforward och backpropagation. Vid inlärning tillskrivs varje nods vikt med ett
slumpmässigt värde sedan testas nätverket. Testningen genomförs i exempelscenarion, i
ovanstående nätverk kan man tänka sig att exempelscenariot är en strid. När testningen är
genomförd påbörjas en iteration där feedforward gissar vilket output som kommer
genereras beroende på det input som finns och sedan modifierar backpropagation
nätverket, och då vikterna, baserat på det output som faktiskt genererades. Sådan
iterationer genomförs ofta hundra- eller tusentalsgånger för att få ett så bra nätverk som
möjligt. (Millington, 2006).
Fördelar med neurala nät är att de är enklare att programmera än regelbaserade system
eller finit-state-maskiner. Men en kanske mer spännande fördel är att neurala nät gör det
möjligt för AI:n i ett spel att ändra och anpassa sig under spelets gång och därmed lära sig
(Bourge & Seeman, 2004).
Neurala nät är kraftiga verktyg för AI som är mycket lämpliga för svåra problem som andra
metoder inte kan handskas med. Men det får i sin tur konsekvensen att det kan vara svårt
att förstå vad nätverket gör och vad det kommer generera för output. Det kan med andra
ord vara svårt att veta om NPC:er i ett spel kommer bete sig underligt, eftersom processen
är svår att få insyn i och slutprodukten svår att predicera (Bourge & Seeman, 2004).
Deterministisk A.I vs. Icke-deterministisk A.I
Även om det möjligtvis kan låta som att deterministiska metoder och tekniker är enklare
och mindre komplexa och därför på något sätt skulle vara sämre är så inte fallet. Välskapad
A.I handlar inte om att ha de mest komplicerade och komplexa lösningarna utan snarare
rätt lösning för rätt situation och algoritm (Millington, 2006).
Fuskande artificiell intelligens
Det låter vid första anblick inte som något som skulle vara särdeles populärt bland spelare,
det vill säga att spela mot en fuskande A.I men faktum är att många, om inte de flesta, spel
använder sig utav A.I som fuskar (Bourge & Seeman, 2004).
Fusk innebär i detta fall inte att datorspelaren kan gå igenom väggar eller är odödlig i spelet
utan snarare vilken sorts information som är tillgänglig. I en ideal värld hade både den
mänsklige spelaren och NPC:n fått samla in information och ta beslut utifrån den på samma
Sida 14
Artificiell intelligens
729G11
Fördjupningsuppgift
Artificiell intelligens i spel
Björn Larsson 871210-4036
[email protected]
sätt. Så är det dock inte. Istället händer det ofta, till exempel i strategispel, att det
datorstyrda laget har all information om den mänskliga spelarens läger, arméer och så
vidare utan att ha behövt skicka ut spioner eller liknande. Detta finns för att ge datorstyrda
spelare en viss fördel eftersom som mänskliga spelare ofta är duktiga. Detta kan dock vara
farligt då många spelare ofta kan se igenom illusionen (Bourge & Seeman, 2004, Schwab,
2004).
Ett annat exempel på fuskande A.I hittas i en del bilracingspel. En teknik som kallas för
rubber banding har använts vilket innebär att om en mänsklig spelare leder ett lopp spelar
det ingen roll hur stor luckan är till bilarna som ligger efter. I slutet av loppet ökas helt enkelt
hastigheten på de tidigare helt ovetande och förvirrade NPC-bilarna så att de plötsligt utgör
ett hot. Visserligen blir det mer utav en utmaning för den mänsklige spelaren men det
troligen även uppenbart att något inte står rätt till då de datorstyrda förarna går från att
vara usla till fantastiska på kort tid (Schwab, 2004).
Sida 15
Artificiell intelligens
729G11
Fördjupningsuppgift
Artificiell intelligens i spel
Björn Larsson 871210-4036
[email protected]
Spels artificiella intelligens i framtiden
Spelutveckling har gått med rasande fart de senaste åren, egentligen på alla fronter. De
grafikeffekter, ljud, spelinterface och artificiella intelligenser som först dök upp på
marknaden runt 70- och 80-talet är en skugga jämte mot de spel som släppts de senaste
åren. I egen mening är det till och med så att spelen nu börjar närma sig en platå då det
knappt går att göra grafik och ljud bättre. Däremot finns det fortfarande utrymme för
förbättring då det gäller fysik och framförallt artificiell intelligens.
På förhand trodde jag att de olika tekniker och metoder jag ämnade ta upp skulle ge mig
insyn i nya spännande lösningar och några gamla och förlegade. Snarare har jag insett att
det visserligen finns nya och intressanta sätt att skapa A.I men de hederliga metoderna skall
inte förpassas. Istället bör varje val av metod begrundas mycket noggrant så att rätt teknik
används för rätt spel, situation och uppgift.
Till viss del blir jag fundersam då jag ser att det absolut finns tekniker för att skapa
trovärdigt beteende och att de funnits i relativt många år, då de referenser jag hittat är
sedan början av 2000-talet. Det som gör mig konfunderad är varför de inte används och
appliceras i större utsträckning. Jag finner det underligt då välfungerande A.I mycket väl kan
lyfta ett spel från mediokert till mycket bra, vilket borde vara en morot för företagen då det
absolut ger en kommersiell fördel. Men kanske är det så att fokus legat på andra aspekter
de senaste åren. Det kan vara så att det är just därför vi ser att det finns plats för förbättring
för A.I:n knappt någon plats för grafikutveckling då den börjat plana ut.
Det har dock skett utvecklingar även inom A.I såklart. För några år sedan släpptes
Elderscrolls 4: Oblivion (Bethesda Softworks, 2006) som introducerade NPC:er som
samtalade med varandra och vandrade runt i den stad de bodde för att skapa en känsla av
liv. Det finns med andra ord en intention. Men Oblivion var en besvikelse på denna punkt för
många spelare då det visade sig att samtalen mellan NPC:erna var träigt, okoordinerat och
stolpigt. Många menade att det hade varit bättre om Bethesda inte skapat de alls eftersom
kvalitén var så låg.
Detta belyser en poäng då A.I kan göra mer skada än nytta. Samtalen i Oblivion var inte
avgörande för om spelet gick att spela eller inte men lämnade trots det djupa spår efter sig.
Mina egna erfarenheter är att inom spelvärlden tycks spelare tycka att det är bättre att
avstå från sådana implementationsförsök om man inte kan göra dem nästintill perfekta. För
egen del håller jag med om att konversationerna är tråkiga och ibland komiskt löjliga men
försöken är ändå värt något. Förhoppningsvis ser vi ytterligare förbättringar i nästa spel.
AI-utvecklare står ständigt inför en svår utmaning då de produkter de skapar riktar sig mot
en så bred massa. Spelare är olika. De tycker om olika saker, de reagerar olika på olika saker
och framförallt så är de olika bra på att spela spel. A.I:n är i mångt och mycket till för att
skapa utmaning för spelaren, men det blir självklart svårt när individerna i målgruppen är
både bra och dåliga på samma gång. Det finns rum för utvecklandet av någon sorts adaptiv
Sida 16
Artificiell intelligens
729G11
Fördjupningsuppgift
Artificiell intelligens i spel
Björn Larsson 871210-4036
[email protected]
A.I som kan läsa av hur en spelare agerar och anpassa sig efter det. Med andra ord
välkomnar jag användandet av neurala nät.
I min mening har A.I i spel redan nu klarat ”Turingtestet för spel”, det vill säga om den
mänsklige spelaren inte kan avgöra om motståndaren, eller medspelaren för den delen,
styrs av datorn eller en annan människa. Detta är dock självklart beroende på vilket spel
som det handlar om.
Grafik, ljud och bild är tillnärmelsvis perfekt i de spel som släpps idag. Min förhoppning är
att det nu kommer läggas mer energi på handling, att skapa levande världar och framförallt
på artificiell intelligens i spelen. Det är i min mening dags för det nu.
Sida 17
Artificiell intelligens
729G11
Fördjupningsuppgift
Artificiell intelligens i spel
Björn Larsson 871210-4036
[email protected]
Referenser
Litteratur
Bourg, David M. & Seeman, Glenn. (2004). AI for Game Developers, O’Reilly, Sebastopol.
Darwin, Charles (1859). On the Origin of Species, W. Clowes and Sons, London.
Koster, Raph (2005). A Theory of Fun, Paraglyph Press, Scottsdale.
Millington, Ian (2006). Artificial Intelligence for Games, Elsevier, San Francisco.
Rabin, Steve (2002). AI Game Wisdom, Charles River Media INC., Hingham.
Russel, Stuart & Norvig, Peter (2003). Artificial Intelligence – A Modern Approach, Pearson
Education INC., New Jersey.
Schwab, Brian (2004). AI Game Engine Programming, Charles River Media INC.,
Massachusetts.
Searle, John (1980). Mind, Brains and Programs, The Behavioral and Brain Sciences 3: 140152, Cambridge University Press, Cambridge.
Figurreferenser
Figur 1: Millington, Ian (2006). Artificial Intelligence for Games, s. 438, Elsevier, San Fransisco.
Figur 2: Millington, Ian (2006). Artificial Intelligence for Games, s. 438, Elsevier, San Fransisco.
Figur 3: Millington, Ian (2006). Artificial Intelligence for Games, s. 824, Elsevier, San Fransisco.
Figur 4: Inspirerad av: Rabin, Steve (2002). AI Game Wisdom, Charles River Meda INC., Hingham
Figur 5: Millington, Ian (2006). Artificial Intelligence for Games, s. 634, Elsevier, San Fransisco.
Spelreferenser
Age of Empires 2: The Age of Kings (Ensemble, 1999)
Black & White (Lionhead Studios, 2001)
Donkey Kong (Nintendo, 1981)
Elderscrolls 4: Oblivion (Bethesda Softworks, 2006)
Pac-man (Namco, 1980)
Space Invaders (Taito Corporation,1978)
Warcraft II (Blizzard, 1995)
Internetreferenser
http://www.nyteknik.se/nyheter/it_telekom/dataspel/article68579.ece, 2008-02-19
Sida 18