Status Update | Optimization
Over the past six months, we have allocated strike teams with the mission of improving the overall health of the game. As announced last December, we have developers working on a new matchmaking algorithm which we are actively testing and are almost ready to deploy. We are also targeting to migrate the game to dedicated servers by the end of summer 2019.
This blog post is meant to update you on the efforts put on optimization, which aim to enhance the overall game’s performance.
When we first released Dead by Daylight back in 2016, we targeted 30 FPS on our minimum spec. Up until recently, we optimized the game in bursts; for the console launch and before releasing a new Killer. We are now ready to set a new performance target: Dead by daylight will run at 60 FPS on PlayStation 4, Xbox One, and minimum spec PCs.
Reaching 60 FPS on Dead by Daylight is not an easy task. It is a multifaceted iterative process that started six months ago and will be ongoing for months. Our strike team of programmers dedicated to optimizing the game has their hands deep into the game code. To summarize, optimization improves the frame rate by using less CPU and GPU cycles to update and render the world faster without any apparent loss of quality.
See below for a high-level view of our optimization roadmap.
STEP 1: UPDATE TO UNREAL ENGINE 4.20
Target: Chapter 10 and incremental changes with every engine update (update to 4.21 is planned for chapter 11)
The engine update was a necessity to move forward with the optimization process.
All the Unreal engine features below gives us additional tools and means to enhance the performance of the game: the new Apex integration (dynamic mesh simulation), RHI/Render thread split, Epic’s mesh reduction tool & improved animation thread tooling are just a few examples.
STEP 2: CPU, GPU AND CONTEXTUAL OPTIMIZATIONS
Target: Chapter 11 and ongoing
This is the core of the work to improve the performance and the game’s frame rate.
There are many opportunities for optimization, but here are the three main pillars overarching our efforts:
CPU optimizations: improving the game’s baseline systems
This is where the game world is simulated (interactions, character navigation, perks and powers). We will be converting our slowest gameplay blueprints to C++ which should, in specific cases, run ten to two hundred times faster. We are also moving from a tick-based system to an event-based-system. A tick-based system is much more demanding, as it constantly pokes the CPU to know when to trigger an action, while an event-based system can enable an event only when necessary and therefore reduce the stress on the CPU.
GPU Optimizations: Overall Graphic Optimizations
The GPU is where the game world is rendered into an image which is then drawn on the screen. The optimization actions listed below mainly affect the game’s visual representation. The objective is to render the world faster without sacrificing quality. We will be updating our anti-aliasing system to TXAA and moving the SSAO to a compute shader, simplify our shadow pass, optimize character outlines, improve LODs, slim render passes, bake more lights, use imposter rendering for specific objects (trees, grass) and more.
Contextual Optimizations: Performance Spikes for Specific Actions
We are working on optimizations that pay at any given time when you play (as mentioned above under GPU/CPU) but we also know there are specific actions and/or Killers that will need extra optimization. These are problematic cases where we see major hitches in performance. Here are a few examples: multiple characters moving in close quarters, specific Killer slow down, perks combination, etc.
STEP 3: UPDATING OUR GUIDELINES AND PROCESSES
Target: Chapter 12 and ongoing
While we optimize the existing gameplay and graphic systems, we develop better tools and methods to implement new features. When we have a new process figured out, it is documented and shared with our development team who can then apply these learnings for the creation of new content.
Our objective is to offer a better performance on all platforms, making the game look smoother and the controls more reactive. Still, doing such majors changes all at once (game engine update and rewriting game code) is bound to briefly disrupt things and require some adaptation time. We hope you understand that this is a transition period and an investment to improve the game.
Don’t hesitate to share your feedback on our forums or social media if you encounter an issue. Our objective is to keep you updated on our progress in the coming months. The upcoming Dead by Daylight anniversary will be a great timing to give you additional visibility on our progress.
See you in the fog,
The Dead by Daylight team