Hi! My name is Andraž Oražem, the only developer behind NecroBouncer, a roguelike title about a necromancer working as a bouncer at a dungeon nightclub. The game is partly based on my own life experience, as I live in a cozy Slovenian dungeon.
While working on NecroBouncer, I had to overcome a variety of obstacles. I’d like to share my journey with other solo developers to help them out and warn them from repeating the mistakes I’ve made.
Long road to NecroBouncer
NecroBouncer wasn’t my very first project. I’ve done four simple games before, which weren’t original concepts, but gave me the opportunity to add my own flair. I also worked on seven projects that I never finished, including a mobile game.
It took me six months to develop this mobile title called Extreme delivery. It’s a fairly simple game that tasks players with delivering mail as a postman on a bicycle. Although it only got about 100-1000 downloads, it helped me learn more about publishing games.
Some of Andraž Oražem’s previous games
Then NecroBouncer came along. As much as I like to joke that my life in dungeons greatly influenced the development of the project (especially the game setting), I can’t say for sure. Frankly, a lot of my ideas for NecroBouncer came about randomly while taking a shower.
I’ve always loved zombies and necromancers — especially in games — and always wanted to include them in a project. While working on the concept, the idea of placing these creatures in a nightclub setting suddenly came to mind (probably during a shower). The game took on a life of its own from there. I found a way to spice up its visuals and incorporate interesting gameplay ideas.
Before I discuss bugs, engine transitions, and other typical developer issues, I need to get something straightened out. I hate nightclubs. In fact, I only visited a handful. I learned that bouncers usually hang out in front of clubs, but I guess our NecroBouncer is an exception!
— NecroBouncer (@Necro_Bouncer) October 27, 2022
Creating my own schedule
Back to development. Shortly after starting to work on NecroBouncer, I realized that I needed to create a schedule that would allow me to work on the project while taking care of existing commitments.
Aside from NecroBouncer, I had a full-time job as a front-end developer at a company that sells lenses and glasses online. In the beginning, I was making 3D models to test the glasses online and I was also in charge of a small group (with two other people). But later that project fell apart and I started working on a few of our web pages, mostly front-end coding, and some more practical applications for this website.
Normally, my schedule at the time would look like this:
- Get up early around 5:30-6:00 a.m. and work until 7:00-7:30 a.m. Make coffee for Nina, my girlfriend, and wake her up for breakfast;
- Go to work and exercise right after. Go home, take a shower and have dinner with Nina. Then I was trying to save a little more development time…or playing online games with friends;
- If I’m home for the day, I always try to get up early, but try not to force it except when I’m on schedule (which I have been for six months). I also wake Nina up with coffee and talk to her about cereal. Then I say goodbye to him in my arms and focus all my attention on the development until noon or 1:00 p.m.;
- I start cooking in the early afternoon. It’s a great stress reliever for me. I would like to say that I eat a wide variety of foods, but I usually make myself pasta with tomato sauce. I add tuna if I’m feeling adventurous;
- After the break, I go back to work and type as best I can. Sometimes I play games with friends for an hour or play the piano if I feel tired. The rest of the day is similar to when I work my day job.
Solo development comes with stress and burnout
Throughout the development of NecroBouncer, I always remembered to be patient with myself. After all, I was working on the game in my spare time alongside a full-time job, which I didn’t quit until the end of April 2022. It took a huge toll on my energy and motivation. Sometimes I completely stopped working on the game for a few months.
Other times I had to work on NecroBouncer despite being exhausted. The most memorable moment for me was when I updated the game engine (more on that later) and completely reworked the input system and UI, which ultimately added the functionality of the gamepad. This was a huge relief for me. This is a problem that has haunted me for a long time.
Another memorable moment was when I added the NecroBouncer upgrade system. After adding it to the game, the whole experience was much better and more fun to play than ever. It was a big step forward in the development process.
NecroBouncer was originally designed as a free-to-play mobile game
To be honest, I play mobile games every time I expect something. I came across a bunch of really cool mobile titles, including the clicker game called Egg, Inc.. It inspired me to create a clicker game myself. However, instead of clicking to acquire money, players would embark on an adventure and fight enemies along the way.
As I was following an example, I wanted to make my game free. This prompted me to explore other monetization methods like ads and in-app purchases. In my mind, that meant I had to make my game worse than average in order to give players a reason to buy things.
After spending a lot of time working around this “problem”, I found myself making too many bad design decisions to make up for the free-to-play nature of the game. When I started pitching the game, a publisher asked me: “Have you thought about making the game for PC?” It was the final nail in the coffin. At that point I decided to switch platforms and remove the free component.
There were a few features that I completely ditched right after switching from mobile to PC. These include daily quests and challenges, which took me a while to implement, but had no purpose in the PC version of the game. The main thing I had to “give up” was the time. It took me almost a year and a half to bring the game back to a level that I felt was good enough to present to publishers again.
Sobriety is temporary, but the party at the club is forever. 😎🎉
I woke up and almost forgot about it @Necro_Bouncer The prologue is NOW AVAILABLE! https://t.co/3MPxz3zNCj
— NecroBouncer (@Necro_Bouncer) October 13, 2022
Rebuilt the game’s user interface and input system
Another thing that drove me crazy was that I had to update the game engine (I use Unity for development).
Unfortunately, A LOT of things broke down during a very important period of the game’s development. We were days away from the release of the game’s first demo. Unsurprisingly, I had to work non-stop to get the game back on track . The entire input system and user interface had to be rebuilt from scratch.
At the beginning of this process, I was extremely nervous and felt defeated. I knew I had to get it over with and I tried not to think about it too much. I worked until the job was done and barely slept for the next three or four days. If I wasn’t working, I was just thinking about that, which motivated me to work more. This was an extremely stressful point in the development of the game. Fortunately, the input system started to react much better quickly, which kept my spirits up despite the bad situation. In the end, I was tired, exhausted, and hated my computer for a week or two, but the fix was done!
Even though I could barely think about development for a while, I was super happy to have gone through this process. In my opinion, these types of changes are probably some of the most difficult for developers, because you don’t make any progress on the game. This means that the gameplay stays the same and you have nothing to show for it despite all the effort.
When I’m working on gameplay, I’m always happy at the end of each “chapter” because I can see my work, play it, and let other people try it out. The backend is pretty boring in that sense, as it takes a long time to get it right. While it doesn’t sound like much, it’s one of those things that only gets noticed when it’s bad.
Mistakes to avoid when creating your own game
These are just some of the ups and downs I’ve been through… If you don’t want to repeat my mistakes, keep a few tips in mind:
- Don’t make your games too big, especially in the beginning. Try to make a game of a smaller scope and complete it as quickly as possible. Later, when you have more experience, try to develop something bigger or intensify your current project.
- Plan your game as much as possible. Write it down on paper first and think about how it would be played. Then start conceptualizing its theme and how the theme fits into the mechanics of the game. Then start thinking about how you would program those mechanics, how the game ends, what player progression looks like, where and how the progress occurs. There are a million things to think about. If it’s a small project, you can literally plan everything. I made this mistake before I started NecroBouncer development, which meant huge changes later on, including the core mechanics. These are things that didn’t make sense from the start, but I just didn’t think about them.
- Acquire help. If you’re on a budget, pay people to help you with things you’re not good at. I mainly work on NecroBouncer solo, but I ordered a artist to make me a beautiful clutch. I also paid a musician to make a good soundtrack. These are just a few features that really improve the quality of the game and save a lot of time.
- Show your game as much as possible and as soon as possible! Don’t be afraid that people will steal your ideas. People have millions of ideas, but if they can’t execute them well, they don’t matter. What matters are the comments and the exposure. If you have an idea that you really cherish, keep it secret and maybe share it with a close friend or family member. As soon as you create something that starts to look like a game, share a screenshot, make a video and start showing it. Ask for opinions. You don’t have to take all the advice to heart, because a lot of it can be really bad. However, even in these cases, you may be able to find something of value. After all, it can inspire a whole new project.