Using First Order Inductive Learning as an Alternative to a Simulator in a Game Artificial Intelligence

Currently many game artificial intelligences attempt to determine their next moves by using a simulator to predict the effect of actions in the world. However, writing such a simulator is time-consuming, and the simulator must be changed substantially whenever a detail in the game design is modified. As such, this research project set out to determine if a version of the first order inductive learning algorithm could be used to learn rules that could then be used in place of a simulator.

We used an existing game artificial intelligence system called Darmok 2. By eliminating the need to write a simulator for each game by hand, the entire Darmok 2 project could more easily adapt to additional real-time strategy games. Over time, Darmok 2 would also be able to provide better competition for human players by training the artificial intelligences to play against the style of a specific player. Most importantly, Darmok 2 might also be able to create a general solution for creating game artificial intelligences, which could save game development companies a substantial amount of money, time, and effort.

Read the thesis:

Using First Order Inductive Learning as an Alternative to a Simulator in a Game Artificial Intelligence

by Katie Long

Undergraduate Thesis, College of Computing, Georgia Institute of Technology, Atlanta, GA, 2009

3 responses to this post.

  1. Posted by Nithia V on July 4, 2011 at 4:10 am


    I am refering this thesis for my post graduation project. I could understand that you are creating traces about user’s actions and applying FOIL to come up with rules. But how these traces are collected ? Is it like the entire game is re-programmed to collect the traces or we could make use of some existing games and collect the traces ?

    Appreciate your reply.

    Nithia V


  2. Posted by Katie Genter on July 5, 2011 at 3:20 am

    We collected traces by just collecting information about goal, sensor, and difference states at each time step. You could use existing games, as long as you can collect information about goal, sensor, and difference states throughout the game (which should be simple in any open source game, and likely feasible in many other games). In my case, I used games designed by others in our group – but I didn’t have to re-program the entire game by any means.

    Reply if you have additional questions. I’m glad you are referencing our work.


  3. Posted by Santi on July 5, 2011 at 6:57 am

    Hi Nithia, in this case, we created the games ourselves, so it was easy to record the traces. However, there are many existing games for which it would be easy to collect traces. For example, in our previous research we had use Wargus (an open source implementation of Warcraft 2), which allowed for easy trace recording.

    Hope this helps



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: