Game Jam Winners
Posted 8 months ago
By Fortune

What is Dark Desent?

Dark Descent was an idea I've had knocking around in my head for a long time. The initial pitch being "an old school dungeon crawler game with a melee system similar to games like Mordhau and Chivalry".  My first prototypes for this go all the way back to when the entity system was still a part of s&box.

The Good

The scene system. Wow.
I've used s&box a lot since getting access way back in 2021. The scene system was easily the best decision they've made in regards to s&box's development. It's like Unity, but without all the awful stuff Unity is known for.

If you've ever worked in a larger project in Unity, you know that iteration time shits the bed. Just opening the project can take 15 minutes, let alone running a larger scene. Not so in s&box, opening the project, making changes, hitting play... it just works. It literally takes less than a second to start testing my game in the editor. This is the fastest I've ever been able to iterate and it feels really, really good.

All the work facepunch put into this system over the years has paid off tremendously.

The Challenges

My friend, anotherSeeker, modelled and rigged the skeletons we use, and we decided to just use that as the player model. After that, I made all the animations for the player and npc skeletons (except the wizard, that was anotherSeeker <3).

Animation is not my strong suit, I'm a programmer first and foremost so this was probably the most challenging part of the whole project for me.


Dark Descent doesn't use viewmodels, there's just your actual body that's being animated. Your camera is attached to your skull bone and your mouse movement tilts your pelvis instead of rotating your camera. It took a lot of iteration to get this all blending correctly. Making sure the hands don't move relative to the camera when you're looking up and down was particularly important (and difficult!). This means that you can have a sword in your hands and everything stays where it should when you're looking around while playing.


The Bad

Performance sucks big time but I think we all know that, so let's talk about something else that bothered me while working on this - prefabs.

Prefabs, as they are at the time of writing, really suck. All they let you do is reuse stuff that you've sequestered away in another file. However, that's where their usefulness ends. You can't modify them, add children to them, or functionally alter them in any way in the scenes you've placed them.
You can't make prefab variants, or inherit from prefabs at all. So if I had to make a change to how NPCs worked, I had to make changes to everyone individually. I couldn't even modify the health or damage of my NPCs without having to make a whole new prefab for that.

Conclusion

s&box has come a long way since I first got access and I'm very excited to see where it goes next. I really think facepunch has made something special here, that stands out from other existing game engines in meaningful ways. This was my first time competing in a game jam and I had a tonne of fun and I'm looking forward to the next one!