Home

  Publications

  Research

  Teaching

  Soapbox
    Bonus
    BioWare Visit
    AI in AI

  Contact

  CV

  Games

  Links

  Python Book

  Blog

 

BioWare Visit, May 28, 2003

May 28, 2003 I visited BioWare Corp., to discuss my experiments with adaptive game AI. I talked with Mark Brockington, Brent Knowles and Preston Watamaniuk. All three worked on Neverwinter Nights and other BioWare games. Brent and Preston have done a great deal of work on the NWN game AI. On the same day I reported on this visit to my colleagues in The Netherlands by email. This is an excerpt from the email. It is in Dutch, but I may translate it later to English.


Allereerst de belangrijke aspecten van AI in commerciele games. Uiteraard zijn de zaken die ik al noemde in mijn paper van belang [snelheid, effectiviteit, robustheid, efficiency, en begrijpbaarheid van de resulterende code]. Ze [Mark, Brent en Preston] legden de nadruk erop dat de AI "fun" moet zijn. Volgens Brent was het niet zo moeilijk AI te bouwen die de speler verslaat, maar uiteraard hoorde daarbij dat de opponenten van de speler krachtiger zijn dan de speler zelf. Als ze van evenredige kracht zijn wint de speler, hoe goed de AI ook is, TENZIJ er heel veel microbeslissingen genomen moeten worden, waarin de computer uiteraard beter is. Echter, veel micro-beslissingen zijn zowieso niet leuk voor een speler, dus die halen ze er toch uit (als voorbeeld gaf Brent dat in een spel als Baldur's Gate een hoog-niveau "fighter" personage per gevechtsronde vier verschillende dingen kan doen. Een menselijke speler neemt geen vier verschillende beslissingen per gevechtsronde, dus ze hebben de engine aangepast zodat de hoog-niveau "fighter" altijd vier keer hetzelfde doet in een ronde).

Als adaptieve AI ervoor kan zorgen dat een spel uitdagend blijft, is dat zeer welkom, aldus de heren van Bioware. Uiteraard mag het niet gaan ten koste van de fun. Daarbij gaf Brent aan dat het zeer belangrijk is dat de AI variëteit vertoont. Als de AI ontdekt dat een bepaalde stijl van spelen zeer goed werkt tegen een menselijke speler, dan is het toch niet goed als hij die tactiek steeds herhaalt. Hij moet andere dingen proberen, en wellicht moet adaptieve AI meerdere manieren zien te ontdekken om een bepaald probleem aan te pakken. Op zich zou dat ook moeten kunnen met mijn dynamic scripting techniek. Tenslotte, als meerdere regels goed zijn om iets aan te pakken moeten ze allemaal boven kunnen komen drijven. Mark gaf ook aan dat je regels die goed werken bewust uit kunt schakelen om te zien of andere regels dan het probleem weten aan te pakken.

Alledrie de Bioware medewerkers zagen veel waarde in het gebruiken van offline learning in de QA fase van een spel. Ze kwamen zelf naar voren met het idee dat je dat kunt gebruiken om bugs en "exploits" uit de AI te halen (wat ik al eerder heb aangegeven). Ze zagen ook mogelijkheden om de AI middels offline learning te optimaliseren door nieuwe regels te ontdekken. Zoiets moet natuurlijk wel vroegtijdig in een ontwikkeltraject ingepland worden. Preston voerde als bezwaar aan dat als je middels offline learning ontdekt dat er problemen zijn met de balancing van de elementen van het spel (bijvoorbeeld wapens die gewoon te krachtig zijn), dat je dan de engine aanpast en daardoor de AI die je geleerd hebt niet meer werkt. Maar Mark voerde onmiddellijk aan dat je dan offline learning gewoon opnieuw toepast om te zien wat er dan boven komt. Hij gaf ook aan dat het nu ook een probleem was dat ze in een nieuw ontwikkeld spel eigenlijk niet meer voldoende aan balancing konden doen in de latere testfases. Immers, de AI is dan al handmatig ontwikkeld, en als ze vervolgens de features gaan aanpassen, werkt het handmatig ontwikkelde spul ook niet meer. Met offline learning kun je in ieder geval automatisch nieuwe AI genereren en zien in hoeverre de bestaande AI nog werkt. Al met al was er dus veel interesse voor offline technieken, maar ik denk dat het wel belangrijk is iets als scripts te gebruiken om dat te doen, zodat ze de AI kunnen analyseren.

Wat ze ook zagen als een mogelijkheid is dat als de QA testers allemaal dezelfde tactiek gaan toepassen, omdat die nou eenmaal goed werkt, de online adaptieve AI dat naar voren zou laten komen. Immers, die begint steeds dezelfde tegenacties te ontwikkelen. Vervolgens kun je daarmee de game balancing sturen, door de zaken die de QA testers steeds doen zwakker te maken. Of ze online adaptation in een release-versie van een spel zullen stoppen is een wat moeilijkere beslissing. Als ze willen overwegen dat te doen (en die overweging willen ze best maken), dan moet dat in een zeer vroeg stadium van een spel gebeuren. Het is niet iets wat je er even aan het eind gaat inbouwen. En het is iets dat zeer goed getest moet worden. Al met al had ik niets anders verwacht, en ben eigenlijk al blij dat ze zeiden dat ze er open voor stonden. Wat betreft de fitness function, was volgens hun, zoals ik voorstelde, "prolonging encounters before the computer controlled opponents lose the fight" wellicht een goede aanpak (hoewel het m.i. ook weer niet te lang moet duren; zoals altijd is de "entertainment factor" van doorslaggevend belang).


Pieter Spronck, May 28, 2003.