Split Cities into Multiple Sections to Optimize the Game (Partial Open World)

Before anyone say they wanted full open world:

  • This doesn’t remove anything from the map or removing open world feature. But only sectionize the city into multiple sections (active & inactive) to reduce simulations and data loads.

“Partial Open World” Advantages:

  • More npcs, more venues can be added in smaller areas, livelier and more immersive in every part of the city, no more emptiness. More optimized and smoother performance, less concerns about future contents that may have significant impact on performance. More people can play the game on low specs, reduced minimum system requirements. Existing players can play on higher or maximum graphics quality without need to upgrade their system.

Sections

  • Dowon = 3 Sections
  • BlissBay = 5 Sections (More sections due to it’s size 2x larger than Dowon)
  • Cahaya = 2 Sections

:green_circle: = ACTIVE

  • Only 1 section can be active at a time.

:red_circle: = INACTIVE

  • Inactive section are not functioning, no simulation, everything is passive.
  • All venue datas inside inactive sections are not loaded, or maybe only exteriors.

Barrier Colliders

  • Barrier collider at the edges for every sections. Once player walk through it, either:
    • No loading screen. Gradually load the entered area & unload previous active area.
    • A short loading screen. Instantly load the entered area.

2 Likes

I proposed a similar idea, but using longer transitional structures — something that’s actually used in open-world games. The longer the structure, the smoother and more seamless the loading can be, which makes it easy to mask with highways and bridges)

Large structures like hospitals, or, conversely, multiple isolated ones like suburban housing, can definitely be placed in separate sections. That way, the central area can be used more as a gathering space.

“Feedback on Reddit Q&A: Keep inZOI Open World” - Wishlist - inZOI Forums

“Feedback on Reddit Q&A: Keep inZOI Open World” - Wishlist - inZOI Forums

And I’m thinking, maybe they could still do something with offline simulation. Something very simple, like deferred story development for selected households. In one thread, I suggested analyzing and saving Story Progression once a day at night or during save, if the player opts in… I mean, The Sims 3 had it.

By night, the game performs final logic pass, applying all recorded changes: births, relationships, karma/status shifts. - Enhanced Macro Simulation based on Karma System, City Stability Control, and Zoi Groups - Wishlist - inZOI Forums

2 Likes

I have thought about this but hasn’t inZOI already have something like that but in closer distance? Like we can see the venues are empty/hidden but only loads once the camera got close to it. But in GTA/Watchdogs, it loads from far that players didn’t notice.

I agree large structures like hospital, school, police stations, banks needed to be seperate instances that require loading screens. I think its the only way, can’t imagine a school with only 5-10 Zoi inside it.

My assumption is that the entire city functions as an active simulation zone for all Zois currently present in the Karma Status, regardless of whether they’re visible on screen or not (simulation activity ≠ visibility).

Their number constantly changes — it’s minimal right after creating a new game, until you step into a neighboring district and the game generates (!) pedestrians. Same with vendors, at the first time, they won’t be generated or activated until their work state becomes active. But as long as they’re active in the scheduler, they always remain in the list of those Zois.

3 AM (New Game) ~40 Zois

8 PM ~180 Zois

6 AM (Next Day) ~120 Zois

11 AM ~240 Zois

Before v0.3, I clearly noticed that the city had subzones where the same Zoes would spawn near the player to populate the surrounding streets. Meanwhile, vendors and visitors appeared to be completely outside the simulation, just random characters who would disappear and be replaced by new ones whenever you reloaded.

Right now, they actually show up at their workplaces according to the scheduler — even if they have to come from the other side of the city, they still go. They appear within a fraction of a second, animations play out, and so on…



World Instancing (Sims 4)

If instancing were used, then only that specific zone or lot would exist in its own instance for simulation purposes, and the game would reconstruct the Zois list from cache or file.

The loading screen probably isn’t about loading time, but about replacing the main world with a temporary instance. Behind the curtain, the world is actually being replaced — it’s not the original one, but a copy.

World Partitioning (GTA, Unreal Engine built-in)

An approach that can exist without a loading screen is only possible if the entire simulation runs within a single world and the same instance.

It’s called World Partitioning — one simulation zone gets unloaded, another one loads in, bringing back the agents that were dormant there. Zois can cross zones using navmesh — this approach is known as a Persistent World with deferred activation.

That’s why it’s best to use predictable paths between them (like bridges) to keep navmesh as simple as possible. It’s similar to how lot transitions work in Sims 3, where access is only from the front.

So under this approach, if you’re heading to a hospital located in another zone, the previous zone goes dormant, and the new one activates. Zois from other zones can transition into it, but only if they previously carried tags like “injured,” “sink,” or “medical.”

1 Like

So, even if you pull the camera back and return later, they’re still being simulated. Their routing, dataset usage and editing all continue to function. That’s the core reason for CPU overload, while rendering is purely a GPU load.

1 Like

I play Bliss Bay, and the division into 5 zones seems really excessive to me. I often send a family’s Zoi to public or commercial zones in different zones.
At that point, I’d prefer it if individual buildings were instanced rather than zones.
But I think I’ll stop participating in open world yes/no discussions because I realize I play differently than most players.
I’ve populated Bliss Bay with many Zoi, both my own and my NPCs. For example, between my own Zoi and NPCs, I sometimes have too many :).
In my last game, I also tried the experimental feature for sending player NPCs to a modified public lot. I started with only 3 because I wanted to see if it worked.

Bliss Bay Public School. I’ve remodeled the exterior so the Zoi can do their homework instead of wasting time at the practice fields. :slight_smile:

Tra Zoi delle varie famiglie e PNG per me sono fin troppi

2 Likes

I agree to keep open world with instances buildings, that’s already something they are testing. This city division feature is specifically for low-spec players who couldn’t run the game, but it also doesn’t remove open world for those who can play without performance issues. The game is not finished yet, many areas in cities are still empty, there’s possibility that the game will be more demanding later with amount of simulation data and more contents to be added.

2 Likes

Many, many open world games segment the world in one way or another but do not require a loading screen when transitioning from one area to another. It’s completely seamless for the player, and doesn’t break one’s sense of immersion.

2 Likes

Other open world games are not the same genre, this is a life simulation. Every editable areas (most parts in the city) and each NPC have huge amount of data and also very high performance cost compared to static or background assets which can be easily optimized.

As I’ve said before, players aren’t developers, and we can’t confidently assume how well something is optimized under the hood. That’s always been the result of immense work by the best programmers out there. These games run on mind-blowing systems backed by tens of millions of dollars and staffed by top-tier senior developers, the kind we’re light-years away from.

We, as outsiders to that process, often take on far more than we should. It’s not our responsibility. We can point to things we’ve seen in other games, but to make definitive claims, especially when there are thousands of ways to do things differently, and often much better, whether in InZOI or elsewhere, we simply can’t. I’m sorry.

The fact that AC Unity on PS4 (8x1.6 GHz, 8GB unified RAM and VRAM) shows 10,000 people on screen at once (even if only 40 are actual NPCs), that blows my mind.
The fact that Cities: Skylines simulates 65,000 cims, each going their own way (working, getting robbed, heading to the hospital (and each stored individually), that’s mind-blowing too.
But InZoi having 300 Zois, only ±10 visible, and everything lagging, that’s not. That’s the whole truth.

Very true, thats why I say its not fair to compare with other open world games from completely different genre.

Edit: I meant about how inZOI lags by having multiple NPCs, but the other games can handle thousands NPCs on the screen. Just a clear example how demanding 1 NPC inzoi compared to 1 NPC gta.

It’s all fair. Cities: Skylines is very much a simulator, and Sims 3 (running on just 2×2.2 GHz, 3 GB RAM, and 1 GB VRAM) handled the simulation of 160+ agents thanks to simulation LODs (full active, simplified event-driven, routing), timeslicing (just wow), and deferred logic (yes, I’m deliberately dropping technical terms here).

But if InZoi blindly simulates every Zoi on every tick hitting a bottleneck, well, whose fault is that? The fact that Unreal Engine is fundamentally unsuitable for simulation in its base, because it’s actor-based?)

Im sure they have considered and tried many different kind of optimizations.They are not indie, staffed by top-tier senior developers like you said. Maybe the complexity n different engine used also can make it difficult to follow how those other open world games works. In recent QNA they said they are still struggling in this area even 6 months after EA and started had to think outside their original design scope by trade-off some features (instanced locations, partial open world).

Unfortunately, this isn’t just “some features” – it’s a unique selling proposition that earned them over $100M, with thousands of players actively using and inventing open-world mechanics around it.

In paid Early Access, they can’t casually rewrite the fundamentals. That risks losing the broader player base (and no, 1,000 loyal fans won’t offset that), unless it’s framed as a free public beta. Think of Cities: Skylines 2. It launched in rough shape, but they doubled down on optimization. Had they shrunk the map to 2×2 km zones like SimCity 2013, it would’ve collapsed. Let’s not forget – it was scale that made them the genre leader. And now? It’s a massive city simulation monopoly.

Whether it’s Epic Games or another team building a custom framework on their own engine, what’s the issue?

I meant about how inZOI lags by having multiple NPCs, but the other games can handle thousands NPCs on the screen.

No, they can’t. 40–60? Sure. 100? Maybe. Anything beyond that – pure fantasy. If you’re seeing numbers like that, it’s clever tricks and sleight of hand.

1 Like

I agree with this take, changing Inzoi into a game that uses loading screens and instanced interiors changes the fundamental nature of the game. If this happens, many of us who bought the game based on its open world, which is one of the features that sold it to us, will be more than disappointed.

3 Likes

What Im saying is just an example. But my point is there that 1 NPC of inzoi is very demanding. My pc can only handle around 15 Zoi in one place, otherwise it’ll start to lag. But in games like Hitman, no performance issues no matter how many NPCs on the screen (15 to 50++) and even with maximum graphic settings. What can iNZOI do to achieve having more NPCs are by making certain places as seperate instances or smaller space, its exactly what they currently testing now. They also ask if some trade-off like shifting to partial open will be worth it n they’ll start implementing it in December if majority agrees.

If players wanted livelier places and more NPCs, they need to accept some trade-off if there’s no other choices given by the developers. Look at nightclubs, bars, restaurants, so empty and no one inside. It seems like the game can only handle limited amount of NPCs in large city, especially Blissbay (2x size Dowon).

Here’s what’s confusing you: even in Hitman, only around 20 NPCs have full logic – the rest are either scripted crowd with simplified event-driven behavior or just placeholders. The fact that the game uses tricks so you don’t notice the difference – that’s the real magic. I’ve suggested crowd simulation under a unified entity here, on Discord more than once. And in those examples it’s exactly the same.

Here’s the next part: these games use zoning or partitioning, not instancing – meaning NPCs go dormant while their zone is unloaded (Hitman, GTA V, Cities: Skylines…). Instancing, on the other hand, is the creation of a temporary copy of the world behind a loading screen, where there’s no life and no Zoi beyond the active lot. The game pulls them from saved states and respawns them within the lot. Even a Zoi left behind by your family outside the lot no longer exists there.

That’s a crucial distinction, if you truly dive into simulation methods.

If players wanted livelier places and more…

There should be no trade-off. If a game fails to deliver on the promises in its USP, all I can do is wish it luck and walk away.

1 Like

The difference, as GD has been saying, is the way the npcs are handled. In Inzoi, every npc is fully rendered and calculated at all times, so the number the game can handle on screen will always be limited, no matter the hardware.

Hitman for example, in your image, will be using npc’s which are nothing more than window-dressing. They may be animated, but there is not much computational power required to render them or govern their behaviour (their movement is animation looped, they have no schedule, limited reaction behaviour, no decision-making). Zois are not managed that way; whether they could be or not is another matter, as every zoi would have to be at least potentially interactable given the genre.

1 Like

Im aware the differences. Thats why I say NPC in inzoi is very demanding, incomparable with other type of npcs. They’re completely different in many ways, I don’t know how to elaborate its very complex thing.

Here’s the next part: these games use zoning or partitioning, not instancing – meaning NPCs go dormant while their zone is unloaded (Hitman, GTA V, Cities: Skylines…). Instancing, on the other hand, is the creation of a temporary copy of the world behind a loading screen, where there’s no life and no Zoi beyond the active lot. The game pulls them from saved states and respawns them within the lot. Even a Zoi left behind by your family outside the lot no longer exists there.

I agree with this as its actually one of common practice in open world games. Like why they haven’t do this before, but instead given an option “instances with loading screens” thats outside of their original design scope. Or maybe they did but there’s some complications that we don’t understand.