How is stuff spawning

Item, container, location and monster spawn optimisation

Info status: Published | Jan. 24, 2020, 9:20 p.m.

There's an interesting effect of the enemy spawning mechanics when you approach it properly. First thing that is worth noticing is that game yields better challenges if you approach those challenges as bigger group. Because some of the places on map are rarely ever visited in big, multi-team organised group, this is not a popular information. The thing is, free exploration cause magical things to happen if you have 10+ people participating in it. Each spawn trigger in the game considers: server-specific RNG, location-specific RNG based on server-RNG, number of nearby players, as well as character-specific history tables, when determining what to spawn. An event that spawns 5 monsters per wave when you go there alone, can spawn 30+ monsters per wave in such a big group. Because those situations are rather rare, there are still mostly unpolished. As a result, a wave of monsters can be spawned wholly in one location - imagine 30 scorched all standing in this same spot, waiting for a grenade that'd yield 5k exp reward. If you do that in area that is currently in favorable and generous RNG moments, you might see such things as 12 3* legendary opponents being spawned in a single 5min event. Or you might see many dozens of creatures just roaming aroudnd where you are supposed to only meet half a dozen.
Additionally, every character in the game has some history tables and cooldowns. For example, caps at vendors are resetting around 20 hours after you touch them the day before. Furthermore, the game stores information on the last monsters you have killed, last containers you have looted, and last world object items you have picked. User u/cr4ckma7ter has prepared an excellent research in this regards: the lists lengths are 180 world objects, 60 containers. If you enter a location that has item spawns that are currently figuring on those lists, they will not respawn for you. This list clears itself periodically with time, but the reset is longer than 48h. Those lists are why if you only visit single location for looting junk few days in a row, stuff doesn't want to respawn for you. If you go somewhere else and pick 180 of other stuff, and you come back to location you have looted, it should be respawned, and if it isn't, then on new world they'll respawn for you. Finally, its worth noting both historical context and current reality of respawning monsters. The lists I mention contain last-killed-monsters data too. This data is loading with a delay, and is not instantly available in full in first seconds after joining the server. It has been utilised wonderfully in the past, where farming Whitesprings could gather 10 randoms and make them cooperate. A player that has just rejoined the game, while being in a team, needed some time to synchronise the 'last-killed-monsters' table. Under the hood, the game processed: 'Okay, so there's a new player that has joined this area, lets check his last-killed-monsters list. List is empty. Proceeding to respawn everything.' As long as the newly joined player was the only one in given area, he was the only one that was considered for defining the state of location. The result was that a wave of 50 ghouls has been spawned, eliminated and looted every 150 seconds. The remanescents of this wonderfull desynchronisation are still in the game, and you can still benefit from this effect - the difference that people mostly failed to notice is that now this only works indoors (you have to exit world map and load indoor location). How much things will spawn is also defined on how much processing power can be attributed to a particular location - more players, more power, more stuff spawning, more fun. Unfortunately, the greatest possible focus happends on Private Server, where you don't share server resources with players doing their separate thing, hence the game on average produces way more opponents.



 The game is often being adjusted under the hood, and to have precise results, its necessary to periodically retest everything. If there's something that you think should be retested, or you want to share: