We’ve got a quick new update for this week. We are mixing things up a little as the style of this weeks update is a little different as we’re focusing on a few excerpts from different members on the team. We’re still on track for the experimental release of 0.7.0 on October 30th as well as the non experimental release of 0.7.0 before the end of the year.
One of our LD leads has an update from the Level Design department with some of the different happenings from the past week.
Nomad and Adam helped bring some much needed finishing touches to a vast number of locations by getting the LD team some much needed assets. The everyday clothing discarded amidst the chaos of the outbreak, or alternatively how everyones bedroom probably looked at some point in their life - was a key piece to help sell the atmosphere of the chaos and speed up the level design process that we were desperately lacking. Not anymore! And same goes for the campground pit stalls nomad helped bring to life, you can't have a campground without one of these somewhere in sight in case of an emergency.
Alongside that helping us put the cherry on top on some campgrounds, trails or house interiors - our lead level designer has been mostly occupied with getting Seebe and it's surroundings fleshed out like the Kananaskis Rafting Center, likely the main source of all of the beached rafts you can find alongside the river.
Patryk has been working on the other side of the map in Dead Man’s Flats. We’re excited to show more of the revamped town as we push closer to release.
While we have not done an accurate size comparison of Dead Man’s Flats and Canmore from 0.6.0 the iteration of Dead Man’s Flats in 0.7.0 is approaching the size of Canmore with the quality that 0.7.0 brings to the table.
We’ve got an update from our lead programmer regarding the spawning system for the infected as well as some of the behaviors that you can expect to encounter.
I’ve spoken directly to members of the community on Discord and I’ve personally reviewed a lot of the feedback regarding the infected spawns. Our previous system relied on dividing up the world into multiple grid cells and then managing the population based on data provided by volumes that were placed by level designers.
While I believe that the previous spawn system would’ve been quite effective at doing it’s job, I was not the original author of the system and I felt that it would be faster to work with a clean slate. I had the following goals in mind for the new infected spawning system were as follows:
I spent a lot of time prototyping the new infected spawning system for 0.7.0, which resulted in starting over completely two times over. My most recent prototype was able to achieve all of the various goals that I had in mind for the system. While we’ve still got to do some further testing it appears that the system should provide a strong foundation moving forward.
So here’s a couple of pictures from the system I finished prototyping this week. You can see that as I move the player character marked by the red X, between the two different locations that the density of the idle infected (green dots) significantly changes. From a first person perspective, this shift is seamless.
Lastly, the picture below is from the same session but I accidentally took this screenshot from the wrong angle but if you use the color of the debug text and the buildings as references you should be able to easily figure out where things are.
You may notice that the total amount of infected characters can vary, this is by design as when you are on the outskirts of a town, you are only overlapping a few of the nodes. If you look closely at the picture of the Survivor standing on the roof of the church, you should be able to see the distance factor (DF in the debug text) falling off towards on the buildings that are further away from the Survivor.
I mostly balanced this system around the feel of the infected and I will still be doing some fine tuning as we continue to integrate the system into our game.
This new system is inspired by the version written for 0.6.0 but with some key changes.
In conclusion for this segment, I’m quite happy with the results and from the amount of times I’ve ran through this test town you can really feel the difference between the two different systems.
Before I pass off the next part of the update to Julian, I would like to highlight a few of the shading tweaks that I’ve done. First up is the fix to Material AO. Unreal Engine has had a bug with Material AO for a few years at this point, I had to go into the engine and adjust a few lines of code to restore the effect.
AO or ambient occlusion is essentially shadowing but on different scales with different scopes. Screen Space Ambient Occlusion or SSAO is soft shadowing for objects that are near each other.
Material AO on the other hand is essentially small scale shadowing on the surface of an object. Material AO in my opinion is extremely important for sealing the look of an object. There is literally no feasible way to approximate or calculate the detail that Material AO brings into the scene hence why this was a critical fix for us.
On-top of the Material AO fixes I’ve also made some changes to the skin shader for the Survivors. I’ve put a few days into a bit of an overhaul to the skin material itself. Our characters now utilize virtual texturing for their skin textures to bring out some of the finer details that are present in the scan data.
I think the changes to the overall appearance of the character have changed for the better. It is easy to make skin look great inside of a black box with spotlights so I’ve included a few pictures from a variety of scenarios ranging from worst case scenario to the best possible case scenario.
This is it for me, currently we’re feature locked so most of what I’ll be working on is refining things, hooking things back up and getting the game ready for the 0.7.0 EXP launch.
Julian has been doing some level design work to help with the push for 0.7.0, however he’s also done some work on the retroreflective shading model that Dead Matter uses to greatly enhance the feeling of navigating with limited light sources at night.
Recently I have been hard at work on the retro-reflective shaders, improving them significantly since I first implemented them, massively improving their visual fidelity. My goal with these shaders is to give the environment a unique and realistic feel using something that is rarely seen in video games. Some of these will help guide survivors exploring or driving at night, warn them of imminent danger, or even spot other survivors wearing some retro-reflective clothing.
Rather than faking the effect by utilizing emissive and an inverted view vector, the shader itself was designed to be as physically accurate as possible, giving a realistic reflection angle to the light that is bounced back from the retro-reflective surface. By adding a special retro-reflective specular reflectance model along side the standard GGX specular reflectance model Unreal Engine 4 uses, and with a little math magic, we can achieve this realistic effect while also being highly optimized as to not negatively impact performance.
Some of the uses I currently have implemented using this shader include road signs, recessed pavement markers, road lines, infected eyes, animal eyes, vehicle liveries, special clothing and much more. These have all received a special treatment to give them proper retro-reflective effects that you would expect to visually match what these things look like in real life.
Dusty has made some amazing changes the foliage assets that we’re using to give them a far more realistic appearance. This is based on some community feedback. Luckily the Material AO fixes help with this process and the Material AO fixes directly benefit the Foliage.
We’ve made some really strong strides in the month of September and the outlook for October is really positive. There has been a lot of learning and growing that we have had to do as a studio and we believe that our efforts to better manage the project as well as place more attention to detail where it matters are now starting to pay off with results that speak for themselves.
It is no secret that we are still years away until Dead Matter hits a full 1.0 release but we are doing everything that we can to fulfill the vision that has been held for this game and to also release a game that our Backers can be proud to be a part of.
While 0.7.0 will not be the patch that has it all simply due to the amount of work that has gone into it, we feel that it has succeeded in being the necessary course correction for the future outlook of the game.
Thank you again to everyone that has helped make this project possible, we truly appreciate all the support from the bottom of our hearts and we cannot wait to meet up with some of you ingame when 0.7.0 ships.