Dev Blog #3 - A Long, Long Refactor


Hello again, everyone!

We are really excited to be back and to share more information with you all in our third development blog. We know it's been a long while since the last, and we apologize for not having more to share sooner, it's been a very crazy few months for us and we're finally ready to tell you all what's going on.

Soon after we released our 2nd blog, we made a rather big decision to sit down and refactor the entire project. At the time, we wanted to create a unique framework which would allow us to better communicate between scripts and establish a more consistent format to the project as a whole.

During this time, we created the first iteration of our framework, MiddleMan, or MMan for short. MMan would pave way for a new structure both Dark Rising and other future games would follow.

After roughly a month or so of integrating DR into this framework, we had the game back in a playable state and we were ready to create more content. However, this first iteration came with its flaws, and it became evident we had to rethink our approach and try again... So we did exactly that.

Going from one major refactor into another was extremely tiring for us, but we knew if we didn't sit down and get it right then it would come back to bite us in the future. With this 2nd refactor we also made a major decision, to rebuild most of the game from the ground up.

While the first took us around 1-2 months, the 2nd refactor took almost double this to reach a playable state again. We won't lie, it was very strenuous, but we understand how important it is for the longevity of DR. Recently we have begun cresting this hill and are excited to say that the refactor is nearing completion, and boy are we happy!

In total we have changed roughly 40-50k lines of code over the course of development, and we are confident that the game is in a state far better than it has ever been before. We really appreciate ya'll for staying patient while we worked hard, and below we will go into more detail on some of the many improvements we have made.

New Loading Screen


To start light, we wanted to share a look at the new loading screen we created. It's nothing necessarily crazy, but we are really happy with how it came out!

The loading process has been intentionally slowed down for the sake of showing off its visuals.

New Mechanic: Crouchables


As much as our main focus has been on refactoring, we wanted to start the blog off with a look at one of our new, chase-oriented systems.

Crouchables are a new mechanic allowing the survivor to duck under a low passage-way. As simple as that sounds, we put a lot of work into creating nuance which will offer lots of potential gameplay for both sides.

As a survivor, you are able to use crouchables in three different ways. The first is a slow interact, the easiest and most reliable of the bunch, but far from the safest option while being pursued by a killer.

The next type is a medium interact, this is the default action if you are sprinting during the interaction. Unlike the slow interact, the result is rather clumsy, resulting in debris falling and blocking the passage. Once blocked, it is up to the survivor to clear it, an action which is not very feasible during a chase.

Lastly, if the conditions are right, the survivor is able to slide under the passage. This is the best possible outcome during a chase, but requires enough momentum, alignment with the passage and only works within a window of distance.

Performing a slide-under keeps the debris intact, allowing the crouchable to be used multiple times during a chase. However, given the conditions, the killer has the opportunity to zone the survivor from doing this successfully.

If all else fails, the killer also has the ability to sabotage the crouchable themselves!

Crouchables are a very new mechanic for DR, so everything shown may be subject to change based on feedback from our testers. We are very eager to see how players utilize this mechanic, and we'll continue tweaking and iterating the design to be the best it can be.

Input System rework + visuals


One major element we put focus towards was reworking the input system to be more flexible and better fit for a wide range of tasks. Whereas before the system was only truly meant for gameplay-based inputs, we have now expanded this into controlling other systems such as the various menus/UI.

This improvement means we can apply inputs to more than just game mechanics themselves, and be playable on every platform right from the very start. We've also made it far easier to visualize inputs in a number of ways, allowing us to make the UI more flexible.

In addition to this, we have made significant improvements to how the game processes inputs. Players will no longer experience any input delay when performing actions, resulting in a smoother, more responsive experience.

Lastly, we have also given the UI a refresh to look and feel cleaner. While the visual style is still a placeholder, we feel the base is much more solid.

Input Rebinding


Something we mentioned in the previous blog was the ability to rebind inputs. We are happy to announce this is now fully implemented across the game, and is built to support all future additions with no extra work necessary.

Players will be able to rebind their inputs for both keyboard, mouse and gamepad. When an input is rebound, the new input is immediately applied to all relevant actions. This also goes for the UI, which will update to reflect the input change.

Mobile HUD Editor


Rebinding inputs for keyboard/gamepad is cool and all, but don't worry, we didn't forget about the mobile folks! This is the first iteration of a system in which players can customize their mobile layout, offering complete control over their buttons, rebinds and more.

As a mobile player you are now able to create profiles, within each profile you are able to add/remove buttons, change the size, position, and even which part of the screen they are anchored to, as well as assign these buttons to specific inputs in the game.

By default, a player starts with a profile for both Killer and Survivor, you can either clone these profiles to make your own unique changes, or create a new one from scratch to tailor to your specific needs.

After you are done creating a profile, you are then able to assign it to either role (survivor and killer) or even individual characters.

This degree of freedom is extremely important to us as it ensures our players can create the optimal experience for themselves. We understand there is no such thing as 'one size fits all' for controls, so offering this from the get-go felt like a big step in creating an accessible experience without compromising gameplay.

This system is already fully implemented and usable in its current state, but we are still working to add more features and customization. Our goal is to allow players to adjust more aspects, such as the joystick, button visuals, and even the layout of other HUD elements.

We are also working to allow players to share profiles with eachother, allowing the community to suggest and offer layouts to eachother. As we gauge feedback and do testing, we will continue making adjustments to develop this system further.

Character Tweaks & Updates


As we've mentioned previously, the characters in Dark Rising are built from the ground up, including (but not limited to) camera controls, inputs, movement and animations. With this, we are constantly making tweaks to create the best game-feel possible.

One big change we have made is in our character proportions. After feedback during playtests, we found the size was creating issues in our gameplay, particularly with the space the characters took up on the screen. Since then we have made the characters slimmer and smaller

This size difference helps us establish a better sense of scale in the environment, along with obstructing the camera much less, resulting in a more comfortable experience.

Along with this we have also tweaked movement speeds across the board. We felt the old speed was too fast, giving both sides less room to read each others movements, and creating issues in designing our maps.

Reducing the speed will also help make replication feel even more accurate, in combination with the smaller character size we feel the speed difference will not be very noticeable, but will positively affect multiple aspects of the game. Below are a few clips to demonstrate this change.

Lastly, we have reworked the first person perspective. This was in an effort to reduce stuttering at higher framerates (was very subtle at 60Hz, but became more noticeable at 120+), as well as make the first person animations feel smoother in gameplay.

We plan to continue making adjustments to these systems until we, and the community, are happy with the result. We are excited to hear what you think and will continue fine-tuning to create the best experience possible.

Matchmaking Development & Details


Besides working within the game itself, we have also completed the first iteration of our backend matchmaking system. The majority of this system is actually built on our backend server, and is not within the Roblox experience itself, allowing us to have greater control over how we match users together across the entire game.

In its current state, the system is not yet implemented ingame, but still remains mostly finished as the majority takes place external to the game. In the near future we will be implementing this system and performing stress tests to ensure its stability, even under high load.

As of right now the system supports a variety of features, this includes lobbies where players may queue with their friends, as well as multiple queues for different gamemodes. Our current plan is to introduce a casual and ranked mode to Dark Rising.

Casual Vs. Ranked


Casual matchmaking will allow users to fill into already existing matches and continue playing in that server until they decide to leave (this is very similar to how Roblox games work as is). While we want to do some work to ensure players are matched appropriately, our priority with casual queueing is to get players in as quick as possible. As far as queue times go, we are aiming for somewhere in the single-digit second range, but we'll see what is possible.

In ranked matchmaking, we want to allow players to play more seriously and ensure that they enter newly-created matches, as well as being able to queue for either Killer or Survivor. Our plan is to introduce skill based matchmaking in this mode and prioritize more even matchups.

For these ranked matches, we will also penalize players for leaving the match early, in the form of a timeout before they can queue again. This penalty will only affect ranked matches, and will not carry over to casual matchmaking.

We plan to continue tweaking and updating this system as it makes its way ingame, so we encourage any and all feedback to help make this the best it can be.

Music Production & Development


Along with everything above, we have also been making headway on the music for Dark Rising. Since the last blog we have grown quite a large collection of music tracks, and we feel we're really finding our identity in the audio design of our experience. We thought it'd be cool to share a couple new things in that regard.

First, we have started designing tracks for when a player is downed, and what happens based on if they are saved or banished. Our goal is to invoke panic, creating a tense atmosphere for the survivor.

And of course, we have been continuing to create new music for the variety of killers we have planned. Below is a look at both the tension track and chase music for one in particular. Who do you think it'll be?

First we have the tension track, which grows in intensity based on how close the killer is.

And next the chase track, which plays while being pursued by the killer.

So what's next?


Now that we have reached the tail-end of this major refactor, we are moving right back into developing content for the game. We believe from here on out updates should be more frequent, and include far more exciting things than we have been able to talk about in this blog.

We understand a lot of what was mentioned here might not be the most interesting information, but we felt it was important to share where we're at, and what our plans are going forward.

As our focus is now shifting back to gameplay, mechanics and content, we are very excited to share what comes next in the pipeline, and how this game evolves over the next few months.

We are also continuing to make updates to our backend and website. We have made various adjustments to the visuals of our site, and have also made improvements to how images and videos are loaded. Content on our website should now be able to load twice as fast as it was previously able to.

Thanks again everybody for taking the time to read through our blog. It means the world to us, and we're very grateful to have such a patient and enthusiastic community to follow us on this journey. There's light at the end of the tunnel, and we can't wait for you all to see what comes next.

Take care and have a great day!

Last updated at 03:09:14 on 01 October 2024 UTC