1. A method for controlling a virtual character in a virtual space comprising: defining a plurality of rules in a rules-based system, each of said rules having a part that defines a condition that determines a behavior of a virtual agent when the rule is triggered by the condition being satisfied; upon triggering of multiple rules at the same time, combining each of the behaviors of the multiple rules whose conditions were satisfied into a resultant behavior for the virtual agent; comparing the resultant behavior with a desired behavior; and providing feedback to each of the multiple rules based on their corresponding contribution to the resultant behavior as compared to the desired behavior.