1. Soul Dier - Part 1
  2. News

Soul Dier - Part 1 News

Soul Dier Development Progress (Mid-Sept to Late-Oct)

It's time for another progress update for Soul Dier! After finishing up some polishing and bug fixes for chapter 1, we can say that the gameplay for chapter 1 is finished for now! Now we are moving on to chapter 2. The majority of our effort in this period focused on working on designing levels and content for it.

Chapter 2 is divided into two main parts: The island town and the swamp.

For the town section, we originally already have most of the environment and character created, and have basic implementation for some of the elements. So we have done a lot of work redesigning, rearranging and implementing the level mechanics, and have all the levels in a playable state, but the gameplay and visuals likely still need a lot more work.

For the swamp section, we also have created the character models quite a while ago, but the environment and level designs are much rough than the town section. In these two months, we have redesigned many of the enemies and levels of the area and made prototypes for most of the planned levels.

Since most of our work focuses on creating gameplay elements. In this update, we will share a few interesting designs we found and talk a bit more about our process when designing our levels.

Our Demo is on steam!


Before reading this, if you still have not played our demo (previously on Itch.io), be sure to check it out, it is free on Steam!

Player Characters


With us entering a new chapter, two new companions that did not appear in the demo will join Curtain and his friends in their journey! Currently, both of them are still unnamed even though their story and gameplay are mostly complete.

Just doubling the skill effect turns out to be a fun way to provide skill upgrades! For example, Coral's Life Harmonics deals high damage to a single nearby enemy and heals herself for some amount. This upgrade made it so that it will hit a second target at close range when the skill is used.

A new round of upgrades will also be available to our players, each character will have a set of three upgrades to choose from. So we have to design and implement a new set of upgrades for each character. One goal that we wish to achieve is to make sure that all upgrades should feel substantial and exciting. This is why we prefer to provide upgrade that adds unique effects to skills, instead of providing plain number increase like damage or health.

Redesigning The Island Town Levels


The central plaza of the island town. Also shown are a new set of obstacles that we have created to fit the medieval town theme.

For the first half of the chapter, Curtain and his friends travelled to the isolated Island town in search of the library that Owl mentioned being the key to restoring Curtain's memory.

Some basics enemies in the town section: Spearmen and Musketeers.

One mechanical theme of the town portion of chapter 2 is centered around enemies that are weak but numerous, combined with unique elite enemies with more complex mechanics.

The execution ability deals heavy damage to a character and makes them unable to act during their turn. A teammate needs to spend their turn assisting the downed character for them to get up again.

This prison level is one example of such a design. The level centers around an unique enemy: the executioner. The executioner is a tanky and dangerous enemy that deals massive damage at close range. Therefore, the player must navigate the cluttered environment to defeat the weaker musketeers and mortar enemies in the backline while evading the executioners and staying close enough to assist each other as needed. I think this kind of design, where the player has to manage multiple threats simultaneously, can lead to some fairly dynamic and challenging gameplay.

While we want to make sure our enemy designs are interesting and interactive, sometimes our initial design feels a bit too overwhelming, and needs to be simplified.



One such case is the paladin enemies in this corridor level. The paladin enemy attacks by charging up their lance attack, before launching forwarding the next turn in the direction it faces. Being hit by their attacks also apply a status effect that deals damage for each tile the character move during their turn. Therefore the player needs to consider their movement and position quite carefully to avoid being hit by and lance attack, but do not move more than what is needed.



Originally we have an additional ability that allows the paladins to turn into an invulnerable statue when defeated, allowing it returns to battle after three turns unless all other paladins are already defeated. Players need to spread their damage evenly and defeat all paladins at around the same time in order to win the level. However, in the current iteration, we feel that there may be few too many new mechanics for the player to handle at once. It may also lead to the battle dragging on for a bit too long, so we are considering removing this ability.

Prototyping for the Swamp

While we are working on the design of the first half of chapter two, we are simultaneously prototyping for the second half of Chapter 2 which takes place in a swamp near the Island.

The swamp area was originally intended to be quite short. While designing the area, we feel that the enemies and level mechanics have some potential. So for now, we plan to expand it to have a few more levels.

To help with quickly prototyping levels, we have made some tools for us to automatically generate a terrain mesh and put down the bushes meshes just by editing the tile layout.

The focus of the swamp levels is environmental elements. For example, we have swamp tile that slows movement through it, exotic mushrooms that release spores with various effect when destroyed and bushes that conceal characters hiding in them.



While implementing these level mechanics, the bushes turned out to be much more complicated to code than we expected. The high bush makes characters staying in them invisible unless they attacks, got attacked or an enemy entered the same bush.

Since when we initially designed our game for all sides (human and computer) to have perfect information, it took some work to make the AI act reasonably without cheating, having proper timing to reveal or hide enemies in bushes during animations, or allowing players to undo their movement after information have been revealed, etc...

Some basic enemies in the swamp area: Scout and Thief.

For enemies design, we also want to allow them to synergize with the environments. For example, the scout enemies are able to dive underwater when attacked, making future attacks more likely to miss. Another enemy, the thief, is able to stay hidden while attacking from a bush, making it a target that the player has to actively hunt down.

Some more enemies in the swamp area: Shaman and Reaper.

Previously, when making chapter 1 and the town section of chapter 2, very often we would make all the locations and scenes before we implement the gameplay. This lead to us sometimes feeling constrained, since it is much more costly to change the level layout. The level design always has to fit the scenes we have created.

One idea we have tried is a battle where rapidly growing vines block the player's path. We might end up scrapping this idea though.

We have changed our approach for the swamp section. Since we have not yet created the scenes, we could quickly test out different ideas to see what works and what doesn't before we settle on an idea and level layout. We would test in an environment that looks much more barebone, as long as it has enough visual clarity for us to playtest. This way we can test out different concepts quickly, and would waste less time working on detailed visuals for levels that may end up being discarded.

What's Next

For both sections of chapter 2, there are still a few more levels that we need to implement or prototype. After that, we would likely still need to do more rounds of testing and tweaking to tighten up the gameplay. We also still need to create the scenes and environments for the swamp levels, as well as adding any visual effects, icons and sound effects that we might need. Chapter 2 would probably remain our focus for the next few months. Stay tuned, and join our discord to be notified of any upcoming news!

Soul Dier Development Progress (Mid-July to Mid-Sept)

We have been a bit less active on social media after the release of our demo version 4.0. That is because we have been really busy working on both business and administrative stuff as well as creating more contents for our the game! We have decided to write an progress to highlight of some of the work we have done recently in a more organized format.

If you still have not played our demo, be sure to check it out! It is a completely free demo consisting of the first half of chapter 1. We would love to hear your feedback on it.

We Are on Steam Now!

We have finally published our Steam page! (You probably already know this though, seeing that you are reading this on Steam.)

After spending a lot of time filling in forms and waiting for letters, we finally got our business registered, got a bank account and are able create our Steam page. To be honest, it feels kind of incredible to see our game on Steam after being PC gamers for years! We still have a long way till release though, so be sure check out our newly published Steam page and Wishlist us to get notified of any important news!




Levels and Contents

Following the release of Demo 4.0, the main focus of our work is centered around the second half of chapter 1, which directly follows from the story at the end of the demo. Curtain and his teammates have uncovered a secret entrance into the underground city. They are now infiltrating deep into this highly secured city, currently occupied by the evil Sinkers, in an attempt to rescue the city's founder.




A battle in an alleyway of the underground city, with updated scene.

Most of the scenes, enemies, and level design of have actually already been implemented quite a long time ago. However, with the experience we have gained working on the many versions of our demo, we have found a need to work on a lot of elements in order for them to match our new design philosophy. We ended up redesigning most of the ability of the enemies and levels in the underground, along with adding some polish to both the gameplay and visuals of the area.

We have updated looks of the core enemies in this underground area, so that they are a bit more distinguishable from each other from a glance.

One important aspect of our enemy design is that they should require some strategic response from the player. The spy enemy's new sticky electric bomb skill is one simple demonstration of this philosophy. The electric bomb will stick to a player character and discharge after the character's turn finished. It will then paralyze nearby player characters. Thus, the player will need to be careful with their positioning to minimize the disruption.

Electric bomb impacts nearby ally if you do not position carefully! Our electricity/paralysis visual effect have also been improved.

We have also spent a lot of effort reworking many of the level design and mechanics in the underground city. Of all the levels we worked on, the one that changed the most from our original design is probably the rooftop level. Keen followers may recall a rooftop level involving breakable wooden bridges, but that design had always felt a bit lacking even though we think the concept could be cool.

Old footage of our previous design, the bridges break if two character stands on them

We have now expanded on the idea and remade the level such that almost all of the floor may be demolished by the enemies! We are pretty satisfied with how this new levels both plays and looks.

Soul Dier pro tip: Do NOT get annihilated by the giant wrecking ball~!

Graphics and Presentation

One important change we have made to our graphics is changing our tone mapping from Filmic to ACES Fitted. Overall we think that it make the color look more vibrant, and it gives emissive materials a whitish glowing incandescent effect.



With us implementing (or reimplementing) so much new contents, we also needed to create quite a few new visual effects for the new player and enemies abilities involved. One notable new thing we made is a custom made trail system. Previously we used a free plugin for Godot to make the trails of our bullets and visual effects. But it have always felt a bit difficult to make our desired effect with it. The system we made have adjustable parameters that are better fit for our need, and we can also add smoothing and interpolation to prevent the low-poly look when there is low framerate or high speed movement. More importantly, it can be previewed directly in the Godot Editor, so it is much easier to work with.


One other thing we are experimenting with is the ability for characters to speak with dialogue boxes during a battle. This way, we might be able to provide more characterization to our characters and enemies by providing more opportunity for them to speak under different situations, or we could provide some tutorials and guidance in a more dynamic and fun way. We are still a bit concerned that the dialogues might feel a bit obstructive and block player's view of useful information, so this feature probably still need some more rethinking.



System Improvement

The loading time for our game have always been a bit concerning, so we have been looking for ways to improve on that. Recently we have a made a big overhaul on how we load resources. Resources here refers to objects that are not a part of the scene, but have to be spawned into the game during the course of gameplay. For example: bullets or a grenade and its explosion visual effect. Loading these resources from the disk in the middle of gameplay would not be ideal, since loading and shader compilation would cause notable slowdown.

Previously we would always load and force shader compilation for all resources before loading into the first battle to ensure there will be no lag during gameplay. This was acceptable for our demo, since most of the resource are reused across all the levels. But as we develop more and more levels, this have became a more significant burden to our load time. Loading visual effects that will only be used in chapter 2 levels when a player only want to play a chapter 1 level would be quite wasteful.

This is why we have developed a new system to mark potentially required resources in a efficient way for the levels. This way, when the player chooses to play a level, the game only loads the resources that will be used in that level.

Loading Time
First time loading on a device
Subsequent loading
(Shader cached on disk)
Old System
158.301s
51.272s
New System
117.154s
37.733s


We did some testing with our new system. The result is about 25 - 20% time reduction to fully load into a battle for the first time. This gap will probably become much larger as we continue add more resource for later levels. The loading speed is still not earth-shattering fast, but at least it is a step in the right direction.

Last but not least, we have also been making myriad of bug fixes (and more myriads of bugs, of course) alongside with minor quality of life improvements. For the sake of brevity, I won't be listing them here.

What's Next

We are currently working on some final touch on few of the levels in chapter 1. After that, we will finally be able to officially move on to chapter 2. We do already have some of the models and levels implemented for chapter 2, but like before, they have gone through some redesign. This means that we still have a lot of work ahead of us.

We have also have been busy preparing for a Kickstarter campaign for the past few months, so please look forward to that. In the meantime, follow us on Twitter for more updates about our game and wishlist us on our Steam page!