Here's another developer interview for you! This time we chatted with Decemberborn Interactive about their game Cathedral.
GOL: First of all, can you introduce yourself and your studio?
"My name is Eric Lavesson, and I'm the lead developer of a Swedish game development studio called Decemberborn Interactive. We're a small company, consisting of three people working with a few talented freelancers. The three of us work together at another company as well for our day jobs, and spend some evenings, weekends and various spare time working on games under the Decemberborn banner.
I started the company in December 2014 (So, the company was "born in December". Coming up with company names might not be my forté). To date, we've released one game, which is called Cathedral. It was in development for about 5 years (part-time) and we released it on Linux, OSX and Windows in October 2019."
GOL: How did you get into making video games?
"I've always been interested in writing my own games; It’s a long and weird story which has followed me through all my computers, consoles and programming languages that I’ve dabbled in over the years. When I was 9 years old, my parents had an Atari 600XL. It came with a binder full of programming examples in BASIC which I happily typed in to see what happened. I made my first (extremely crude and unfun) text adventures back then. A few years later, I got an Atari ST, where I dabbled a bit with Motorola 68k assembler. I modified existing examples that I got my hands on through magazines and shareware floppy disks, but ultimately it was a bit too much for me at that age. Later, I got a hold of STOS - an implementation of BASIC made just for games! I created a few really simple platformers and demos with this and had a lot of fun throughout the years. Even later, when my Atari got switched out for a PC, I continued games in QBasic for a while and switched more and more into C (and later C++) and assembly in DOS, where things got way more interesting. All of this of course became even more exciting when you started getting access to OpenGL and DirectX a few years down the line.
Long story short; all of this drove me towards a career in software development, and even though I ended up specializing in rendering and visualization in my dayjob, I never actually released a game until Cathedral. Games and game programming has always been a huge positive part of my life, but releasing a game was just a distant dream for a long time. At one point I felt like I needed to rectify that and get something out there, which is when Decemberborn was created. I also had the luck of meeting people with the same mindset that I could collaborate with."
GOL: Your first title, Cathedral, released back in October 2019 - tell us a little about the game
"Cathedral is ultimately an NES-styled adventure game, inspired a lot by Metroid and similar games (so a Metroidvania, if you will). In depth, it’s essentially stuff that I loved from a bunch of games, both old and new ones, put together into one game. There’s inspiration from a ton of NES games such as Wizard & Warriors, Zelda II, Metroid, Simon’s Quest and so many more, but also from various games on other platforms such as the Wonder Boy series. I could most likely list inspirations that we drew on for quite some time, but ultimately I think what all of these games have in common is that there’s a sense of adventure in them. You’re on an adventure, figuring things out as you go, unveiling a world, one layer at a time. And I think that’s the essence that we wanted to capture in Cathedral as well."
Direct Link
GOL: How did the release go overall, how did you find the reception to it? What valuable lessons have you learned about it?
"The release went well. We had a simultaneous release on Steam and GOG across all platforms (Linux, OSX, Windows). We patched the game fairly often the first week due to some minor bugs, but I don’t think we encountered anything huge or way too unsettling.
The reception has been very positive so far! Some of the initial player feedback encouraged us to slightly redesign and add some rooms and items to avoid unnecessary backtracking. So far, people seem to enjoy it, which makes me happy!"
GOL: How has the split been across the different platforms (Linux, macOS, Windows) for your sales of Cathedral?
"Windows is by all accounts the largest platform, taking almost all of the sales. Linux is sadly less than 2% of the sales, with OSX being only slightly stronger. The good news is that this won’t affect any future decisions for us to release on Linux in any way at all, since we do all of our development on Linux machines. We’ll always want to release for as many platforms as possible, but Linux is our main development platform, and I don’t see that changing anytime soon."
GOL: What has been the most challenging part of developing and releasing Cathedral?
"You’ll probably get different answers depending on who you ask in the team, and I don’t know if this is the type of answer you’re expecting, but for me I’d have to say the psychological stress that I put on myself developing the game. This project became extremely personal for me. I put my soul into creating both the engine and the game, and not always in a healthy way. Cathedral was too easy for me to get consumed by; For long periods of time, I didn’t sleep enough, I didn’t eat regularly and I could literally sit in front of the computer from the moment I woke up until I went to sleep. Long-term, this puts a lot of stress on both your body and your mind, and it reached a point where it simply didn’t work anymore, and pretty much all development halted for a long period of time.
Setting up a company, building custom engines, learning how the Steam and GOG SDKs work. All of these are more or less complex things, but they can be broken down, understood and solved one step at a time. If there’s anything that ever actually truly threatened the development of the game, it was my mental state. I could talk A LOT about mental health in software projects, but ultimately, taking care of yourself should be a priority."
GOL: As we understand, Cathedral was developed on Linux, could you tell us about your workflow on this? How does it compare to developing on Windows?
"When it comes to programming languages, pretty much no difference at all except the platform-specific abstractions. As long as you avoid platform-specific code in the wrong places, you should be good. The BIG difference will be the tools available, and I think it comes down to what you prefer to work with.
Regarding programming language: We wrote our engine in C++ and made it as portable as possible. We have the same codebase with platform abstractions in some places (such as filesystem access, for instance). These are mostly things you need to consider when porting to consoles anyway, so developing one Linux and building something that should also work on Windows and OSX helped prepare for that.
Regarding tools: My entirely personal take on this is that everything just feels less clunky on Linux. I have a fairly lightweight IDE, and I have a powerful terminal where I can express pretty much anything I need within a matter of seconds. And if it’s something longer I’ll just put it in a shell script. It’s awesome and I love it.
While working on console ports, we did have to switch over to Windows because of some SDKs and tools not being supported on Linux. And I honestly missed Linux every second I worked in Windows. I don’t know how many times I accidentally opened up a command prompt and accidentally tried to execute a bash script, or pipe the output from grep somewhere, and so on…
I’m sure this comes down to preference and how used you are to the tools you have at your disposal, but the toolchains that are available to me in Linux just feels like home, and I know how to utilize them well."
GOL: Any advice for developers getting into making and releasing their first game?
"I’ve had the feeling that I’ve been guessing all the way on how to handle things, since I’ve never released a game before, so I might be the wrong person to ask, but this is probably what I can think of:
- Take care of yourself, physically and mentally (I can’t stress this enough!)
- Don’t sit on your own ideas and try to perfect them. Try them out, ask people what they think. Have people play your game as early as possible, even if initially just friends and family. You’d be surprised how people play your game, and how you might want to change the design to take that into account.
- Share stuff and be active. Show pictures, videos, gameplay. Doesn’t have to be on social media - show a friend or a coworker, or post on a gamedev forum. Whatever works.
- Ask questions on forums. Ask for opinions and ideas. I sucked at this for the longest time, thinking that what I was working on wasn’t really worth showing off just yet. You’d be surprised over how willing complete strangers are to help you become better at both game design and programming! And, if you get the chance, help someone back :)
- If you have a choice, don’t go at it alone. It’s so much better to be two persons (or more), especially when brainstorming ideas, but also for moral support when things get tough."
GOL: What’s next for Decemberborn Interactive?
"Lately, we’ve been porting Cathedral to the Nintendo Switch. We’re currently working with Elden Pixels (the devs that created Alwa’s Awakening and Alwa’s Legacy) as our publishers to bring the game to the Switch, which is scheduled to happen very soon.
Apart from that, we’re actually building a completely new game engine, based loosely on the engine we wrote for Cathedral, incorporating all the things we learned along the way. It’s at the point where it’s mature enough to build prototypes in, and that’s exactly what we are doing. We have a few different ideas that we want to explore for our next game. It’ll take some time before we have anything to announce, but rest assured that it’ll have day 1 Linux support!"
You can buy Cathedral for Linux on GOG and Steam.
Want to see more of our interviews? All our article tags lead to a dedicated page. Check out the interviews here.
Out of curiosity, which IDE and build system is/are used?
Ever thought of using something like cygwin to make at least some of the Windows environment more *nix-y?
I personally struggle without a proper command line, so I can understand the frustrations involved with Windows machines once you're used to a decent shell.
The two of us on the team that are writing code both use CLion for the most part. We both do the majority of our development on Linux machines, but we also have a couple of build servers that are Windows-based. We have a few shell scripts in our build chain, and so far we haven't used Cygwin. Instead, we've managed to get away with just executing them using Git Bash (which we have installed anyway on those machines).
EDIT: Forgot to mention anything about build system. For the PC versions, we're using CMake.
Last edited by EricLavesson on 14 February 2021 at 12:24 am UTC
Otherwise. Looks like a fun romp.
See more from me