The behavior of computer controlled agents in video games is generally determined by one of two methods. The actions of agents can be scripted; in which case every move and action an agent takes is pre-specified before run-time. Alternatively agents can be programmed with autonomous behaviors; in which case actions are determined procedurally during run-time. Each method has advantages and disadvantages. The two methods can be seamlessly integrated using a task management system in which agents reconcile both scripted and autonomous behaviors in the form of assigned tasks.