Research and Development 1/^Archief/2008-2009/AI video games/Pilot
Inhoud
Onderzoeksvraag en Aanpak
- Onderzoeksvraag
Waaraan kun je de 'bots' van de menselijke spelers onderscheiden
- Algemene aanpak
Voor ons pilot onderzoek richten we ons vooral op FPS Games. In FPS Games kan een eigen servertje worden opgestart
vanaf een computer waarin vervolgens een aantal 'Bots' (een door de computer gestuurde speler) en een aantal echte
spelers kunnen spelen. De 'Bots' kunnen helemaal naar speel niveau worden ingesteld. Denk aan makkelijk, moeilijk en
onmogelijk om te verslaan. Op deze manier kunnen we een aantal proefpersonen laten spelen en kijken of zij de 'Bots' eruit
kunnen halen. Op deze manier verwachten we een omslag niveau te vinden waarbij de proefpersonen er absoluut zeker van
zijn dat ze tegenover een computer staan. Hiervoor hebben we dus ook echte spelers van verschillende niveau's nodig.
Als dit omslagpunt gevonden is kunnen we ons ook richten op punten als:
Waarom denken de proefpersonen dat ze tegen een computer spelen, of waarom niet.
Als je weet dat je tegen een computer speelt, ga je dan anders spelen als dat je weet dat je tegen een mens speelt?
We verwachten dat hieruit een aantal mooie patronen zullen rollen.
We gaan gebruik maken van de volgende game: 'Counter-Strike Source'.
Werkplan voor het onderzoek
- Opstelling
We hebben 2 kamers, in kamer 1 zitten 2 spelers met 2 computers met daarop de "games" die we gaan testen.
In kamer 2 zit de testpersoon met ook zo'n computer. De computers zijn met een LAN-verbinding op elkaar
aangesloten en ze nemen deel aan een LAN-server van de betreffende game. Op de server zitten 2 menselijke
spelers, 7 'bots' en 1 testpersoon (ook menselijk natuurlijk). We spelen het speltype 'Demolition' in Counter-strike
(2 teams, eentje moet de bom laten ontploffen en de ander moet dit voorkomen).
- Plan van aanpak
We gaan gaan alleen testen op de game: Counter-strike.
De 2 menselijke spelers blijven op hun eigen niveau spelen terwijl we het niveau van de 'bots' laten variëren tussen
3 niveau's (makkelijk, normaal en moeilijk) Elke test duurt 15 minuten. Dit betekent dat elke testpersoon
de test 3x15 minuten uitvoert. De testpersoon krijgt alleen te horen dat er 2 menselijke spelers zijn, verder
vertellen we de testpersoon niets (niet op welk niveau de 'bots' staan, niet in welk team de menselijke spelers zitten etc.).
Op het einde moet de testpersoon ons vertellen wie hij/zij denkt dat de menselijke spelers zijn van alle spelers (ze mogen
niet de scores bekijken en ze mogen ook niet gokken).
- Vragenlijst voor de testpersonen
- Weet jij welke 2 spelers de menselijke spelers zijn; zo ja:
- Welke 2 spelers verdenk jij ervan de menselijke spelers te zijn?
- Hoe zeker ben je van je zaak?
- Op welk moment (na hoeveel minuten) kreeg jij het gevoel dat deze spelers echte mensen zijn?
- In welk opzicht onderscheiden de door jou gekozen spelers zich van de rest?
- Vond je de door jou gekozen spelers beter of slechter dan de rest van de spelers ('bots')?
- zo nee:
- Hoe komt het dat je de echte spelers niet van de 'bots' kunt onderscheiden?
- Hypothese
Wij denken dat het van de moeilijkheidsgraad van de bots afhangt of ze herkend worden of niet. De makkelijke bots zullen
er zo uitgeplukt worden is de verwachting. Deze bots lopen namelijk overduidelijk elke keer dezelfde weg en reageren op exact
dezelfde manier. Dus het is zeer voor de hand liggend dat de echte spelers het moeilijkste te herkennen zijn als de vaardigheid
van de bots dicht bij de vaardigheid van de echte speler ligt. Dit zal rond het medium niveau liggen. Maar toch zullen er nog
significante verschillen te zien zijn, als je weet waar je op moet letten. Wij zijn dus erg benieuwd naar de resultaten.
Onderzoeksopstelling
- Voorbereidingen
De opstelling waarmee we ons pilot onderzoek gaan doen is als volgt. We maken gebruik van twee kamers en drie computers.
Één enkele computer op de eerste kamer, en de twee andere computers op kamer twee. Alle computers zijn verbonden via een LAN.
De testpersoon gaat zitten in kamer 1 en de twee menselijke spelers op kamer 2. Tussen kamer 1 en kamer 2 is voldoende
afstand zodat er niet via geschreeuw of wat dan ook (van: SHIT IK BEN DOOD!!) kan worden afgeleid wie een menselijke speler is.
De instellingen van de computer op kamer 1 zijn wat aangepast. Zo kan er tijdens het spelen niet worden gekeken naar de score.
Dit omdat het spel CSS in de score tabel laat zien wie er bot is en wie niet. En dus om het onderzoek eerlijk te houden hebben we
dit soort functies in het spel uitgezet. Verder is het belangrijk dat de menselijke spelers dezelfde namen aannemen als de bots.
We hebben dus eerst het spel opgestart zonder testpersoon om wat namen uit te zoeken.
- Tijdens het onderzoek
Voordat we de testpersoon de test omgeving laten joinen checken we eerst nog even alle namen om er zeker van te zijn dat
er geen dubbele namen of iets dergelijks in voor komen. Vervolgens mag de testpersoon de server inkomen om te gaan spelen.
De server staat ingesteld op 17 minuten voor de map. Dat betekend dat de server na 17 minuten ermee stopt. Dit geeft ons meer
dan genoeg tijd om de test van 15 min uit te voeren.
Als de testpersoon er achter denkt te zijn wordt het spel gestopt en worden de resultaten bekeken. Het spel wordt ook gestopt als er
15 min gespeeld is.
Resultaten
- Achtergrond informatie
Engels
- Games met AI met commentaar van een programmeur: GameAi.com
- Game AI volgens Wikipedia: Game AI Wikipedia
- Een verslag over Game AI Artificial Intelligence in Games
- Computer game bot voglens Wikipedia 'Bots' Wikipedia
Nederlands
- Game AI volgens Wikipedia: AI in computerspellen
- Artikel over Game AI Creatieve AI in computerspellen
- Samenvatting
Bots kunnen statisch of dynamisch zijn.
Statische bots zijn zo ingesteld dat ze voorgeprogrammeerde waypoints of routes voor elke map kunnen volgen.
Deze bots hebben een uniek waypoint bestandje voor elke map nodig. Of er moet in elke map een route systeem zijn verwerkt.
Counter-Strike bots gebruiken een waypoint bestandje terwijl de bots uit Unreal Tournament een route systeem gebruiken.
Dynamische bots aan de andere kant leren de dynamiek van een map die ze spelen. RealBot voor Counter-Strike Source is hier
een voorbeeld van. Deze bots gebruiken zowel statische als dynamische elementen.
Resultaten van onderzoek
Uit ons onderzoek bleek dat drie van vier mensen alle bots konden herkennen na een bepaalde tijd spelen (zie grafiek hieronder). Dit waren de spelers die
of het spel al goed kende of veel ervaring hadden met het fps genre. Testpersoon 1 kon geen van de menselijke spelers onderscheiden van de bots. Testpersoon 1
had geen ervaring met het gebruikte spel Counterstrike Source. De voornaamste redenen waaraan de menselijke spelers de bots konden herkennen waren
- De bots keken en bewogen niet tijdens het begin van de ronden. Een menselijke speler doet dit meestal wel.
- Bots campen. Ze gaan op voorgeprogrammeerde plekken op de map zitten en wachten hier dan totdat er een speler langskomt.
- De bots gaan ruim de bocht door. Menselijke spelers snijden meestal bochten af of springen over muurtjes heen omdat dit sneller is.
- De bots staan stil als ze schieten. Dit doen menselijke spelers niet. Menselijke spelers proberen juist zoveel mogelijk te bewegen om het zo moeillijker te maken voor de tegenstanders
- De bots kijken heel schokkerig. Menselijke spelers kijken veel vloeiender.
Conclusie
Met dit pilot onderzoek wilden wij gaan kijken of het mogelijk was om de bots uit het spel Counterstrike Source te onderscheiden waren van menselijke spelers.
Dit blijkt inderdaard het geval. Mensen die al ervaring hebben met fps games kunnen dit sneller en beter dan mensen zonder ervaring.
Verder kwamen de redenen waaraan de menselijke spelers de bots herkende overeen met elkaar. Hierdoor weten we dat er niet gegokt is tijdens het onderzoek.
Verder bleek het heel lastig te om de bots te herkennen als je deze niet kon 'spectaten'. Spectaten houdt in dat je door de ogen van de bots kan kijken als je
zelf dood gaat in het spel. Enkele verbeterpunten voor het vervolg van ons onderzoek zijn:
- Bij meer video games de AI testen
- Meer testpersonen en meer verschillende soorten testpersonen. Hierbij kun je denken aan verschil in leeftijd en verschil in ervaring met games.