My thesis work: Managing actions through automated planning

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
Post Reply
Nikko_Bertoa
Posts: 42
Joined: Wed Feb 18, 2009 5:26 am

My thesis work: Managing actions through automated planning

Post by Nikko_Bertoa »

The goal of this work is to design and implement an agent which generates hints for a player in first person shooter game. The agent is a computer-controlled character which collaborates with the player to achieve the goal of the game. Such agent uses state of the art reasoning techniques from the area of artificial intelligence planning in order to come up with the content of the instructions. Moreover, it applies techniques from the area of natural language generation to generate the hints. As a result the instructions are both causally appropriate at the point in which they are uttered and relevant to the goal of the game.

The game scenario, called Igor, was developed by me using Irrlicht engine and Irrwizard framework. Extensions are implemented in C++.
As in most FPS games the player is situated in a 3D world where he can perform several actions such as walk, jump, climb stairs, shoot and pick up different items which have different effects. The goal of the game is to kill a creature that is wandering in the 3D world. The creature cannot be killed only by shooting at it because it has a self healing mechanism that needs to be turned off first by dis-activating a series of power rays in a given order.

The agent knows which is the right sequence of rays as well as the position
of each of these rays. It is also able to recognize other items (such as poison
or health) and is aware of their effect. All this information is stored in the
specification that is sent to the planner and the planner returns a sequence of
actions that, if executed in the current state of the game, would achieve the
goal of the game.


You can see a video demostration at

http://www.youtube.com/watch?v=9DzZBXRBgVI

http://www.youtube.com/watch?v=TH-d7iDq-AE
Last edited by Nikko_Bertoa on Wed Dec 01, 2010 3:50 am, edited 1 time in total.
Josh1billion
Posts: 125
Joined: Thu Dec 11, 2008 9:50 pm
Location: Wisconsin
Contact:

Post by Josh1billion »

Very cool. :) Just don't let the Call of Duty team get a hold of it, otherwise the shooter generation will become even more dumbed down than it already is.. ;)

Honestly though, it is very cool. This could be great for use in early-game tutorials in particular. Reminds me of the introductory tutorial of Splinter Cell in a way ("climb the ladder", "slide down the pole", etc.).
www.JoshForde.com

Latest release: Super Orbulite World.
In development: Season of Dreams and others
Nikko_Bertoa
Posts: 42
Joined: Wed Feb 18, 2009 5:26 am

Post by Nikko_Bertoa »

@Josh1billion:

Thanks for your comments!

The main purpose of this work is demostrate that this can be used in game tutorials.
slavik262
Posts: 753
Joined: Sun Nov 22, 2009 9:25 pm
Location: Wisconsin, USA

Post by slavik262 »

Would it be possible to replace the text with audio cues? Also, is it possible for the cues to only be displayed or played as audio when the player is not on track? This way, the cues would only be given when needed. If these could be done, I think it would be a very promising system.
Nikko_Bertoa
Posts: 42
Joined: Wed Feb 18, 2009 5:26 am

Post by Nikko_Bertoa »

@slavik262:

Thanks for your comments!

I thought to do that. The weak point that i find is that the player can follow the instructions much better when it reads.
CuteAlien
Admin
Posts: 9734
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Post by CuteAlien »

What happens if the player doesn't follow the instructions but for example collects the ray in a wrong order or gets killed by poison?
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
Nikko_Bertoa
Posts: 42
Joined: Wed Feb 18, 2009 5:26 am

Post by Nikko_Bertoa »

@CuteAlien:

If the player collects a ray in the wrong order, the sequence is resetted and must begin again.
If the player dies because the enemy kills him or because a poison kills him, the level finishes and shows the credits screen.
grumpymonkey
Posts: 222
Joined: Mon Jan 19, 2009 10:03 pm
Location: Miami, Florida
Contact:

Post by grumpymonkey »

nice, maybe this could be turned into a cool game by adapting the AI so it can be an assistant or team member that actually moves around and talks to the player.

anyways nice job with this, it did seem to get really confusing though when the text moved too fast in the beginning, I think the AI shouldn't tell you EVERYTHING. instead of "turn left ... see those stairs? ... go down the stairs"
it could say something like "take the stairs behind you". That way the player won't feel like he's not smart enough to find the stairs by himself :P
Image
Nikko_Bertoa
Posts: 42
Joined: Wed Feb 18, 2009 5:26 am

Post by Nikko_Bertoa »

@grumpymonkey:

Thanks for your comments!!!
nice, maybe this could be turned into a cool game by adapting the AI so it can be an assistant or team member that actually moves around and talks to the player.
I agree, this can be an excellent application of this work.


anyways nice job with this, it did seem to get really confusing though when the text moved too fast in the beginning, I think the AI shouldn't tell you EVERYTHING. instead of "turn left ... see those stairs? ... go down the stairs"
it could say something like "take the stairs behind you". That way the player won't feel like he's not smart enough to find the stairs by himself
This is an important observation. We need to define the granularity of instructions. Later we will evaluate the system with a lot of people and analyze the results to improve that.
Nikko_Bertoa
Posts: 42
Joined: Wed Feb 18, 2009 5:26 am

Post by Nikko_Bertoa »

Post Reply