September Technical Update
The Repopulation Patch Notes — September 22, 2020
Aggregated from Steam, cross-tracked with Battle.net coverage on GamePatchNote.

Good morning community! Our apologies for being slightly behind our normal posting schedule this month. You may have noticed this month is a familiar topic. You may notice there are not as many images for this update because this article is focused on what we have completed and will be pushing to the test server in the next few weeks. This is a technical update and will be covering two topics.
First topic: A major fix/improvement:
We are including a significant fix that is currently on Test. This revamp is to the NPC Stealth management system and will help improve performance slightly at this time, but will increase with each pass of work to adjoining systems and subsystems. This issue was found to cause major overhead on the server as well as client side.
Second and more familiar topic, Item and Containers:
The first phase of the Item and Container system is done! We are excited to give you a technical update on our progress. This section will be more about the work we have completed than plans and design as prior updates. We welcome all comments and questions since this is more about the technical development stage we are at. We are more than happy to explain all aspects of the achievements the developers and testers have made.
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀Stealth Management Update:
As many of you are aware, the old NPC’s and areas have caused issues with performance, especially in heavily populated areas filled with NPC’s. Our engineer happened to be in a heavily populated (by NPCs) area when he discovered one of the major root problems with performance and areas with NPC’s in them.
The stealth value for NPCs on the server was temporarily disabled, though still running. This meant whether the NPC was stealth or not, it was always telling the client that it’s not.
THE PROBLEM:
1. System data and latency:
⠀⠀⠀ Every few seconds (possibly every 10 seconds), the server was collecting all entities within the ⠀⠀⠀player's spatial awareness and checking if they were stealth or not
⠀⠀⠀ Regardless of whether or not they were stealth the last check, a replicated lookup field on the ⠀⠀⠀player node was being updated
⠀⠀⠀ It was bad enough to update the entire list every time but the way it was working it was clearing ⠀⠀⠀the list and repopulating it
⠀⠀⠀ This means every time it ran it was replicating a change to the client. Even if no stealth state ⠀⠀⠀really changed.
2. On the Client
⠀⠀⠀ It was going through every entity in the list and getting any equipment and setting the alpha ⠀⠀⠀color on the hbnode* based on the stealth setting
⠀⠀⠀ This was happening for every entity even if there was no change from the last 10 second ⠀⠀⠀interval
⠀⠀⠀ Probably not a big deal setting the color on the hbnode so often but the fact that it had to get ⠀⠀⠀the equipped items for every node
THE QUICK FIX:
1. Optimized the stealth check function (it was getting a spec oracle noderef every time even if it never hit the section of the function that actually used it)
2. For each entity in the player spatial awareness
⠀⠀⠀ If the entity is not stealth and it’s not in the field list. Do nothing. We do not need to tell the ⠀⠀⠀client there is an entity in your awareness and it’s not stealth if the client never thought it was to ⠀⠀⠀begin with.
⠀⠀⠀ If the entity is not stealth and it is in the field list check to see if we already sent to the client ⠀⠀⠀that it was not stealth (this would mean no longer stealth because it wouldn’t be in the list if it was ⠀⠀⠀never stealth)
⠀⠀⠀⠀⠀⠀i. If it’s determined a non-stealth value was already sent to the client, remove it from the list ⠀⠀⠀⠀⠀⠀(this might cause unnecessary replication but not too big a deal)
⠀⠀⠀⠀⠀⠀ii. If it’s determined the client still thinks the entity is stealth, set the list entry to non-stealth so ⠀⠀⠀⠀⠀⠀that change will replicate
⠀⠀⠀ If the entity is stealth
⠀⠀⠀⠀⠀⠀i. If it’s already in the list then we have already told the client it’s stealth so no need to do ⠀⠀⠀⠀⠀⠀anything
⠀⠀⠀⠀⠀⠀ii. If not in the list, add it with the stealth value to be replicated
This should cut down on all the replication from the server to client when around any other entities. Obviously the more entities around the worse it would be. The fixed version no longer wipes and reloads the list each time, it will now just update it as needed.
We prefer for the server to be updating this data more on an event basis rather than a timed check. This will be revamped once we enter development for NPC management and Area management systems.
*An HBNode is a node of class in the client GOM. Every instance that is rendered in the client creates a GOM node, whose base class is either HBNode, or directly derived from HBNode. (GOM Editor)
⠀⠀⠀⠀⠀⠀⠀ 
ITEM AND CONTAINER SYSTEM PROGRESS:
The main goal for the item and container system is to build new and stable versions of these two systems to allow more stable and reliable gameplay. Working on these two systems first allows us to work on all adjoining systems in the future since Items and Containers are the basis for most gameplay aspects; from skill lists to items in your inventory and house.
The trick for us has been working with and around the current item and container systems to avoid wipes and convert most items over to the new system. The benefit to this methodology allows us to make sure that we do not miss any critical aspects of gameplay or move away from the games scope and feel.
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀WHAT HAS BEEN DONE SO FAR:
The core item and container system has been created and completed. This does not cover all subsystems, but instead the base or foundation for all other game features and functionality. The basics that we have completed to date are the most common aspects of the container system that players will encounter when playing. Here is a list of what we have completed so far:
- Main Inventory (backpack)
- Expansion Containers (Actually working)
- Quest item container basics
- Player Bank basics
- Player Equipment basics
Once the base container for player inventory has been tested by our staff and the internal testers, we will schedule a game update.
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀WHAT HAS NOT BEEN RE-DEVELOPED YET:
We have several aspects that have not been handled yet. The subsystems listed below will be developed as we begin to work on the specific systems. These will be developed and added in as we move throughout the connecting system overhauls.
- Item Overflow and management
- Player Housing Storage
- Guild Storage
As we progress through the connected subsystems we will release updated information on these new changes.

⠀⠀⠀⠀⠀⠀⠀⠀⠀PLAYER GUI FOR THE FUTURE (PLANNED FEATURETTES):
For players facing GUI and interaction with the new container and inventory system, we will be revamping the entire GUI system. This will allow us to begin the basics for a more updated and easier to navigate UI during game play. Ease of access to your inventory, and all UI elements is important. Aspects that we will be focused on are the following:
- Modular design
- Basic/simple style
- Easy to read
- Updated DPI scaling
A preview of the basic GUI revamp will be released later this year once the first phase is on Test.
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀DEVELOPER AND TEAM TESTING:
Before these changes go to the internal player testers, we want to make sure that we have the basic functionality in place. This will allow the internal testers a more directed approach as well as a set of notes for them to follow and give feedback on. Currently we have on dev the following methods for testing the new item and inventory systems:
- CLI (command-line interface) command has been created for internal testing
- Dev testing has begun first part of September
- Internal testing will begin end of this month
Team testing should be completed by the end of this month if there are no major issues found.
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀THE MOVE TO INTERNAL PLAYER TESTING:
Once we confirm that the basic functionality works, our engineer will “flip” the switch to allow our internal testers to begin testing the new inventory and item system. This means that the testers will not be using the CLI command, but instead the new system will replace the old/current inventory. The testing will begin from character creation through to the replaced containers (inventory).
- GUI will be adjusted/created and final testing end of October
- We will “flip the switch” to the new inventory system in October
- Internal testers will be play testing the new inventory
- Additional Container types and GUI will be added
Once internal testing has begun we will plan for the game update when no major issues are found.
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ANTICIPATED ISSUES:
Players should be aware that the system update will cause some breakage. There will be items currently in-game that may/will not convert over to the new inventory and item system correctly. This will increase the frequency of which players encounter known issues associated with the current (old) inventory and item system. This may include but is not limited to:
- Current items not converting over to the new inventory and item system
- Increased frequency of current (old) system bugs related to items and inventory
- Missing or invisible items in new inventory with the new system
- “Broken” items in current inventory (not usable, clickable, etc)
- Item stacking issues
- Ongoing updates will address the above issues as we find them to complete the new Item and Container systems.
If players experience issues outside of those listed as anticipated we ask that they please report them.
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀UNANNOUNCED RELEASE DATE:
At this time we will not be confirming the exact date of this update. However, based on the rate of progress we currently estimate its release during the holiday season. This final quarter will be an extremely busy time for us as we move into the testing phase for these systems. Once the system has passed through testing with considerable feedback from our testers and we are confident in its stability, we will announce the update plan.
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀CONTINUING THE UPDATES:
After this major update is pushed to production (live) we will continue to work on completing this system. Performance should improve with each pass and update.
- Updates will continue as testing is done on live
- Added inventory types that are needed
- New inventory types to be added to the game
- GUI updates