AI in Games. C.J.P. Meis, J.J.M. Dousi Universiteit Utrecht Faculteit Wijsbegeerte

Vergelijkbare documenten
Flourish. (Vroeger bekend als Veldslag ) Concept Document v Dennis Haverhals

Inhoud leereenheid 1. AI voor computerspelen. 1.1 Onderwerp Studeeraanwijzingen Aanvullingen 15

Intelligente Spelen. Pieter Spronck. TouW Informatica Symposium, Open Universiteit, Universiteit van Tilburg

Challenge 2: The Path Conceptdocument. Groep 1 Maikel Haas Robbert Lokhorst Daniël Sneijers Vincent Wielders

Testen met zelflerende en zelfexplorerende

Informatie voor de leerkracht Introductie nieuw concept (pagina 1) Programmeren met Bomberbot (pagina 1)

Caféplay II Spel - Turnbased strategiespel met alledaagse voorwerpen. Misha Heesakkers

Vakinhoudelijke uitwerking Keuzevak Digispel van het profiel D&P vmbo beroepsgericht

3. Wat betekent dat voor de manier waarop lesgegeven zou moeten worden in de - voor jou - moeilijke vakken?

Denken kun je Leren!

Opmerking: De uiteindelijke spelregels zal afbeeldingen, extra (optionele) geavanceerde regels en karakter biografieën bevatten.

Games in een educatieve setting

ontwerpdocumentatie doelgroep

Mijn project noemt Het Wari-spel. De doelgroep van mijn programma is iedereen die houdt van strategische spelen.

R-Type 2009 Developing in XNA

STROOMDIAGRAMMEN. Hoofdstuk 8. Hoe je Galgje moet spelen. Voorbeelduitvoer van Galgje. Hoofdstuk 8 Stroomdiagrammen 67

Probeer alle gebieden in DiceLand te veroveren door alle tegenstanders uit te schakelen of probeer met de hoogste score te winnen.

Kuijpers Installaties in de OK Leerjaar 2, schooljaar

Wat vind je het belangrijkste in de gameplay?

Jijbent.nl: spelregels go-moku. Sjoerd Hemminga (sjoerdje) Copyright 2017 Jijbent.nl

Met deze game check kunnen ouders en kinderen samen overwegen of een game beter wel of beter niet gespeeld kan worden. Zodat gamen leuk blijft!

Programmeren A. Genetisch Programma voor het Partitie Probleem. begeleiding:

Ieder tweetal heeft nodig: Een kopie van de slagschipspelletjes: 1. 1A, 1B voor spel A, 2B voor spel A, 3B voor spel 3

Game On. Peiling over gamegedrag van kinderen op christelijke basisscholen

VBA voor doe het Zelvers deel 22. Handleiding van Helpmij.nl. Auteur: leofact

Uitwerkingen Sum of Us

Heb je bepaald welk spel je wilt maken? Pak een vel papier (of een bestand op je computer) en schrijf de antwoorden op de volgende vragen op:

Bedenker : Christwart Conrad Illustrator : Tony Rochon

* Heldenfiches: al deze fiches stellen een in het drakennest gevangen held voor. Iedere speler kiest een held uit die hij in het spel controleert.

Opgave 2 ( = 12 ptn.)

Bas Smeets page 1

Samenvatting (Dutch)

WELKOM BIJ BOMBERBOT! LES 1: WAT IS PROGRAMMEREN LES 1: WAT IS PROGRAMMEREN WAAR GAAT DEZE LES OVER? INTRODUCTIE

Uitleg van aanpassingen in het spelsysteem

8. Complexiteit van algoritmen:

Vragen stellen in de reken-wiskundeles

The knight s tour. Het paard in schaken beweegt als volgt: Steeds 1 vakje in een richting en 2 in een andere richting, of omgekeerd.

Rapport: Delegeren is te leren.

Computerspellen in soorten en maten

Rekenen: Meten groep 4 en hoger. Het leren van simpele weegopdrachten.

1 e druk. Uitgever: vzw Schaakschool. Tekeningen: Jo Goigne. Website: Copyright 2014: Peter D hondt

- Denkt zoals een mens (activiteiten die we associëren met menselijk denken.)

Nog geen account? Wel een account? 0. Starten met. Een nieuw project beginnen Klik op Maak. Ga online naar scratch.mit.edu

Tentamen in2205 Kennissystemen

Ontdekkend leren voetballen in de praktijk

Bijlage 1 van het artikel De (on)mogelijkheden van beoordelen en selecteren in de hockeysport door Niels Papen (in samenwerking met Gerold Hoeben).

Reflectiegesprekken met kinderen

Leren als een expert!

Courier Dog WW1. Team 8. Lorenzo James Sam Morris Tim Janssen Raymon Meijer Melissa Tammens (schrijver)

HC Houten, periodisering seizoen : Middenveld aanspelen

AXIOM. Spelconcept en ontwerp door Michael Seal. World Copyright 1988 / 1993 All rights reserved

Terugkoppeling testen egeo internetpanel

Het handboek van Luitenant Skat

Creatie-bordspel. Deze zichtversie geeft een indruk van het totale boekje dat uit 15 pagina s bestaat.

Opdrachten Toeval Opdrachten Toeval Opdracht 1.1 (Bestaat toeval) Opdracht 1.2(toeval in de natuur)

100% presence reflectie (logboek)

Diverse regels om darts te spleen Basisregels

Let s Ynnovate! Let s Ynnovate! LET S YNNOVATE! OVER FLEUR & ESTHER FLEUR PULLEN & ESTHER VAN DER STORM

Kennismaking met programmeren

Schaken op de basisschool Werkboek 1, les 1: de beginstelling, de Toren en de Loper

Ogame leren spelen met reinforcement learning

Oh no... INVASION!!!

Introductieles schaken voor beginners Voor groepen 3 en 4 op de basisschool

XiBE users. Met XiBE kun jij: Jouw ideeën indienen, de ideeën van anderen nog beter maken en alle ideeën volgen. Get started instructie

Gemblo DG Games, spelers vanaf 6 jaar ± 30 minuten

Bugs Bunny heeft een dobbelsteen bij zich. Hij zal zijn aanvalspunten bepalen door wat er op de kaart staat.

Mastermind met acht kleuren

Het XOR-Netwerk heeft lokale Minima

Uitleg van aanpassingen in het spelsysteem Zomerlive 2013

3 Hoogbegaafdheid op school

Jongerennumerologie, je hebt alles in je

Mauritius Mokka Bombay Ceylon Batavia. Kaap de Goede Hoop (de veilige haven)

Over Ren Steenvoorden

BEGINNER JAVA Inhoudsopgave

Aangaan. Feedback kan maken maar ook breken

Het spelbord Het spelbord bestaat uit een kaart van een deel van de wereld met daarop de handelshavens van Oost-Indiё en hun lokale goederen:

WERKBUNDEL VAN: GROEP/ KLAS:

De ontwikkelde materialen per unit.

Versterk spelenderwijs je emo-zelfbeeld en je omgang met anderen.

Praktische opdracht Wiskunde A Patience

Halma Bot: Monte Carlo versus Alpha-Beta

Verspreiden en borgen: werkwijze om andere locaties binnen de organisatie veilig te maken

Waar blijft de minister

B a s S m e e t s w w w. b s m e e t s. c o m p a g e 1

JONGEREN & GAMEN: LAGER ONDERWIJS

STEEN, PAPIER, SCHAAR AI. Statistisch voorspellen van steen, papier, schaar zetten. Ábel Putnoki Begeleider: Harold van Hees

ARCHERY TAG. Benodigdheden: 8-12 bogen en pijlen 10 maskers 2 Targets Afzetlint Evt objecten om achter te schuilen

Computing machinery and Intelligence. A. M. Turing. Samengevat door: Matthijs Melissen

Cursus SEO-teksten schrijven

Smart Grid. Verdiepende opdracht

SCRATCH GEVORDERDEN Inhoudsopgave

Level 1: Let The Games Begin! Vergeet niet de diavoorstelling te starten, anders werken de linkjes niet.

Samenvatting Impliciet leren van kunstmatige grammatica s: Effecten van de complexiteit en het nut van de structuur

Toeristen stad Dominerende verzamelingen

KWALIFICATIESTRUCTUUR SPORT IJSHOCKEYTRAINER/COACH 1 (Teambegeleider) LEIDERSCHAP

Schaken op de basisschool Werkboek 1, les 4: Veilig (1) zet je eigen stukken veilig

Lesbrief: Slimme oplossingen Thema: Mens & Dienstverlenen in de toekomst

blijf van de chocola blijf van de chocola

Transcriptie:

AI in Games C.J.P. Meis, J.J.M. Dousi Universiteit Utrecht Faculteit Wijsbegeerte kees.meis@phil.uu.nl, jaap.dousi@phil.uu.nl 1 Inleiding U heeft vast wel eens een computerspelletje gespeeld. Naar mate u dat spel vaker speelde werd u beter terwijl de computertegenstander dat niet werd. Deze was in te stellen op moeilijkheid maar verder was hij niet aan te passen. Hij speelde altijd op dezelfde manier, en na verloop van tijd kon u zelfs standaard paden en strategieen ontdekken waardoor de tegenstander voorspelbaar werd, de speelbaarheid werd hierdoor verminderd. Alleen de mogelijkheid om tegen menselijke tegenstanders te spelen, bijvoorbeeld via internet, blijft over. Maar voor sommige mensen is dit niet mogelijk, zij hebben geen internet of hebben het geld niet om de kosten te betalen. Voor hen zou het een uitkomst zijn als die computertegenstanders niet zo voorspelbaar zijn. Of dat mogelijk is zal besproken worden in dit artikel. Eerst zullen we bekijken in welke spellen al menselijkere tegenstanders bestaan en hoe zij tot deze vorm zijn gekomen. Vervolgens gaan we kijken of deze kunnen worden toegepast op spellen van deze tijd en de problemen die daar bij komen kijken. Tenslotte zullen we het hebben over een Turing test voor computertegenstanders dus of het mogelijk is een computertegenstander te maken waarbij niet meer te merken is dat het een computertegenstander is. 2 Welke strategieën zijn er? Er zijn verschillende methodes om een computertegenstander slimmer te kunnen maken. Op dit moment zijn bijna alle computertegenstanders in moderne spellen gebaseerd op scripts. Een script is een volgorde van acties die de computer uitvoert verder is er een lijst van reacties waarin staat wat de tegenstander dient te doen als de speler iets doet. Er zijn echter geen dingen die de computertegenstander zelf heeft aangeleerd, of heeft overgenomen van de speler. Voor een leuk en uitdagend spel zal hij dit echter wel moeten kunnen. Zo zijn mensen ook, zij hebben de mogelijkheid om te leren of om onvoorspelbare tactieken uit te voeren, de computer echter voert steeds een tactiek uit of heeft een lijst van tactieken waar er random een van wordt gekozen, of als reactie op de tactiek van de speler. Er zijn echter al voorbeelden van computertegenstanders die heel wat meer kunnen, deze worden tot nog toe enkel in simpelere (qua regels en mogelijkheden) of statischere spellen gebruikt. Overigens willen wij alle computertegenstanders gebruik gaan laten maken van neurale netwerken. Deze zijn bedoeld om de tegenstander een keuze te laten maken door de gewichten die aan de mogelijkheden vast hangen. De tegenstander zal over het algemeen de mogelijkheid kiezen die op dat moment het hoogste gewicht heeft. Vervolgens wordt er gekeken of deze mogelijkheid succes heeft en aan de hand daarvan wordt het gewicht van die actie veranderd (hoger bij succes, lager bij falen). 1

Hoewel we in de toekomst graag zouden zien dat de computertegenstander alles uit zichzelf kan zal er op dit moment toch nog een component moeten worden ingebouwd dat de tegenstander helpt te kiezen in bepaalde situaties hij zal bijvoorbeeld in een strategiespel niet moeten overwegen om grondstoffen te gaan delven als hij wordt aangevallen. We zullen nu een aantal bekende strategieën bespreken die dienen het aantal keuzemogelijkheden van de tegenstander te vergroten. 2.1 Supervised learning Hierbij krijgt de computertegenstander input van een speler of programmeur, deze voert een bepaalde actie uit en de computer neem deze actie over als optimale actie in die bepaalde toestand, vervolgens moet de computer de toestand kunnen herkennen om zodoende de voorgedane actie uit te gaan voeren 2.2 Reinforcement learning De computertegenstander leert door telkens het spel te spelen en vervolgens wordt het eindresultaat beoordeeld. Aan de hand hiervan worden regels verterkt, toegevoegd of weggehaald. Deze beoordeling kan gebeuren door een programmeur of er kan een programma worden toegevoegd wat de doeltreffendheid van de regel of strategie beoordeeeld. 2.3 Competitive learning De computertegenstander leert door te spelen tegen een andere computertegenstander. Er is een computer A die een set regels heeft en daarmee speelt hij tegen een andere computertegenstander B met andere regels. De winnaar (bijvoorbeeld A) blijft hetzelfde terwijl de verliezer, B, zich aanpast om te kunnen winnen in het volgende duel. Als vervolgens B na een aantal verbeterde pogingen wint worden de rollen omgedraaid. B blijft hetzelfde en A ontwikkelt zich. Theoretisch kunnen A en B blijven spelen tot een perfecte tegenstander is ontwikkeld. Het is echter de vraag of dit wenselijk is, omdat dan de tegenstander onverslaanbaar is voor de speler. In veel gevallen bestaat de perfecte tegenstander overigens niet. 2.4 Genetic learning Hierbij krijgt de computer een aantal individuen toegediend die bestaan uit regels of neurale netwerken, hiermee hij gaat spelen. Na het spel worden de individuen beoordeeld, de beste blijven bestaan, de slechtste gaan eruit en de gemiddelde regels worden gekruist tot nieuwe regels. Zo ontstaat er een nieuwe generatie die opnieuw gaat spelen. Verder treedt er ook mutatie op waardoor bepaalde regels random worden veranderd, dit zorgt ervoor dat er volledig nieuwe regels kunnen onstaan. De nieuwe generatie hoeft niet per se beter te zijn, voornamelijk door de mutatie, maar in meeste gevallen treedt er wel verbetering op. 2.5 Randomized learning Bij deze strategie worden willekeurig regels bedacht en toegevoegd. Deze kunnen zo slecht zijn dat ze fataal zijn voor de computertegenstander maar het kan net zo goed een regel zijn die bijna onverslaanbaar is. Vervolgens dient dit gecombineerd te worden met een andere leerstrategie om zodoende slechte regels weg ta halen en goede te behouden. 2

3 Waarvoor worden deze leeralgoritmes voor gebruikt? De zojuist besproken leerstrategie/ en worden al gebruikt bij spellen. Dit zijn echter allemaal simpele spellen qua regels. Je kunt hierbij denken aan spellen als schaken, backgammon of dammen. Deze spellen hebben makkelijke regels waardoor de mogelijkheden beperkt worden. Een paard kan vanuit een positie maximaal acht andere posities bereiken. Ten tweede gaat het spel in beurten, waardoor het geheel volledig op actie en reactie is berust. Ten derde is het spel erg statisch in verhouding tot moderne computerspellen, schaken bijvoorbeeld bestaat uit 64 vlakken en hoewel er 24 stukken op staan kunnen dat bij moderne spellen er veel meer zijn.. Als we dit vergelijken met een modern computerspel, bijvoorbeeld starcraft, zien we dat het veel moeilijker zal worden om een slimme tegenstander te creëren. Starcraft is een strategiespel waarbij het de bedoeling is een basis te bouwen en vervolgens een leger om de basis van de tegenstander te vernietigen. De entiteiten in het spel hebben echter een zeer grote vrijheid. Een soldaat kan alle kanten in bewegen en heeft dus bijna geen beperking op het aantal posities dat hij kan bereiken. Het spel speelt ook in real-time ofwel de acties gaan niet omstebeurt, hierdoor gaat veel actie en reactie weg. Bovendien ben je in eerste instantie zelf met je basis bezig, de tegenstander komt later pas. Ook heeft een speelveld veel meer vlakken dan de bovengenoemde spellen. De kleinste speelvelden bestaan al uit zo n 250.000 vlakken, het is dus veel minder statisch als dammen of othello, ook zijn er veel meer units en gebouwen dan in de klassieke spellen en kunnen ze veel vrijer bewegen. Het inbouwen van een AI in moderne spellen die gebruikt maakt van de technieken in schaakcomputers en dergelijke zal dus een aardige opdracht zijn. Overigens willen we niet zeggen dat schaken een simpel spelletje is, het is wel degelijk complex, maar dat komt doordat beide spelers een identieke beginopstelling hebben. bovendien wordt het spel moeilijk gemaakt door het denkwerk dat moet worden verricht, maar vaardigheden als kijken, snelheid, gehoor of richten worden er niet in verwerkt. 4 Kunnen deze leeralgoritmes toegepast worden in complexere spellen? We zullen nu gaan kijken of en hoe we deze leerstrategieën kunnen gebruiken in moderne spellen, we zullen per genre bekijken wat de mogelijkheden zijn en enkele voorbeelden noemen. 4.1 Shooters Shooters zijn actiespellen waarin je een persoon voorstelt die alle andere creaturen moet verslaan. Je loopt hierbij door een omgeving met gangen en kamers. Hierin kom je wapens en vijanden tegen. Je ziet dit in de meeste gevallen vanuit de ogen van de speler. Je hebt twee typen vijanden, de eerste zijn creaturen die je tegenkomt als je speelt, die zwakker zijn als jij en vaak met meerdere tegelijk aanvallen. Het tweede type zijn bots, dit zijn spelers die volledig gelijk zijn aan jou. De bots en creaturen zijn op dit moment allemaal geprogrammeerd via scripts. De bot heeft bepaalde looppaden, heeft een vast favoriet wapen, ziet niet maar weet waar de entiteiten zich ophouden en heeft een lijst van reacties. Eigenlijk willen we al deze dingen wegkrijgen en een menselijke, onvoorspelbare bot creëren. 3

Allereerst moet de bot niet als een soort god het speelveld kennen en zien wie waar is en wat er allemaal ligt. De bot moet gelijk worden met de mens en dus een eigen blikveld hebben vanwaaruit hij dingen ziet, herkend en mee om kan gaan. Dit is waarschijnlijk het moeilijkste gedeelte om in te bouwen en heeft niet eens zoveel met zijn intelligentie te maken maar is wel een voorwaarde voor een menselijke computertegenstander. Als dit gelukt is kan de bot gaan leren door middel van strategieen als competitive learning en reinforcement learning. Hierdoor ontwikkelt hij zelf favoriete paden en krijgt hij een voorkeur qua wapen. Hij ontwikkelt strategieën om de speler te verrassen en ontwikkelt reacties als de speler een bepaald wapen draagt of als hij zich in een kritieke situatie bevindt. Er blijven echter wel problemen bestaan, de computer speelt namelijk nog steeds via berekeningen en daardoor zou hij absoluut geen moeite hebben met het richten en uitrekenen waar de tegenstander zich gaat bevinden. Om dit probleem te ontlopen zou je moeten zorgen dat de raakkans afhankelijk is van de moeilijkheidsgraad van het schot. Een ander probleem is natuurlijk de leertijd maar aangezien dat bij elke vorm van AI in computerspellen voorkomt is daar niet om heen te komen en kunnen we daar weinig over zeggen behalve dat het lang duurt. dat enkele tegenstanders in een lokaal minimum komen is niet zo n probleem aangezien er volop tegenstanders gemaakt worden, degenen met lokale minima kunnen ondergedeeld worden in een lager niveau of weggehaald worden. 4.2 Strategie Bij strategie spellen bedoelen we spellen die een speelveld hebben waarop de spelers een basis bouwen en vervolgens units gaan maken om hiermee de basis van de andere speler te vernietigen, meestal komt hier ook nog het verzamelen van grondstoffen bij kijken om de units en gebouwen te kunnen produceren. Ook in deze spellen wordt gebruik gemaakt van scripts die in volgorde de acties van de computer bepalen. Eerst wordt de basis gebouwd in een bepaalde volgorde, vervolgens worden de units gemaakt en gaat de computer series van aanvallen ondernemen, onderwijl grondstoffen verzamelend. Ook hier is een lijst van reacties, als de speler bijvoorbeeld met vliegende units aanvalt dan zal de computer afweergeschut gaan bouwen. Om deze tegenstanders menselijker te maken zou je opnieuw gebruik kunnen maken van de bovengenoemde strategieën om te leren. Hij zou zelf aanvallen moeten ontwikkelen en vervolgens kijken of deze het gewenste effect opleveren. Op al zijn acties zou dus een controle moeten zijn of deze actie succesvol was, om vervolgens te beslissen of de volgende keer in een soortgelijke situatie deze actie weer wordt overwogen. Nog een onmenselijk karakter van de computer is dat hij alles tegelijk kan controleren. Hij zou een aandachtsveld moeten hebben waarin hij kan beslissen wat de units gaan doen, dit moet even groot zijn als het scherm van de speler. Hiermee bereik je dat de computertegenstander niet een ongelooflijk groot leger kan controleren en tegelijk zijn eigen basis beschermen n grondstoffen blijven verzamelen. De hoeveelheid kunnen is wel veel minder in een strategiespel, de computer hoeft niet te lopen, horen of te richten. Het gaat om de tactieken die hij zelf ontwikkelt, leert en toepast. 4.3 Sport Sportspellen zijn eigenlijk in veel gevallen vergelijkbaar met strategiespellen. Met teamsporten heeft de speler eigenlijk gewoon N units onder controle en zou je dus dezelfde oplossing kunnen bekijken als in strategiespellen. Wel is het zo dat je altijd maar een speler van je team controleert, de rest moet dus net zo intelligent zijn als de computertegenstander zijn spelers. Wel een idee is om de spelers afzonderlijke 4

entiteiten te maken, die dus stuk voor stuk acties ontwikkelen en beslissen of deze goed zijn. Hierdoor worden niet alleen de computerspelers interessanter maar ook je eigen medespelers worden nuttiger, bovendien zou je nog een teamgeest moeten toevoegen die de te spelen tactieken genereert. Vervolgens heb je nog sporten die een tegen een gebeuren, zoals vechtsporten of tennisachtige sporten. Deze zijn echter in grote lijnen vergelijkbaar met de teamsporten, al hoeft er geen teamgeest te zijn, er is maar een entiteit die het spel hoeft te spelen, hij ontwikkelt tactieken en oordeelt over deze tactieken. Verder zijn er ook nog racespellen, dit zijn compleet andere spellen. De moeilijkheid hierbij is dat de computer weet wat er zal gaan komen in het circuit en waar de tegenstanders zijn. Hierbij kun je dus teruggrijpen naar de ideeën geoppert in het shootersgedeelte. De computer zou een blikveld moeten hebben vanuit of achter de auto. Alle circuits zullen apart geleerd moeten worden, na verloop van tijd kan de computer natuurlijk weten wat er gaat komen in het circuit. De computer zal zelf gaan begrijpen dat een weg het snelste rijdt en dat op muren inrijden geen goed idee is, hij verliest namelijk snelheid, en dat is niet gewenst. Zo zal de computer een eigen ideale lijn in het circuit ontwikkelen. Vervolgens moet hij gaan leren af te wijken van de ideale lijn als hij dreigt ingehaald te worden of als hij mee kan in een slipstream. Een probleem is echter de ideale lijn van de computer, op een gegeven moment kan deze zo perfect worden dat de computer altijd zal winnen, hij moet dus stuurfouten kunnen maken en een soort reactietijd ingesteld worden zodat hij niet onmenselijk gaat reageren. Op een hoger niveau zouden deze stuurfouten misschien niet noodzakelijk zijn als je de ideale lijn laat ontwikkelen door genetic learning, dit zorgt namelijk door mutaties ervoor dat die lijn niet helemaal perfect is. Overigens gaat het hierbij om racesimulaties, dus niet om spellen waarbij het ook de bedoeling is om powerups te verzamelen waarmee bijvoorbeeld ook nog geschoten moet worden. 4.4 Roleplaying games Roleplaying games zijn veruit de moeilijkste spellen om onze leermethodes op toe te passen. Roleplaying games zijn spellen waar je eigenlijk een rol opneemt van iemand in een wereld. Je bent bijvoorbeeld een tovenaar, een dief of een barbaar. Als dit karakter speel je door een wereld en los je allerhande queestes en puzzels op en bevecht je vijanden. Deze activiteiten leveren je ervaringspunten op die er tot leiden dat je sterker wordt in alle opzichten. Waarom dit het lastigste type is is niet zo moeilijk, roleplaying is namelijk een weergave van de echte (of een denkbeeldige) wereld waarin elk persoon zijn eigen leven heeft, met geschiedenis, karaktertrekken alles. Elk persoon is dus een losstaande entiteit die zichzelf alles zou moeten leren. Dat betekent dat je dus duizenden volledig beschreven karakters krijgt, ofwel vreselijk veel werk aangezien je de computertegenstander een groot deel van zijn vocabulair zou mee moeten geven. Zeker als het gaat om ons onbekende talen zoals die van elfen of orks. Daar komt nog bij dat je eigenlijk een volledige taal zou moeten geven aan de karakters om goed met ze te kunnen spreken want in RPGs wordt zeer veel gepraat over bijvoorbeeld de op te lossen queeste. U merkt echter al dat dit zeer veel problemen op gaat leveren. Als alle personen in het spel zichzelf alles hebben geleerd, valt er niets te zeggen over wat voor karakter ze hebben. Sterker nog, er bestaat een aardige kans dat er helemaal geen verhaallijn van de queeste meer inkomt, misschien wel helemaal geen queeste. Hierdoor zou je dus op zijn minst een volledig ander spel krijgen, of misschien zelfs wel helemaal geen spel meer. Je zou dan weer met beperkingen aan de gang kunnen om zo een verhaallijn te krijgen, en om de verkopers ook echt te laten verkopen. Dit zul je echter zo ver moeten doorvoeren dat het weer een standaard rpg wordt op de gevechten na. 5

Het is dus waarschijnlijk onmogelijk om de leerstrategieën toe te passen op de rpg, omdat er geen verhaallijn meer te garanderen is. En om volledige taal te verwerken in elk karakter (want een ork kan minder goed met taal omgaan dan een bisschop. Om nog maar niet te spreken over vocubalairverschillen) is ook ondoenlijk. 5 Toekomst van leeralgoritmen in games We zullen nu gaan bekijken of de bovengenoemde ideeen en technieken praktisch haalbaar zijn, met de hedendaagse technologie of de technologie in afzienbare tijd. Het gaat hierbij om twee bottle-necks: berekeningssnelheid en opslagcapaciteit. Een derde probleem is de leertijd die benodigd is om de computertegenstander het spel capabel te laten spelen, een gedeelte hiervan kan echter al in de productietijd gedaan worden. Bovendien, zodra de genoemde bottle-necks niet meer van toepassing zijn heeft dit ook zijn uitwerking op de leersnelheid. Dit probleem valt dus eigenlijk onder de genoemde twee bottle-necks. Het eerste probleem is de berekeningssnelheid, als we kijken naar de bovengenoemde concepten dan komt als eerste het gezichtsveld probleem aan bod. De computertegenstander moet in staat zijn een blikveld te herkennen en interpreteren. Ofwel elke computertegenstander moet een menselijke speler simuleren. Het totaal aan rekenkracht zal in dat geval bij een tegenstander nog wel meevallen. Maar als je praat over vijf computertegenstanders dan zou je het geheel kunnen zien alsof het spel zes keer gedraaid word en daarbij ook nog eens vijf menselijke spelers moeten worden gesimuleerd. Het wordt helemaal lastig als je kijkt naar de sportspellen zoals voetbal waarin een volledig computergestuurd elftal van spelers gesimuleerd moet worden en tien spelers van het menselijke elftal en nog een overkoepelende speler die de strategie van de het tegenspelend team bepaalt. Samen zijn dat dus 22 spelers die door de computer moeten worden nagebootst. Dit alleen al beslaat het probleem van de hoeveelheid computertegenstanders. De computertegenstanders zijn echter ook nog constant bezig met het evalueren van hun regels wat natuurlijk ook een hoop snelheid kost. Ten derde is er eventueel nog het probleem van de taalinterface bij role playing games. Om voor elke gesimuleerde speler een eigen taal te hebben is daarom zeker een onmogelijke opgave qua snelheid. Afgezien van het taal component lijkt het echter wel haalbaar dat over enkele decennia de snelheid toereikend is om deze mogelijkheden toe te passen. Het tweede probleem is de opslagcapaciteit. Het programma dat een simulatie bestuurt heeft al een aanzienlijke grootte waarin zijn basistactieken staan en de manier waarop de computertegenstander moet omgaan met de input die hij krijgt van het spel. Daar boven op komt dan nog het oneindig toevoegen van nieuwe en gewijzigde regels en tactieken die de computertegenstander verzint en samenstelt. Dit laatste moet overigens voor elke afzonderlijke computertegenstander gedaan worden om zodoende daadwerkelijk verschillende karakters te krijgen. Opnieuw is hier de taal een echt onoverkomelijk probleem, het opslaan van een vocabulair en gebruiksregels daarvoor is een onmogelijke opgave, zeker aangezien het voor elk karakter afzonderlijk zou moeten. Het lijkt echter mogelijk dat over een aantal jaren zoveel opslagcapaciteit aanwezig is dat het opslaan van deze hoeveelheden informatie geen enkel probleem is. Vooral omdat met name de opslagcapaciteit exponentiëel stijgt. Wat we dus eigenlijk willen zeggen is dat op dit moment de techniek nog niet toereikend is voor onze ideeën maar de toekomst ziet er hoopvol uit. 6

6 Conclusie Het lijkt ons dus goed mogelijk in de toekomst gebruik te kunnen gaan maken van de genoemde leermethodes. Op dit moment zijn echter de capaciteiten niet toereikend. Het is daarentegen wel een mooie tijd om daadwerkelijk met onderzoek te beginnen, want tegen de tijd dat alle mogelijkheden in kaart zijn gebracht zal het niet al te lang meer duren voor het ook toegepast kan worden. Samenvattend dachten wij dus aan de volgende oplossingen voor kunstmatige intelligentie in moderne spellen hoewel enkele van deze oplossingen niet de naam kunstmatige intelligentie mogen dragen, zijn ze wel benodigd om een capabele tegenstander te maken: - De computer moet een eigen blikveld hebben waardoor hij niet het hele speelveld ziet en weet. - De computer moet zijn eigen tactieken genereren aan de hand van een aantal basisregels die hij combineert tot eigen strategieen - De computer moet zijn uitgevoerde tactieken toetsen aan de hand van een controlemechanisme dat beoordeelt of de acties succesvol zijn geweest en ze vervolgens intact laten of aanpassen. - De computer moet al zijn uitgevoerde acties opslaan om zodoende een speelveld of sowieso het hele spel te leren. Hij moet dus niet bij een nieuw speelveld al weten hoe het in elkaar zit, hij moet dit zelf ontdekken. - De computer moet een aantal beperkingen opgelegd krijgen om zo 1) te voorkomen dat er een perfecte tegenstander wordt ontwikkeld en om 2) de mogelijkheid te creëren op verschillende niveaus te spelen. Deze vijf toepassingen zouden er voor moeten zorgen dat de computertegenstander een stuk uitdagender wordt om tegen te spelen en we hopen zelfs dat de computertegenstander niet meer herkenbaar is van een menselijke speler. 7