Original Post
okay, just an idea that''s been going around in my head. i''ve been trying to think of a way to let agents learn (forget what, just learn). i thought of using neural nets, but i didn''t like the idea of try, die, try, die and so on. I wanted them to learn in real-time. So, i came up with the idea of AI tags.
let''s take a (well, in this case) simple setting. you need to destroy a crate, but arn''t strong enough to do it by hand (you have no weapons). So, the agent analysis everything around the area. It sees a large object suspended over the crate by a rope. The object has the "DROP" and "HEAVY" tags, i.e. it can fall down and is very heavy. Using some basic math which the agent can work out if the drop would break the crate. the answer is yes. So, how to drop the object. The rope (dont ask how the agent knows it''s holding the object up, it just does). The rope has the "CUT", "UNTIE1" and "UNTIE2" tags. "CUT" means it can be cut, "untie1" means it can be untied at the first end (holding the object), and "untie2" means it can be untied at the other end (on a rail).
now, first of all it checks to see if it can cut the rope. nope, nothing around to cut it. secondly, it checks to see if it can untie it. Untying a rope requires you to be within reaching distance (again, that can be calculated). can it get within range? no. now, lets check for untie2. yep, it can reach the rail. so, the agent then finds a way to reach the rail and walks to it. it then remembers what it had to do then (untie end 2), which will then cause the object to drop, causing the crate to smash. very simple. the end result is a rope that has two tags remaining (untie1 and cut), an object that has 1 tag remaining (heavy) and a broken crate.
one problem - how to implement in C, or preferably, a C library which exports functions into lua
thanks in advance