SPRING CLEANING
Hey Survivors,
We've got a brief update covering the progress that's been made on the game since the release of our foundational update that came out in the middle of March. Before we dive into it we'd like to take a moment to thank everyone for their support in the last few months, whether you're a long-time backer or have just recently purchased the game on Steam: Early Access; we're incredibly grateful for all of the feedback and excitement from the community.
ROADMAP
Before we dive in, we have a roadmap for features that you can expect to see in the game, the roadmap is *not* an exhaustive list (ie: we might do more than what’s listed on there if time permits) but it's everything we feel comfortable committing to.
SUMMER SPLIT
One thing that you should be aware of is that the summer update will be split into at least two different updates. We'll have a Vlog available in the near future detailing the release date and some gameplay of the updated version.
BACKER KEY REDEMPTION
Key redemption is online and has been stable since our last update went out, just log-in into our website (qi.games) with the email you used for crowdfunding then you can visit this url: https://qi.games/account/orders from there, you will be able to view your packages and claim your Steam Keys. To redeem a key on Steam, read this guide from Valve here: https://help.steampowered.com/en/faqs/view/2A12-9D79-C3D7-F870
Be warned, in the near future you will be required to link your Steam Account to your QI Account to redeem backer rewards such as the pet pictures.
DEVELOPMENT
Late last year, we decided to overhaul a lot of core systems in the game. This with the objective of breaking things down and making them easier to work with as well as transitioning away from Blueprints as much as humanly possible. If we need to change behavior in a blueprint it takes hours to test, if we need to change behavior in C++, iterations to code that's written takes minutes.
With regards to the map, we’ve been continuing the push to flesh things out when travelling between the different regions that the map currently has to offer as well as getting a serious dent in the work required for the Canmore Hamlet and Canmore itself as we believe that the game needs more diversity in terms of the buildings you can claim, search and explore.
This need is mainly driven by the feedback we've received from the community regarding core systems such as the medical system, third and first person animations, audio, the infected, etc. So let's dive into the results from the changes that we've brought in.
CANMORE HAMLET
Canmore Hamlet which is currently blocked off is still being wrapped up, with the Country Club and suburban sections being tied off for the first half of the update though we’ll likely keep this section of Canmore blocked off until it’s complete.
AUDIO OVERHAUL
One of the things we promised upon hearing tons of feedback from the community was regards to the audio system. Put bluntly, the audio we launched with was not living up to any of the expectations we previously set.
We've written a new audio system from scratch to replace what was there prior, as well as going over all of the gunfire sounds in the game to make sure that all of the oddities with them have been cleared up.
This new system we’ve added has robust and performant support for scripted audio. As an example, in the video below when I enter one of the buildings, all of the local sources activate.
These sources are activated and deactivated as ambient sounds for buildings are now made of dozens and potentially up to hundreds of individual audio sources which can factor in multiple variables such as the current weather and time of day.
You can see how this works in the following video showing one of our debug tools:
Here’s what it looks like when we use this system with metasounds, all of the properties are supplied with an interface being used to provide additional parameters (ie: a window getting broken open) as needed.
When you hear rain inside of a building, it's from the rain tapping against a nearby window. When you hear machinery working away, you can find the source of the sound, etc.
We're associating audio with as many electronics in the game as possible, giving players an avenue to identify interactable objects such as the vending machine and to add texture to the sound environment.
This also doubles as a mechanism for us to make the game more immersive, as you’ll not only see it when the power is out, but you’ll be able to hear it too.
Gunshots now sound different, and it’s based on the environment that you’re shooting in. Weather also impacts the audio such as fog or snow muffling the background audio. We have a lot of control over our audio and it’s really refreshing given what was there before.
LIGHTING
In preparation for Canmore to be reintroduced into the game, we’ve iterated on our lighting. We wanted to capture the feeling people had when watching the development vlogs.
Porting the old lighting over 1:1 didn’t work and was far too bright, so we eyeballed it and tuned the values until it felt right and matched the reference photos we were using.
We wanted the player to really feel the difference between a building that has power, a building that has lost power but has the emergency lighting active and a building that has absolutely no power or light sources.
Lights and most electronics as well as objects such as vents now produce hums and resonance sounds. This was done so the player would not only see the difference between a building having power or not, but to also enable a player to hear the difference.
NEW WATER
We're moving to the water that's supplied by the engine itself rather than a third party plugin, this is because there's better support for buoyancy effects and blending different water surfaces together.
There are also optimizations to the water system that we should be able to capitalize on once Unreal Engine 5.4 is out.
VEHICLES
We overhauled our vehicle system as we needed a system that could scale to thousands of vehicles without making a negative impact on server or client performance.
With the new vehicle system, we now have support for first person animations while driving, as well as having a friend stand in the bed of a truck or in the back of a camper van.
It’s important to mention that Unreal Engine 5.4 ships with a new character movement component that should hopefully clean up some issues with characters being able to launch vehicles into the stratosphere. Don’t expect RV’s and Box Vans for the first summer update.
This new system also carries the benefit of ditching third party dependencies. Giving us much more control over the system as a whole, as such, we’ve already been able to already implement two wheeled vehicles such as bicycles and motorcycles. There’s also a prototype for boats but we’ll dive into that at a later time.
BACKER REWARDS
Front end work for the pet pictures has been completed, once we've made the required changes to our backend, you'll be able to craft a picture for your pet in-game and place it in the world. We’ll be able to deliver backer rewards simply by linking your profile to our website.
We'll have some more information on the road signs and park benches in the very near future. Keep your ear to the ground as we plan on delivering multiple backer perks throughout the remainder of this year.
ANIMATION
We've implemented a basic set of third person animations, there’s nothing here that’s really groundbreaking but they're miles better than what we were using. These animations also run on our skeleton natively rather than needing to be retargeted in real-time which was needlessly expensive for some computers. Most importantly, we're no longer dependent on third party code sitting near the heart of our project.
SEASONS & WEATHER
We’ve added support for proper masking of weather effects so that snow and rain affect the world but do not affect the interiors of buildings. Not only that, but we’ve also added support for all of the foliage to be updated in accordance with the season cycle.
We’ve fleshed out the effects for when it’s snowing, we’ve also added support for snow building up on the ground. This is including effects for snow drifts building up against abandoned vehicles.
We want to use Nanite tessellation for this rather than vertex offsets since we’re getting some visual glitches / artifacts when using virtual shadowmaps. Hence we’ll likely hold off until Dead Matter is on Unreal Engine 5.4 before deploying the first iteration of the season cycle.
To go with all of this, we’ve been fleshing out the system responsible for applying these changes both visually as well as coordinating world events such as electrical blackouts, the power shutoff, the water shutoff, airdrops, etc.
Survivor Changes
We’ve brought a lot of changes to the Survivor which is effectively the beating heart of the game. We’ve cooked up new systems to handle the stats for a player, here’s a brief list of everything that we’ve touched on.
We’ve overhauled the medical system, you’ll now have to use symptoms to diagnose and treat conditions affecting your character.
We’ve overhauled the stat system for the player, perks are easier to implement regardless of their complexity.
Former occupations have also been rewritten so that they’re no longer over glorified perks.
Under the hood we’ve encapsulated the ragdoll behavior, the behavior for carrying players, the behavior for controlling vehicles, vaulting, ladders, as well as various systems that were directly embedded in the player controller.
OPTIMIZATION
When it comes to optimization, we've had to make a lot of changes to the core of the game. One of the biggest pain points for Dead Matter was how animations and ragdolls were handled for the player especially when it came to the server.
While there was a tremendous amount of work put into optimization for the Foundation Update, all of the effort was practically nullified by the fact that our characters in terms of animations and physics were wreaking havoc on the Dedicated Server especially since dead players had the same if not worse impact on performance that ones that are alive did.
This is no longer an issue as our new animation system does not need to be simulated at all on the server for both first and third person. Ragdolls are also only simulated clientside and are no longer a chokepoint for dedicated server performance.
That all being said, we’re going to implementing a custom net driver to take advantages of multi-core CPUs to offload all of the heavy lifting onto different threads while also using more modern data structures to further increase the performance of the server.
This is how the infected are currently replicated, we just need to propagate these changes to the rest of the game.
THE FUTURE
We’ve skipped over going into details about quite a few things that we’re bringing for next update. We did this to focus on a more general showcase rather than a deep dive into what we’ve been working on. We’re doing a vlog this month and we’ll go into a bit more detail.
There’s been quite a bit of feedback regarding certain features in the game and while we’ve addressed some of these points on the Steam Forums and our Discord server, we feel that there’s a few talking things that we wanted to clarify for everyone.
“Is this game dead?”
No, we’re still working on it and we’re not stopping. We take this project seriously and we will deliver on the features and backer rewards that were promised.
We’ve had a really busy spring but if we’re silent, we’re usually working away at stuff.
“Are you even making enough money to see this project through?”
We’re not raking in piles of cash. Infact the game was generating practically nothing until we released the Foundational Update. We’re super grateful for all of the support people have given us since we released it.
Our living situations are stable and will allow us to continue working on the game in spite of the launch and any other pain points in terms of finances.
We want to be crystal clear about this, none of us are in it for the money. We just want to build a kick-ass game. We’re going to continue working on the project full-time regardless of how much money the project is bringing in because this is a project we are very passionate about.
To add a dose of transparency to this. There is currently three people working on Dead Matter: a programmer, a level designer / artist and an animator. This is the size of the team that got the Foundational Update out the door and the team that will get the Summer Update out the door.
We can’t really decide this due to our own bias, but we feel like we’re keeping up with the progress on Dead Matter that was being achieved when the studio had a higher headcount. We’re believers in the idea that small efficient teams composed of hard working individuals that communicate well are capable of doing more than a large sized team that suffers from organizational and leadership issues.
“Why do the item icons look bad?”
We’re cleaning them up for the summer, rendering item icons in real-time with caching to the disk is really painful to nail down. Earlier versions of Dead Matter used mip-streaming for textures which was easier to work with, it also never cached the rendered icons to the disk.
Artifacts with the current icons are magnified because if an icon ended up looking broken in older versions, it would simply be re-rendered the next time the game opens whereas we’re currently saving all icons to the disk.
We’re fairly certain we know what’s causing the meshes in the icons to have blurry textures and meshes that are low poly. Addressing these issues properly will require either automation or an editor tool to prep all of the data required for rendering icons efficiently and at higher fidelity.
“Will there be more maps?”
We’re going to focus on expanding our current map, we have locations we’re dead-set on adding to the map in our roadmap. In terms of the Vancouver Island map or Calgary, we don’t want to go to 1.0 without Calgary. Vancouver Island was always planned to be a post early-access release as a DLC that all backers would receive for free. We don’t know if we’ll continue with this idea or not but we still plan on eventually bringing the island to Dead Matter.
If it isn’t abundantly clear by now, development on Dead Matter will not cease when we hit 1.0, we’re passionate about the game and we want to continue working on the game. We get excited when thinking about all the different avenues to explore when it comes to survival and the world you must try to survive in.
“When are you going to update the appearance for the infected?”
We’re doing this for the upcoming update. Our infected have quite complex requirements and we have to build tools for nearly everything and we want updating their meshes to be trivial to increase the visual variety as well as introducing variations to their behavior.
“Why are the meshes in the distance black and all splotchy?”
This is an optimization technique called hierarchical level of detail, we plan on addressing this for the next patch.
We basically have to bake out an approximation of meshes in the distance and it’s been tricky to dial in the proper settings. We’ve been having a lot of issues with crashes when building proxies and since the baking process takes 3 days on average so it’s been a bit of a pain.
The good news is that once we find the right settings, we shouldn’t have to worry about this again.
“Infected clipping through the walls of the building I am in.”
We’re painfully aware. We had to implement a replacement for the Unreal Engine navigation mesh about 1 week before we launched into Steam: Early Access. Generating the navmesh on the fly is something that our AI system doesn’t support and we were hitting hardcoded limits on how large our navmesh could be.
The navmesh defines where infected can and cannot walk, this is the root cause of why they walk through walls, it’s why they walk through some doors. We’re literally using the navmesh from launch because we have to build tools to automate rebuilding the navmesh.
We never built the tools because we manually chunked and ported over a navmesh generated by Unreal Engine. This was done by hand and repeating the process instead of building a tool is a waste of time. It’s just one of those calls you have to make when operating at the size we’re currently at.
We’ve built out the important bits of code to get this automated, so we’ll be able to rebuild the navmesh properly for the next update. This will significantly reduce issues with infected walking through walls.
In multiplayer, we have to replicate the movement for the infected using curves that they ‘walk’ along with varying speed to keep in sync with the server. This is because they utilize root motion (aka the animations are what drive their positions). We’ll have to do some additional work to prevent issues with them clipping through walls in high latency situations.
“The Infected seem to be quite stupid.”
This is partly due to the fact that their idle behavior and flocking behavior is essentially a modified boids system on steroids. Our infected are also built to scale which is partly why development is a little slow on them.
If you’re not aware, when you first open a session all 25,000 infected are spawned in at predetermined locations. Our infected never despawn, respawn or spawn after the game begins play.
We’ll be improving their behavior for this next update by giving them more accurate perception, a lot of this takes tuning and iteration especially since the behavior they exhibit is emergent rather than being explicitly defined and pre-programmed by us.
That being said, we want them to be stupid to an extent without them feeling broken or buggy.
“The Infected are too slow.”
We agree, we have some running animations that we’ll be adding to their animation set once we’ve moved them over to the new meshes. Combined with the changes brought in via their perception system being updated.
“Why are the nightlies not being updated?”
We absolutely ripped apart the core of the game which was largely contained in the Survivor (aka player character) files. This is so that we can more easily focus on individual components of the player, reduce the overall compile time as well as time spent in the Unreal Editor.
Pretty much everything was affected by this and we just have a lot of cleanup to chew through before the first summer update. We hate having to have the game in this state but sometimes it’s a necessary evil.
That being said, this is the last update we anticipate needing to aggressively rip things apart.
THANK YOU
In conclusion we've made heaps of progress under the hood and are now transitioning to getting the first half of the summer update out the door. We'll be releasing a vlog later this month with some details as well as the exact release date for the first half of the summer update.
We hope that everyone enjoys the audio changes we've been making as well as all of the other stuff that this update will bring. This is probably the last major overhaul for the time being where things are being ripped apart and put back together as we've addressed a large amount of painful issues on the technical side.
The update that'll be coming out this summer is not necessarily the big update, but it’s an update that adds a frame to the foundation we built last update.
As always, we thank all of our backers and players from the bottom of our heart for the continued support over the years. We’re sorry it took a while to get out a written update but we hope you’re as excited as we are for the next update.
It's definitely been a long journey but it's one we're excited to share with our audience as we work to continue building this game.
<3
QI Games