Draft of Darkness is a horror themed roguelike deckbuilder that's inspired by games like Slay The Spire and Darkest Dungeon. It's a dungeon crawler with card combat; set in a post-apocalyptic world, where you recruit party members and try to survive against the infected creatures and corrupted robots. Draft of Darkness has meta-progression in both content and story; meaning that you can unlock new cards even if you fail completing a run, and decisions made in your previous run may sometimes have an effect on the next one. You can try the game's Alpha version in full glory by joining our Discord server! Also, please consider wishlisting on Steam to be notified when the game is released!
It's been a while since I could get a chance to write a blog, but rest assured that there has been a lot of improvements to Draft of Darkness in the last months. In fact, there has been so many that I decided to split the blog into two parts! Let's not waste any more time and get right into part one!
I went over the UI's design to adjust it a bit since I wasn't happy with the previous one's color scheme and big pixels. I was torn between changing to a more "post-apocalyptic" style or keeping the futuristic computer interface style; but I decided to go for the latter since that fits to the story of the game as well.
While working on the UI, I've also changed how some of the windows' functions as well. The biggest change is merging the party, gear and deck windows. All the functionality of managing your party, editing decks and equipping gear is now under a single window. It's now much faster to switch between party members, see their decks and make quick changes.
There are also new "!" indicators to notify you that there is something new! For example, when you get cards during the run, the character edit button will have this icon, as well as the new card, once you open the deck window. Same thing applies for newly acquired gear, booster packs, notes in the library, achievents etc.
With the switch to 3D in the exploration phase, I started feeling like the styles for the 2D encounters and 3D exploration did not match anymore. After a test I've put together, I liked the 3D encounter style more and decided to keep it. I've added a transition animation to the encounter phase. Also, the camera rotates in a similar manner to "Darkest Dungeon" for entity turns, which enhances the 3D perspective.
Characters now have attack, hurt and death animations during the encounters. This was a task I was dreading to work on since it was a lot of work to make separate attack animations for each weapon type and hand. New animations are definitely an improvement over the "slightly slide towards enemy" animation they were doing before.
I've also added blood (and poison) decals, meaning the blood will splatter onto the floor and stay there. This adds some juice (literally) to the combat and makes shooting zombie rats a lot more satisfying. Also there is a twist: if you kill an enemy with a critical hit, you will see a special effect! (Works only on streets area enemies for now.)
With the new 3D exploration, the "Detector" item had been removed from the game. That item was the main way to find your way in the "dungeons" of the game. I've originally aimed to give player a more organic way to explore the map, by seeing something they want to explore rather than an arrow pointing to things. But with the Detector's removal, keeping track of where everything is in the map got harder. To solve this, I've added a mini-map that can also be expanded to see the whole level. It shows where the events are and you can see the parts of the floor you haven't explored yet. And it was easy to implement for me since it's actually mostly reused code from the old 2D exploration. That's always a plus!
Something I've noticed with people playing the game is that, the movement in the exploration phase felt very wonky to them; as if the character is getting their input in a delayed manner. This is very apparent with people that are not very familiar with the true movement mechanics of the roguelike genre. Since players don't see the "tiles" while they move, they expect to have free control over the character's movement. As a possible solution for this issue, I've added a grid that shows the tiles during exploration. This is hidden by default, and can be enabled by pressing a key or in the options menu. This grid also highlights tiles that will trigger an encounter, in other words, tiles that are next to enemies. This might be useful for players that prefer to have clear vision on the mechanics instead of trying to immerse themselves in the game's atmosphere. I personally prefer playing with the grid off, but I won't hold it against you if you enable it!
Huge Performance Boost
If you're in our Discord server and have read my recent devlog messages, you're probably aware that I've recently lost my precious GPU. As grim as it is, this technical issue actually turned out good for the game. I've been literally forced to optimize the game to be able to continue development on my Intel onboard GPU. I'm happy to announce that the game now works on Intel integrated GPU on 60 FPS on low settings!
I don't want to go into technical details but I've made many changes to what the preset quality settings actually do. For example, "Low" setting now completely removes shadows, which brings huge performance boost. There are also separate options to disable taxing post processing effects like "ambient occlusion", "color bleed" etc. Other than these options, I've also worked on dynamically merging game objects after generating the level. Since static batching is out of the picture for the fully procedurally generated levels of Draft of Darkness, this method of merging meshes on the fly was a huge improvement for a big performance increase.
Are We Done?
We are not done yet, but since there are a lot of changes, I split the blog into two parts. If you want to see all the changes yourself, you can play the game for FREE in our Discord server. Draft of Darkness is in the last stretch of the Alpha phase of development and will soon evolve into it's Private Beta phase. So catch it while it's available by joining our Discord server! See you on the next one...