I stole an NPC's bow and arrow, that they practiced archery with.
The only alteration to their schedule was they would then spend 4 hours every day staring at a target. They never obtained another bow and arrow, they certainly never went shopping... So, from a certain view point, that could be said to be bland and lifeless.
Please. Animations are not AI. The AI in Oblivion IS bland and lifeless, the only thing I've ever observed them to obtain from another source is food. I've certainly never pick-pocketed a potion they made themselves. Ideally, the AI would be able to do a little problem solving, would a little less homicidal in nature and they would have their own goals and so on.
It's RIDICULOUSLY easy to program a schedule. It's hardly revolutionary. If anything, the video game industry was slow off the mark.
Do you know scheduled AI is called? It's called a program. That's not AI at all. The Radiant AI in Oblivion were little more than glorified floor turtles, and that concept has been a fundamental part of programming for at least 40 years. The NPC's COULD do actions spontaneously, but a very small % of them actually did.
... but "A.I"
IS a program. No matter how you put it, no matter what it is you want the NPC to do, the NPC has to be told in some way or another to do it, whether it is a direct command, or when certain variables are met. Nevertheless, the NPC needs to be told what to do.
And it is not a question of whether it could be done or not. Sure, with enough engineers, time, and processing power, you can have a fairly decent life simulator, but surely it isn't going to run on your laptop and surely it isn't going to cost you $50.00. And that's just to code the possible outcomes, as the decision trees would be huge; never mind all the animations and instructions to make those decisions happen. And if you thought video games are buggy now...
The example you describe happens to be a perfect example of the misconception of video game "A.I."
Two things happened there:
1.- You expected a
specific NPC behavior after an action, namely stealing the NPCs bow AND stalking him to see what he would do next.
2.- the developers did not foresee that action (the stealing part, sure; the stalking part to see what it'd do next, no), nor the specific behavior you expected to see from this NPC who really is inconsequential to the story.
So you
expected this archer to engage on this
very specific behavior of just going shopping to get another bow an arrow. To you, that seems like the next logical step. OK. Well, first, this is not the next logical step, right? First, he needs to realize the bow is gone, right? Or do you just want to skip that part where he looks for his bow and asks people if they have not seen his bow? Or you just want him to be programmed with "bow not here, therefore go to shop and buy another"?
Ok, so let's say that you don't want the NPC to
come to the decision or realization his bow is gone (but why wouldn't you? You want "A.I.", right? ) and he goes right into "bow not here, therefore must buy another". But before I continue, are you sure you just want the NPC to go out and buy a new one? How about the NPC realizing it is stolen and reporting it to the guard? No? Ok... let's move on. So, does the NPC know where the store is? Let's say he's been programmed to know where to go. How about money? Does the NPC have enough money? Yes, no problem. No? Ok. NOW what is the NPC going to do? Stand there not knowing what to do? Of course not. You want the NPC to be able to realize he has not enough money and now he has to go and get the money, right? How does the NPC get money? Get a job? Steal it? Sell some stuff? How?
Even though I have not really touched on all the possibilities, and I am not even close to finishing it, I am going to stop the description of this one particular behavioral tree right tere. The point I am trying to get across is simple, so I'll iterate: no NPC in any game can make a decision on its own. "A.I." is still a program, and a developer has to code in every action/decision an NPC could do, whether it is the result of a direct set of instructions to do specific tasks, or a sum of different variables to trigger said action/decision. Unless you code, you can't really imagine the amount of work to it takes to code one single behavioral tree, never mind 1000s, if not millions, of behavioral trees that would need to be coded to support players' whimsical decisions, as it is seeing what an NPC does next after you steal something from him.
You know what is funny? In your scenario of stealing an NPC's bow, one of the possible behaviors would be the bow you stole was very important to the NPC, so the becomes depressed, and has nothing better to do but stare all day at the target he loved to shoot at