Neverwinter Nights
    Frank's Zoo






  Python Book


Neverwinter Nights

Adaptive Game Opponent AI

My thesis research is into adaptive game opponent AI. Several papers I published on this subject are found on the publications page. I am exploring this subject both in theory and in practice. For my practical experiments I am currently using the state-of-the-art Computer RolePlaying Game Neverwinter Nights.

Online Adaptation in Neverwinter Nights

I did some experiments with online adaptation of game AI in Neverwinter Nights. To that end I developed a Neverwinter Nights module. It is reported on in several papers that can be found on the publications page, of which the most important one is the one that was published in Machine Learning, which is based on my GAME-ON 2003 paper, which won two awards. Note that to repeat the experiments, you have to activate learning method 1, by pulling the chain to your left when you start the module. Also, you have to activate learning itself by pulling the lever to the left of the entrance to the arena.

Older versions:

Note: BioWare has changed the AI in Neverwinter Nights significantly between versions 1.29 and 1.31. If you load an older module (such as version 1) in the Aurora toolset in a recent version and recompile it, the AI used by the opponents will become a lot better. You will find that dynamic scripting is still able to learn a defeating strategy, but it will take a bit longer than reported in my publications (it was 20-30 encounters on average, and my current estimate with the new AI is 30-40 encounters on average). What is kind of funny is that the strategy now employed by the opponents is very similar to the strategy that dynamic scripting often learned when pitted against the earlier AI. I find it striking that dynamic scripting managed to discover in half an hour something that BioWare only added to the game after it had been out for more than a year and had been patched over a dozen times. Incidentally, the new AI still contains possible exploits - perhaps even more, since it is more deterministic than the earlier AI.