An example of what city immersion would look like in a truly next gen Open World game...
While there are limited exceptions here and there, but when we are talking about the entire city or downtown areas as a whole, currently there are no open world games, not GTA, not CP2077, not Watchdogs series etc that have internal structures viewable through windows in skyscrapers, or otherwise large buildings in mass, as in largely applied to the entire open world city at large... For example think back to one of the Jason Bourne movies in which he gets the combination to the safe/code by using a binocular to scope out that CIA director's office etc etc...
They say all the world is a stage, but so is in gaming... the GPU only draws what you are looking at in any given moment, if you head turns around, all the scenes behind you stop being rendered (culling), but since its done so well and effectively you never realize it. In all open world games to limit resource exhaustion there is dynamic bubble around the player's current position in which NPCs and NPC vehicles are spawned in and rendered within the radius of that bubble/sphere... the rest of the city that is outside of the bubble is lifeless, static and otherwise dead... if you move fast enough sometimes in certain situations the player can outrun the bubble/sphere and realize a situation in which he suddenly turns the street corner and see no cars, no NPC players, when it was just full of people and vehicles a few moments prior before he turned the corner, which is very immersion breaking and goes to show the open world is in the end ultimately still a facade...
But there are different layers of facade-ness, so to speak. In all open world games the NPC/cars/assets that are spawned/rendered within a radius bubble sphere of the player are done so rather in a dumb manner and it's not done smartly... What I mean by this is if you get into a nasty crash at an intersection, and bust out some traffic lights, with severe cars getting totaled or caught on fire, but then drive a couple blocks down (enough for your bubble/sphere to cross out of the location of the incident/intersection) and do a U-turn and come back then everything is gone! or replaced with a perfectly fine scene as if nothing bad had happened... so there is not even the semblance of a semi-permanence or quasi-persistence in these open world games...
What they COULD do, to make it more immersive and SEEM more realistic, is whenever despawning an area that had anything out of the ordinary happen (a major car wreck definitely would be in such a category) it writes the assets and configurations to memory or even to disk, so basically saves a configuration database of which car types involved, the NPCs within each car, etc etc and writes that to a stack as a push... then when needed, when the player comes back to the same location, it pops it back out but with a "turn based" (CPU) processing based on the time that has passed... so say the player went out of range during the beginning phrases of the car wreck scene, depending upon on much time has passed since he went away when he comes back to the scene the game will intelligently guess what stage in the car wreck cleanup the area should be in, so not only realistically rendering back the cars, NPCs etc involved but also setting the stage currently so that it matches the time that has passed (most car accidents have a progression from accident to cleanup to ambulances being called if it was severe enough to finally the tow truck taking totaled cars away to the junk yard etc)
So imagine you want to people-watch as a player in a large open world urban environment.... one of the things you might want to do is watch people enter their office buildings during the day and finally watch them all exit in the evening when workday finishes... A shortcut way to go about this for example would be making all the window offices in a particular skyrise building visible, so that the windows are real, and the desks and offices immediately behind these windows are also real... but no other offices, hallways, rooms, structures, etc beneath/behind the outermost layer of the buildings actually exists, but since they are all blocked by the outer window offices, the illusion is never discovered and doesn't make a difference.... so you watch a NPC walk on the street and head towards his office building, then he enters the building, and then moments later you see him (through one of the office windows) show up at his office and sit as his desk to start his workday... (assuming he has office desk etc)... then if you get binoculars you can even see what he is typing on his computer and it appears to be accounting spreadsheet or accounting related work... and after five he shuts off his computer and exits his office, minutes later he is shown appearing out of the building and walking home headed to the nearest car garage or public transportation...
While this scene seems overly complicated, there are a lot of shortcuts that can be taken to give the illusion of this immersion wouldn't have to physically simulate it (nor render parts that cannot be directly visible) and this simplifies the process and makes it scalable where it can be applied to hundreds or thousands of NPCs throughout the city in any particular day/night cycle... for example when the NPC enters the building he as a character is no longer visible and in fact effectively despawned... now just like in turn-based games its no longer taxing the GPU and becomes a guesswork of CPU calculations (much like say SimCity or Cities Skylines etc) in which the game simply calculates the math of how long on average it would take him from entering the building to showing up at his window office... it can be a simple calculation or if need be it can take into account how tall the building is, how high up is his office, or even incorporate other "math" or formula based such like based on a preset elevator capacity and speed and the number of floors it has to traverse (how tall the building is) and the number of elevators that exists etc etc ... now the elevator doesn't even have to exists as an asset and is never rendered, here elevator is simply a math construct that serves to more realistic functionally guesstimate a more accurate time that it takes from entering building to arriving at office... so it can easily simulate that for thousands or tens of thousands of NPCs without breaking a sweat... so say the game calculates a set time for this particular NPC and then when time is up, the NPC is respawned but this time respawned in his window office where he is now visible again to the player... everything in between from the time he entered the building to the time he showed up at his office for all intents and purposes didn't exists, he was despawned that entire time...
Say a particular office building that most of the workers from that office come from a certain part of the town that uses a certain highway... so if you cause a major wreck on that highway that morning, and then fast travel to that office, you would see the workers arrive to work that day a bit late/later at the office... so its not that the game is rendering all office workers and following them from their apartment to their office, its that it using statistics, formula tables, and other shortcuts, so that it isn't as resource intensive since they aren't being kept track in real-time (and in fact are despawned most of the time and only exists a probability function etc) but it still emulates the immersion of say from a functional perspective if a major wreck occured on a highway leading to the office building then it would make sense many workers would be arriving a little later that day etc .... its these small things that add together to make an immersion that is greater than the sum of there parts...
Instead right now in CP2077, the player turns around, and when turn his head back, the cars are all gone or instantly replaced with a respawn of a different set of cars on the street.... yeah.... that ain't no next gen open world game fo sure
There are other short cut optimizations that can be applied to this method whilst still retaining the illusion of immersion but this is just one example of how we can add immersion to next gen Open World game by in this instance immersively simulating/emulating a quasi-realistic foot traffic pattern of hundreds if not thousands of NPCs that arrive to work in a busy downtown skyrise district early in the morning and leave for home later in the evening....
While there are limited exceptions here and there, but when we are talking about the entire city or downtown areas as a whole, currently there are no open world games, not GTA, not CP2077, not Watchdogs series etc that have internal structures viewable through windows in skyscrapers, or otherwise large buildings in mass, as in largely applied to the entire open world city at large... For example think back to one of the Jason Bourne movies in which he gets the combination to the safe/code by using a binocular to scope out that CIA director's office etc etc...
They say all the world is a stage, but so is in gaming... the GPU only draws what you are looking at in any given moment, if you head turns around, all the scenes behind you stop being rendered (culling), but since its done so well and effectively you never realize it. In all open world games to limit resource exhaustion there is dynamic bubble around the player's current position in which NPCs and NPC vehicles are spawned in and rendered within the radius of that bubble/sphere... the rest of the city that is outside of the bubble is lifeless, static and otherwise dead... if you move fast enough sometimes in certain situations the player can outrun the bubble/sphere and realize a situation in which he suddenly turns the street corner and see no cars, no NPC players, when it was just full of people and vehicles a few moments prior before he turned the corner, which is very immersion breaking and goes to show the open world is in the end ultimately still a facade...
But there are different layers of facade-ness, so to speak. In all open world games the NPC/cars/assets that are spawned/rendered within a radius bubble sphere of the player are done so rather in a dumb manner and it's not done smartly... What I mean by this is if you get into a nasty crash at an intersection, and bust out some traffic lights, with severe cars getting totaled or caught on fire, but then drive a couple blocks down (enough for your bubble/sphere to cross out of the location of the incident/intersection) and do a U-turn and come back then everything is gone! or replaced with a perfectly fine scene as if nothing bad had happened... so there is not even the semblance of a semi-permanence or quasi-persistence in these open world games...
What they COULD do, to make it more immersive and SEEM more realistic, is whenever despawning an area that had anything out of the ordinary happen (a major car wreck definitely would be in such a category) it writes the assets and configurations to memory or even to disk, so basically saves a configuration database of which car types involved, the NPCs within each car, etc etc and writes that to a stack as a push... then when needed, when the player comes back to the same location, it pops it back out but with a "turn based" (CPU) processing based on the time that has passed... so say the player went out of range during the beginning phrases of the car wreck scene, depending upon on much time has passed since he went away when he comes back to the scene the game will intelligently guess what stage in the car wreck cleanup the area should be in, so not only realistically rendering back the cars, NPCs etc involved but also setting the stage currently so that it matches the time that has passed (most car accidents have a progression from accident to cleanup to ambulances being called if it was severe enough to finally the tow truck taking totaled cars away to the junk yard etc)
So imagine you want to people-watch as a player in a large open world urban environment.... one of the things you might want to do is watch people enter their office buildings during the day and finally watch them all exit in the evening when workday finishes... A shortcut way to go about this for example would be making all the window offices in a particular skyrise building visible, so that the windows are real, and the desks and offices immediately behind these windows are also real... but no other offices, hallways, rooms, structures, etc beneath/behind the outermost layer of the buildings actually exists, but since they are all blocked by the outer window offices, the illusion is never discovered and doesn't make a difference.... so you watch a NPC walk on the street and head towards his office building, then he enters the building, and then moments later you see him (through one of the office windows) show up at his office and sit as his desk to start his workday... (assuming he has office desk etc)... then if you get binoculars you can even see what he is typing on his computer and it appears to be accounting spreadsheet or accounting related work... and after five he shuts off his computer and exits his office, minutes later he is shown appearing out of the building and walking home headed to the nearest car garage or public transportation...
While this scene seems overly complicated, there are a lot of shortcuts that can be taken to give the illusion of this immersion wouldn't have to physically simulate it (nor render parts that cannot be directly visible) and this simplifies the process and makes it scalable where it can be applied to hundreds or thousands of NPCs throughout the city in any particular day/night cycle... for example when the NPC enters the building he as a character is no longer visible and in fact effectively despawned... now just like in turn-based games its no longer taxing the GPU and becomes a guesswork of CPU calculations (much like say SimCity or Cities Skylines etc) in which the game simply calculates the math of how long on average it would take him from entering the building to showing up at his window office... it can be a simple calculation or if need be it can take into account how tall the building is, how high up is his office, or even incorporate other "math" or formula based such like based on a preset elevator capacity and speed and the number of floors it has to traverse (how tall the building is) and the number of elevators that exists etc etc ... now the elevator doesn't even have to exists as an asset and is never rendered, here elevator is simply a math construct that serves to more realistic functionally guesstimate a more accurate time that it takes from entering building to arriving at office... so it can easily simulate that for thousands or tens of thousands of NPCs without breaking a sweat... so say the game calculates a set time for this particular NPC and then when time is up, the NPC is respawned but this time respawned in his window office where he is now visible again to the player... everything in between from the time he entered the building to the time he showed up at his office for all intents and purposes didn't exists, he was despawned that entire time...
Say a particular office building that most of the workers from that office come from a certain part of the town that uses a certain highway... so if you cause a major wreck on that highway that morning, and then fast travel to that office, you would see the workers arrive to work that day a bit late/later at the office... so its not that the game is rendering all office workers and following them from their apartment to their office, its that it using statistics, formula tables, and other shortcuts, so that it isn't as resource intensive since they aren't being kept track in real-time (and in fact are despawned most of the time and only exists a probability function etc) but it still emulates the immersion of say from a functional perspective if a major wreck occured on a highway leading to the office building then it would make sense many workers would be arriving a little later that day etc .... its these small things that add together to make an immersion that is greater than the sum of there parts...
Instead right now in CP2077, the player turns around, and when turn his head back, the cars are all gone or instantly replaced with a respawn of a different set of cars on the street.... yeah.... that ain't no next gen open world game fo sure
There are other short cut optimizations that can be applied to this method whilst still retaining the illusion of immersion but this is just one example of how we can add immersion to next gen Open World game by in this instance immersively simulating/emulating a quasi-realistic foot traffic pattern of hundreds if not thousands of NPCs that arrive to work in a busy downtown skyrise district early in the morning and leave for home later in the evening....
Last edited: