We've all experienced this.
We interact with an NPC which, for example, we can ask bunch of question to, from their interaction menu. We ask them one or two question and leave their menu.
Immediately after, we interact with them again. Instead of the NPC acting like nothing just
happened, that we've been right in front of them for the last two seconds, they greet us like we've been away for five moons, and haven't spoken with them ever since!
I'm no expert, but it seems to me that a simple sensor area around an NPC, which tracks if the player has left a determined area (placed at the NPC's location), would fix these weird interactions.
A sensor area (the white cube) surrounding an NPC, that tracks if the player is inside it or not. It's not rocket science. It's one single element and perhaps one line of code to implement this.
Perhaps an additional timer attached to the sensor area, that keeps track of how long the player's been out of this sensor, and out of the NPC's sight as well.
Like, we just spoke with this NPC and apon re-interacting with them, one second later, they act like how dogs act like in IRL, where they see us exiting the house momentarily and greet us like we've been gone forever when we re-enter the house.
Dog Face image by wirestock on Freepik
There's all these improvements in video games to make characters and animations look and feel as realistic as possible, and yet, a simple system that could stop this breaking of immersion is overlooked.
Because these reactions do completely undermine the attempts at immersion and realism that games try to provide in other areas like visuals and audio. The sensor area is a really simple system that can be implemented in these situations and is much, much cheaper than - oh, i don't know - Ray Tracing(!) to make a game feel more realistic and immersive.
It's baffling to me how game devs overlook these little things, which have a huge impact on a game's appeal, and are so simple to implement.