What I've learned after developing Sonucido: The Mage for a year!


December 2 2020. After thinking about which project I should work on after Bring Back The Sun, I decided to go for the most challenging idea: a 3D Dungeon Crawler RPG. Now, it's one year later – this is what I've learned.

1. You can improve a lot in a short amount of time

There are almost no tutorials on making a Dungeon Crawler let alone on making one in Godot, so I needed to come up with my own systems. Sometimes this was hard and even frustrating when something didn't work as I expected but it also was a rewarding experience everytime I managed to get it working!
When I talk about programming with people who didn't do it, they all call it hard. It certainly isn't that hard, especially with all the game engines you have at your disposal nowadays.
After you’ve learned the basics and finished a slightly bigger project, you can do a lot with it and build on your knowledge. The same is true for anything else like pixel art. Even though my pixel art skills are not anywhere near greatness, it's getting better!

2. Your vision for the game will change a lot

And that's okay. Some ideas work, others don't. Being dynamic and adjusting your development accordingly increases the quality of your game while just ticking off a todo-list that was made months before, will lead to a worse game. That's at least my opinion. It's not a weakness to adapt, quite the contrary.

A picture of the beginning stages of the development of Sonucido

Left: Sonucido right at the beginning of development. Right: A screenshot of the current development state.

3. Minor improvements are important

Maybe they don't make or break a game but it certainly can improve and worsen an experience significantly. Having a hotkey for an action that you do often is such a minor thing and if you have it you don't really appreciate it but if you don't have it can really suck. Sometimes a small addition to the game, for example to the fighting system, can increase the fun a lot. Details certainly matter.

4. Like (almost) everyone I suck at estimating time frames

I didn't want to develop Sonucido for over a year. It was like a line I shouldn't cross. The longest I worked on a project before was Intra-System: Trust Issues, my first desktop game and there I didn't do the programming nor the artwork. This took around 10 months to develop and wasn't the best experience. Bring Back The Sun, the first real game I programmed (aside from a gamejam project) took only three months to complete. And now one year of development is over. I made quite a bit of progress and learned a lot … but it's still not there.
I always thought that I could estimate better than most devs but after delaying the game from before Q4 to December 2, to 2022, I need to admit that it's an area were I still need to improve.

5. Code quality is overrated

I got in some discussions with friends over this one and it's a heated topic in programming circles. Since I never learned programming in a university or worked for a company, I was never exposed to code guidelines, programming patterns etc.

I heard storys from people who couldn't understand their own code after a few weeks of not looking at it and certainly this is a concern for me because I tend to update my games even if I already have moved on to the next project. But I never had this problem.
I try to write my code mostly as basic and stupid as possible with some attention to performance and it works. In my opinion that's almost all that matters.

6. Technical stuff that almost nobody will notice can be added later

I started developing Sonucido in Godot 3.2.3, and updated to 3.3.0, later on 3.3.1 and it is now on 3.3.2. Unfortunately importing 3D models doesn't work correctly in 3.3.2 (or I didn't figure out how I should do it) but the game looks sharper in 3.3.2. So I need to run two versions concurrently. I won't update Sonucido to newer versions at the moment, to avoid any bugs that could be introduced. I encountered two weird bugs with Bring Back The Sun when I tried to update it to one of the 3.3.x versions for example.
Also, I like to work on minor performance improvements but if I can improve the CPU performance by 0.5% it won't even be noticed – even 5% won't make a difference for most people since Sonucido runs well on a wide range of hardware. Decreasing the file-size by a couple of kb would be another example.
It's likely that I will work on some of these minor things but I try to postpone it for updates. Even though it's beneficial for the game, adding a new decoration etc. is most of the time a lot more beneficial.

7. Breaks help to refocus

From time to time I do a break on development. On the one hand I would like to work on Sonucido all the time, push it out as soon as possible but on the other hand I noticed that the breaks help to increase the quality of the game and increase the quality of my work time. When I do something too much I tend to dislike it. I very naturally come back to working on my stuff and don't need much pressure.

The best thing really is, waking up, starting to work and it's just fun.

Check out the new trailer!


Back to the Blog >