﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	i_links	o_links
169	Artificial Intelligence	stefalie	nobody	"= Intro =
We want smart, thinking enemies in Orxonox. This is about creating a plugable AI module to control all NPCs behavior. They should react on given situations and actions. The NPCs should also be able to work as a team and coordinate their attacks.
= Goal and Implementation =
 * Create ractions for NPCs (they can be triggered by entering a region in the world or doing some action (shooting, pushing buttons, ...). This can be achieved by using the scripting engine.
 * Make the enemies learn from past events and actions (make statistics about prior events)
 * Create am aiming and shooting module for the enemies. Change the difficulty/the NPCs strength dinamically. It should always be a challenge for the player but never an unattainable challenge. 
 * NPCs should have inner states: If the NPC sees the player it gets alerted (inner state) and changes his behavior. If the player leaves the NPCs field of view it shouldn't forget about the player and just act like nothing happened.
 * NPCs should be able to travel freely through the levels without colliding with the world, objects and other NPCs. Therefore use pathfinding algorithms.
 * Make the enemies communicate with each other and coordinate their attacks (they could attack from different directions at once or they could appear in different formations ... use your imagination)
= Information Gathering =
 * Look at the comments and the old artifical intelligence ticket (#134)
 * Use the implemented scripting engine (https://dev.orxonox.net/wiki/ScriptingHowTo)
 * http://ai-depot.com/
 * Pathfinding algorithms (http://www.devmaster.net/articles/pathfinding/, http://www.gamedev.net/reference/articles/article2003.asp, http://www.peachpit.com/articles/article.asp?p=101142&seqNum=3&rl=1)
"	task	new	major	Old Orxonox tickets orx-v0	AI			AI, Artificial Intelligence			
