Inhoud leereenheid 1
AI voor computerspelen 1.1 1.2 1.3
14
Onderwerp 15 Studeeraanwijzingen Aanvullingen 15
15
Leereenheid 1 AI voor computerspelen
Leereenheid 1
AI voor computerspelen
1.1
Onderwerp
Het onderwerp van dit hoofdstuk is een globale introductie tot kunstmatige intelligentie, specifiek in relatie tot spelen. 1.2
Studeeraanwijzingen
Bij dit onderwerp hoort Hoofdstuk 1 van het boek van Millington. – U leest de introducerende tekst (pagina 3–4). – U leest sectie 1.1, ‘What is AI?’ – U bestudeert sectie 1.2, ‘My Model of Game AI’. De rest van het hoofdstuk kunt u overslaan. 1.3
Serious games
Aanvullingen
Moderne computerspelen zijn voornamelijk bekend om hun rol in de wereld van entertainment. De laatste jaren echter hebben de opkomst gezien van de zogenaamde ‘serious games’, computerspelen die gebruikt worden met een andere functie dan amusement. Bij serious games onderscheiden we: – trainingsomgevingen, die bijvoorbeeld gebruikt worden door defensie (zoals AMERICA’S ARMY) en reddingsdiensten – educatieve games, die gebruikt worden in bijvoorbeeld scholen – simulaties, die gebruikt worden door bedrijven om inzicht te krijgen in bedrijfsprocessen. Uiteraard bestaat de laatste categorie al behoorlijk lang. De laatste jaren heeft men dit echter nieuw leven ingeblazen door er de term ‘gaming’ aan te hangen. Niveaus
AI niveaus
Globaal gezien worden er drie niveaus onderkend van AI in spelen. Het hoogste is het strategische niveau. Dit omvat alle het-volledige-spelomvattende beslissingen, zonder daarbij in details te treden. Naast het strategische niveau is er het tactische niveau. Een tactiek bestaat uit een serie van beslissingen van een klein team van personages in een spel om een korte-termijn doel te bereiken. Tenslotte is er het operationele niveau, waar het gaat om de details van de handelingen van een spelpersonage, met als doel een specifieke actie uit te voeren. Bijvoorbeeld: Een strategie van het rode leger kan zijn om het blauwe leger uit te schakelen door eerst alle voedselvoorziening van het blauwe leger te vernietigen, waarna de soldaten worden uitgehongerd. Een tactiek kan zijn dat een klein team van rode soldaten een specifieke voedselproducent uitschakelt door alle blauwe bewakers ervan uit te schakelen, waarna de producent met de grond gelijk gemaakt wordt.
OUN
15
Een operatie kan zijn de handelingen van een rode soldaat die een aanval uitvoert op een blauwe soldaat. Uiteraard is het een arbitraire beslissing om te spreken over slechts drie niveaus van beslissingen. In de praktijk kunnen vaak meer niveaus onderscheiden worden. In het spraakgebruik worden echter de drie niveaus gehanteerd als hierboven beschreven. Categorieën Categorieën spelen
Er zijn allerlei manieren om spelen in categorieën onder te verdelen, maar geen ervan wordt als canoniek geaccepteerd. Een mogelijke verdeling van soorten spelen volgt hieronder. Strategiespelen (strategy games) zijn spelen waarbij een leger wordt opgezet en uitgebouwd met als doel de legers van tegenstanders uit te schakelen. De twee voornaamste soorten strategiespelen zijn: – Turn-Based Strategy (TBS) games (zoals CIVILIZATION), waarbij de spelers sequentieel handelen, meer tijd hebben om beslissingen te nemen, en diplomatie vaak een rol speelt – Real-Time Strategy (RTS) games (zoals WARCRAFT), waarbij de spelers parallel handelen, en voornamelijk bezig zijn met het voeren van oorlog. AI in strategiespelen bestuurt het gedrag van de ‘opperbevelhebber’ van een leger, en bestaat daarom voornamelijk op strategisch en tactisch niveau. Rollenspelen (role-playing games; RPGs) zijn spelen waarbij een personage of een klein team van personen aangestuurd en ontwikkeld wordt om in een virtuele wereld een queeste te volbrengen. Naast de reguliere ‘singleplayer’ RPGs (zoals BALDUR’S GATE), vallen ook de meeste Massive Multiplayer Online Games (MMOGs; zoals WORLD OF WARCRAFT) onder deze categorie. De AI in RPGs bestuurt het gedrag van personages in een complexe wereld met zeer veel mogelijkheden, en bestaat daarom voornamelijk op tactisch en operationeel gebied. Actiespelen (action games) zijn spelen die voornamelijk draaien om de reflexen van de speler. Onder actiespelen vallen onder andere First Person Shooters (FPSs; zoals QUAKE), ‘stealth games’ (zoals THIEF), sports games (zoals FIFA SOCCER) en ‘platform games’ (zoals SUPER MARIO BROS). AI in actiespelen bestuurt het gedrag van de individuele tegenstanders in een relatief simpele wereld met weinig mogelijkheden, en bestaat daarom voornamelijk op operationeel niveau. Simulaties zijn spelen waarin een aspect van de werkelijke wereld wordt gesimuleerd. Onder simulaties vallen onder andere voertuigsimulaties (zoals FLIGHT SIMULATOR) en ‘sandbox games’ (zoals DE SIMS). Het niveau van de AI in simulaties is afhankelijk van het realisme van de simulator, maar beperkt zich over het algemeen tot het operationele niveau. Puzzels zijn spelen waarin een abstract probleem of een serie van abstracte problemen moet worden opgelost. Onder puzzels vallen onder andere ‘casual games’ (zoals BEJEWELED) en ‘adventures’ (zoals MYST). In puzzels is AI niet of nauwelijks aanwezig.
16
OUN
Leereenheid 1 AI voor computerspelen
FIGUUR 1
Spelarchitectuur
Mens en AI in een spel Spelarchitectuur
De architectuur van een spel zit in elkaar zoals afgebeeld in Figuur 11. De toestand van het spel (game state) wordt op het scherm afgebeeld door middel van een ‘renderer’. Wijzigingen in de toestand worden uitgevoerd door een simulator. De simulator heeft bijvoorbeeld kennis van natuurkundige wetten, en kan dan de baan van een voorwerp berekenen als daar een kracht op wordt uitgeoefend. Acties die wijzigingen in de wereld tot gevolg hebben, worden uitgevoerd door agenten. Een agent kan een spelpersonage zijn, maar ook een natuurkracht, zoals wind (maar over het algemeen bedoelen we personages als we het over agenten hebben). De spelpersonages worden bestuurd ofwel door AI, ofwel door de menselijke speler.
AI vs. mens
Vaak bestuurt de AI dezelfde soort personages als de mens bestuurt. Dat wil dus zeggen dat de AI dezelfde soort beslissingen moet kunnen nemen als de menselijke speler, en dus in zekere zin moet beschikken over menselijke intelligentie. Omdat spelwerelden steeds opener en complexer worden, heeft de mens steeds meer vrijheid van handelen, en kan zijn intelligentie daarom ook steeds meer tot uitdrukking brengen via de acties van het personage dat hij bestuurt. De mens verwacht dat de AI dat op dezelfde manier kan doen. De kwaliteit van de AI moet dus steeds toenemen met het complexer en realistischer worden van spelwerelden. In de praktijk blijkt dat lastig, omdat de technieken die de meeste spelontwikkelaars gebruiken voor de implementatie van AI niet geschikt zijn om grip te krijgen op de complexiteit van hedendaagse spelwerelden. De illusie van realistisch gedrag Bij veel spelen is het de bedoeling dat de AI de illusie van realistisch gedrag kan ophouden. Dat wil zeggen dat de AI de volgende eigenschappen moet hebben: – de AI moet slimme acties ondernemen, in overeenstemming met het intelligentieniveau van het wezen dat door de AI bestuurd wordt2 – de AI moet onvoorspelbaar zijn, maar wel rationeel, voor zover rationaliteit van toepassing is – de AI moet emoties kennen, die het gedrag beïnvloeden, en die door de lichaamstaal van het bestuurde wezen tot uitdrukking komen
OUN
17
– de AI moet geïntegreerd zijn in de spelwereld, dus zijn eigen rol en de rol van de menselijke speler in de omgeving onderkennen – de AI moet zich kunnen aanpassen aan veranderende omstandigheden. Onderzoek Waarom onderzoek naar AI van spelen?
Onderzoek naar de AI van spelen staat de laatste jaren erg in de belangstelling. Voor die tijd werd dit onderzoek (behalve als het om klassieke bordspelen ging) nogal eens als ‘frivool’ aangemerkt. Sinds de eeuwwisseling is onderkend dat spel AI juist een uitermate interessant onderwerp is binnen het AI onderzoeksdomein. Daar zijn, onder andere, de volgende redenen voor te geven: – spelen zijn alomtegenwoordig, en makkelijk en goedkoop aan te schaffen – spelen zijn vaak een reflectie van de werkelijke wereld, waardoor AI die iets presteert binnen een spel aanknopingspunten biedt om de AI iets te laten presteren in de ‘echte wereld’ – spelen zijn uitermate uitdagende omgevingen, vanwege de hoge complexiteit en de inherente onzekerheidsfactoren – resultaten bereikt met AI in spelen bieden vaak toepassingen in andere domeinen, zoals robots, agenttechnologie, en simulaties – spelen zijn een testomgeving voor menselijke intelligentie, en de zoektocht naar menselijke intelligentie speelt in de achtergrond mee van ieder AI onderzoek. In de volgende hoofdstukken wordt nader ingegaan op AI van spelen. Achtereenvolgens worden behandeld de beginselen van de speltheorie (hoofdstuk 2), AI voor klassieke bordspelen (hoofdstuk 3), AI voor moderne computerspelen (hoofdstukken 4 tot en met 8), en AI voor moderne bordspelen (hoofdstuk 9).
OPGAVE 1.1
Als u een spel bezit waarin virtuele wezens voorkomen (liefst mensen, en liefst mensen die niet direct vijandig zijn tegenover de speler), ga in dit spel dan eens een interactie van 5 tot 10 minuten aan met één van deze wezens. Bedenk welke ‘realistische’ reacties u van een dergelijk wezen zou verwachten, en bekijk in hoeverre deze reacties ook getoond worden. Neem ook notie van reacties die onverwacht realistisch zijn. Noten 1
Vrij naar John Funge (2004). Artificial Intelligence for Computer Games, A.K. Peters Ltd. 2 Bijvoorbeeld: van een hond in een spel mag verwacht worden dat hij voedsel eet dat binnen bereik is, blaft naar vreemden, en konijnen opjaagt; van een mens mag verwacht worden dat hij een conversatie kan voeren, vrienden begroet, de politie roept als hij getuige is van een misdaad, etc. In de praktijk is het zo dat in spelen waarin zowel mensen als honden voorkomen, deze aangestuurd worden door precies dezelfde AI – die niet eens het verwachte niveau van een hond bereikt.
18
OUN