No less than 900 lines of engine code has been written from scratch for UI flow alone! Said code ranges from actual input control, to UI element patches that absolutely did not support controllers in any shape of form: For example, “Feeders” – which could be described as scrollable lists – can now be navigated with a controller only.Īs a minor side note: If you’re the type of person to have both an Xbox and PlayStation controller set up on your computer, both turned on at the same time, the Xbox model will take priority. Still, being able to make very minor adjustments for weapon balancing is a big step in the right direction.Īnother big feature of controller support is menu navigation. Most tweaks however, are based on the weapon’s category rather than the weapon itself, so Aim Assist won’t be disorienting from one weapon to another. This is particularly useful from a balance perspective as it allows us to tweak certain weapons more in-depth.
The Aim Assist code has received an overhaul too, and has been redone in a way that makes it feel more responsive and natural, as well as being able to control settings per individual weapon. It is this change that allowed us to make much more advanced attachments, such as Explosive Tips on the Crossbow What was doomed to be a throwing-knife-launcher from a technical standpoint now has proper explosive arrows that sticks to walls and players, with a delayed explosion (and its ill-famed beeping) after impact, and can visually be changed from the eyes of players with the proper perk… and this is all done through a single attachment rather than a whole new weapon which is what we’d previously have to resort to. A change made to an attachment will apply globally, to all weapons that can use said attachment.Īnother improvement made to DYNAT has to do with the level of complexity it can offer. This also helps with stats consistency: Now that all the attachments are shared, we don’t have to worry about them being inconsistent from one weapon to another. In the third and new establishment of DYNAT, all attachments are now shared between all weapons, which lowers the amount of attachment entries even more, thus drastically shortening the time it takes to build your weapon. This was due to the fact that the attachments were handled on a per-weapon basis: A weapon would have its own “base” entry, and its very own catalog of attachments with all the changes they provide, such as stats, extra models or animation changes.
When preparing the Gun Game gameplay that we revealed a few months ago, we noticed stutters during “promotions” due to the extreme frequency at which weapons could be generated back to back. Our Dynamic Attachments system has been further improved, in a way that allows much faster and efficient loading, as well as adding more parameters for us to tweak depending on the attachments used.
Texture Streaming: In the same fashion, this allows the game to only use textures that are currently necessary and free them over time.⠀⠀- Doing so reduces memory stress and improves stability. Dynamically loading & unloading components, to avoid unnecessarily re-allocating things that are already in the memory pool.⠀⠀- Call of Duty games are known for having leftovers from previous games, intentional or not. Minimizing assets usage by removing every unused asset, which also helps with the game’s size.⠀⠀- You can find more details about the fundamentals of DYNAT in our very first DEVBLOG, but there’s more in this article! Our Dynamic Attachments system, dubbed “DYNAT”, has received a massive overhaul with Core.This is why a lot of the work goes into optimizing everything the best we can, to minimize the memory usage and “keep the engine cool” at all times, which results in a smoother and much more stable experience. …AND WHAT IT DOES FOR YOU MEMORY MANAGEMENTĪs explained in our very first DEVBLOG, IW4 (aka the MW2 engine) is a 32-bit application, which means that it can only allocate and use 4GB of RAM.