[DiscordArchive] There was a proposal to divide the open world maps into threaded areas with overlapping edges.
[DiscordArchive] There was a proposal to divide the open world maps into threaded areas with overlapping edges.
Archived author: walkline • Posted: 2025-01-17T16:24:39.878000+00:00
Original source
Yeah, maybe. That's why I'm asking you all to point out on places where it wouldn't work, so I (or someone else) won't waste time
Archived author: Rymercyble • Posted: 2025-01-17T16:24:45.909000+00:00
Original source
u would need entire map to be present even when doing shards unless u want to edit maps and create only correct chunks so u got it loaded (just map not npcs far away) and if some1 who is in combat would cross it he would stay in same instance until combat ends now this could be exploited by players but u could just solve it lets say 200 yards away from border outside would port them
Archived author: walkline • Posted: 2025-01-17T16:33:35.532000+00:00
Original source
Alright. Even then, you still need to implement this case, and it still wouldn’t be perfect. For example, in the same PvP scenario, you cross the border, and in addition to fighting a player, you have an NPC aggro on you. While in combat, you move a bit deeper into the area and eventually kill both the player and the NPC. You're low on HP, and since you're out of combat, you're finally transferred to the new instance. In this new instance, there's an NPC at your location that you didn't see from another instance and it kills you.
Archived author: Rymercyble • Posted: 2025-01-17T16:36:37.366000+00:00
Original source
i mean thats how it worked for years on retail
Archived author: Takenbacon • Posted: 2025-01-17T16:36:57.626000+00:00
Original source
In your example it's just a straight arbitrary line which significantly complicates it. It would be at least slightly more manageable if it used zone wide borders. Either way, I also don't think it would scale as well as you think, in the specific example you gave you mention the middle section would be "unthreaded", let's pretend our average map update was taking 100ms. 33ms is going to be contant regardless just due to that. Then, assuming PERFECT parallelization you'd take the remainder 66ms and divide by two, add back to the constant and you're left with still taking 66ms for an update.
And that doesn't even speak of the penalty of oversaturing threads. Remember, maps are still being updated in parallel too along side. Context switches are expensive.