Shared by hwk on May 16, 2017

P. Nespesny: “In regards to Central Economy, there were some changes made in terms of loot spawning and its definition for BETA version that we are working on. Till now, loot placement was defined directly as specific point per one item in .p3d files, grouped in named selections (which are paired with categories and tags in configs and areas in area map later). There has been a need to pay close attention to dimensions of given items against each other, and available space around them to avoid unnecessary clipping between items, or between item and building itself.

This process was tedious as it lacked sufficient spatial orientation in object editor, leading to prolonged time needed to populate a building (for example, the school building has tens of thousands of spawn points defined in the old system). Not to mention that packing and exporting proxies was mandatory in order to be able to see new/adjusted spawn points working in game, stretching the time even further. You can see how it was set for the police station on the screenshot below.

Instead of exact points, the new loot placement uses ranges. Range simply defines a circular area within which item can be spawned. During placement of these ranges, they are checked against each other and building itself in real time. This approach avoids any clipping and collisions of items during spawning. Placement output is stored as XML directly in the mission folder, so it’s very convenient for modding, it also can be loaded and edited.

The best part of this new system is that it’s completely defined and visualized directly in game, from free-fly camera. Additionally, everything is real time, which (coupled with independence from addons) cuts down the time required for setup dramatically.

After introduction of this new system, we managed to get from more than 1.000.000 spawn points (mind that was after massive reduction for 0.61 version from 4.000.000+ spawn points) to current ~130.000 used, and at the end, what matters the most is the increased server performance.”