I was talking about an universal problem solving algorithm previously. I`m going to explain how solving basic physical tasks/problems should work. It`s pretty simple stuff. Basically a robot needs to figure out what the end result he`s chasing look like, usually that`s an object in a certain position, he needs to that mark that position, than he needs to mark what the current position of the object is, finally the robot need to calculate the intermediary steps between the two marked positions. So if a robot need to open a door of a car that is currently closed he needs to `visualize` the door in the opened position first and calculate the intermediate steps between that position and the position the door is currently in.
In order to achieve this task the robot needs to know a car is made of parts, a sensorial scan of a car from outside will reveal a single object. So the robot need to scan the car, identify it as a car and match on the car the default car components that he has in memory.
There is a thin line between easy and hard problems here. For example, the task is to pick up a box and place it on a table. That's easy, and i'll be able to make my NPCs do this while looking natural. I think of it like the usual actions we have in a point and click adventure, beside the obvious locomotion functionality.
But let's change the example just slightly: There is a whole stack of boxes, and the AI has to figure out a target packing so all the boxes fit on the table. Or to make it even harder, make the table another larger box itself, or make the many boxes of different sizes. That's a kind of Tetris problem then, and true intelligence would be required. Or some specific training / algorithm if we know about the expected problem in advance, like spatial packing stable under gravity in this case.
For such scenes, we'll still need static data describing the solution of the problem, similar to animation. It could be manually created data of an ordered list of box target positions. Though, such solution isn't truly dynamic and interactive. The player could take away one box so the final arrangement as planned would no longer be stable. The NPC would fail at the task to play a game of Jenga, probably looking as silly as running against walls or in circles.
No matter how far we get, this always remains a challenging constraint of game design: We must hide our restrictions as good as possible, while also maximizing the new options enabled from new technology. But usually, new options and new restrictions are closely related and just beside each other. In this sense, we have a much harder time than static media like books or movies.