>yet the entities in video games don't _act_ like humans

This was the source of a lot of complaints about Cyberpunk 2077. They made a lavishly detailed world, but it was all a millimeter of paint over nothing. Food stalls that don't sell food, cars that disappear when you're not looking at them. As it turns out, graphics are a lot easier than behavior! We should have guessed this, but while you can see all the complicated visual detail that should be hard to replicate, behavior is invisible.

Shamus Young had a good post drilling allllll the way down into the nitty gritty details in one small AI subsystem of a game, Thief 3, and what it would mean to upgrade it: https://www.shamusyoung.com/twentysidedtale/?p=270

>In the game, you can sneak up on anyone (servants, nobility, or guards) and whack them on the back of the head to knock them out. (You can also stab someone in the back, but that’s noisy and bloody, and why kill them when you can just knock them out?) Once they are knocked out, you usually need to hide them. If you leave them laying in the middle of the room or hallway, someone else is likely to come along and discover your work. When this happens, they always assume the victim is dead. Then they start with the running and the screaming and everyone searching for you.

>This can be amusing. I was in a large manor, working my way through a sleeping area for servants. One of them was already asleep in the bunk beds, but a few others were still wandering around. I zonked one of them and placed the sleeping victim into one of the beds. I thought I was being clever. Another servant came in, saw their compatriot in the bed and exclaimed, “Dead!? But who could have killed him? I’ll go tell the guards!” Then he ran off.

>Blast it all.

>I should have known better. The AI was just looking for knocked-out people. It didn’t care where the body was. I was so into the game I stopped the metagame thinking about AI and started thinking about what I’d do in the given situation. In that situation, placing a zonked person in a bed made a lot more sense than dumping them in a corner. However, to the AI it was just a poorly hidden body. Sigh.

>But fixing this problem would be tricky, and would involve a lot of extra work. The level designers would have to designate certain areas or objects as “beds”, and the programmers would need to make it so that bodies laying on beds rouse less suspicion than bodies found elsewhere. Then they would need to add some new dialog and behavior: If an NPC sees someone “sleeping” on a bed (most likely not in their own bed) while fully clothed and while they should be working, he shouldn’t ignore them, but he also shouldn’t run away screaming about murders and dead bodies. You need some new behavior along the lines of “try to wake someone up and then discover they have been knocked out”.

>But even with that extra effort, you can still have some amusing failure modes. Placing a servant girl on a bed in the priest’s quarters or the barracks should raise some eyebrows. Likewise, stacking two or more people in the same bed should tip off guards and servants that something is amiss. It wouldn’t make sense for them to just assume they all decided to take a nap together.

>It would be annoying to code in such a way that it works right. The programmer would probably need to take the victim’s position into account as well. If I just toss somebody on the bed so that their upper body hangs over the side and their head is resting on the floor, it’s going to look pretty stupid if someone comes along and assumes they’re asleep.

>Also, it seems like the length of time since the NPC’s last saw each other should be taken into account as well. If you greet your fellow housekeeper, walk out of the room, and come back a few seconds later to find them motionless in someone else’s bed, you are not going to think they are sleeping.

And that's just one tiny detail, resulting in a vast increase of work. Our old friend, the combinatorial explosion.

A goomba in Super Mario Brothers just walks back and forth. A couple lines of code. Doing better than that is not ten times harder, it's millions of times harder! Who would pay tens of thousands of AI programmers for a decade to make a version of Cyperpunk 2077 where each noodle vendor had a name, a home, a routine, a simulated economy... If you could do it, which you can't, it would an incredible shining gem of technical achievement... but would it make the game more interesting to play? Spend a thousand times as much to make the game 1.4 times more interesting?