Welcome to my blog! This is the spot where I intend to share everything about my journey becoming a game developer. A journey that I decided to take long ago.
On this blog I share technical insights but also more personal experiences. As a game developer “on the side”, a lead engineer at a large bank and a father of two, there is plenty of other stuff to cover. Don’t expect any answers on how to make life work; I don’t know either.
The ghost of Christmas past…
Games have always played a big role in my life, as it probably did for a lot of people like me born during or after the 80’s (I am from 1988). As a kid, I remember vividly playing GTA, SimCity, Carmageddon and what else with my big brother on the PC.
One of our biggest enjoyments was the Age Of Empires series. I am from the Netherlands and every year we celebrate the King or Queen’s birthday during which a lot of people sell their stuff on street markets. In 1998, my brother and I sold everything we could during this day, and we gathered just enough money to buy AoE at the local computer shop.
We must have played it for 100’s of hours, and I will never forget how much we got sucked into this game, and not only had a lot of fun, but also learned interesting historical facts. At least, that is what we told our parents.
Similar memories I have for Transport Tycoon, developed by the legendary Chris Sawyer. During family visits, my brother and I went upstairs and started drawing on paper what kind of traffic connections we would make when we got home, and what villages we would like to rename to what names. Thinking about Transport Tycoon, I can still hear the game music playing in my head.
In 1997 we got an N64 for Christmas. Now this was a truly unbelievable experience: playing GoldenEye64 against each other on the TV, or driving through San Francisco in Rush. In my memories, those were my golden days for digital entertainment. We even took the N64 with us when visiting Disneyland for a long weekend, and I have the most memories not from visiting the park, but from playing 1080 snowboarding in the hotel room.
During the years, I also owned a GameCube, XBox360, PS4, SeriesX and soon probably a Switch for my little boy. Most memorable for these consoles are games like Eternal Darkness (GC), Oblivion and Skyrim (360) and GTA 5 (PS4).
I loved the GameCube and the 360, but the most nostalgic feelings I get when remembering those old days, playing games with my big brother on our Pentium II PC and N64. I think this is mostly related to my age. But maybe games have changed overtime as well. Whereas back then I could play a game without a tutorial and finish it in 10-15 hours, many games nowadays have a tutorial of hours, and are more complex than before.
Impressive always, but sometimes for me personally frightening in the sense that I am afraid I would never finish it, holding me back from investing my time in it.
I still read a lot about games, and buy them regularly. But the ones I really play are only a few, which most recently are Resident Evil, SOMA and Dead Space.
Occasionally I play on mobile, where there are a couple of very good games available in my opinion. GameDevTycoon, Kingdom Rush and Angry Birds (the first one) I found very enjoyable. But I also see that the mobile market for games is flooded with games, many of which are pay2win and/ or idle games.
The ghost of Christmas present…
Over the years I started gaming less than before, but nostalgia always kept me thinking and reading about games. During my master of Cognitive Neuropsychology at the university I started doing some programming courses, mainly aimed at statistical analyses and models, but also some psychological experiments.
Experiments were for example designed to measure response times of subjects needed to detect a particular visual stimulus on the screen. As in the example below, a subject would need to determine which of the drawn rectangles has changed its orientation.
Though very basic, it was here I realized that computer games (slightly more advanced ofc) are in essence built around these same core principles (rendering, detecting input, processing state etc).
This intrigued me a lot, and so I started learning more on game development in my spare time. ActionScript 3.0 Game Programming University was one of the first books I bought, and I couldn’t put it away. A lot of other books followed, and after a while I decided to focus my efforts on iOS, especially since Flash and ActionScript were becoming more and more irrelevant.
iOS development
Starting with tutorials on Objective-C, I quickly figured this was a different level than developing Flash games in AS3.0. Nonetheless, after a while I got the hang of it, and started my first project:
A language quiz aimed to learn Spanish words. It was very basic, but it did teach me how (not) to write code for a small sized project as this. I named it WordWise.
Developing WordWise enabled me to learn about the application of databases on a mobile device (sqlite in this case) and how to keep track of high scores, playing sound effects and create basic animations. Moreover, it was the first app I delivered to the Apple AppStore, and that was a very learning experience as well.
Creating the store assets, understanding the signing process and release cycle are actual skills as well and are not that straightforward when doing it for the first time.
Honestly, the success of WordWise was rather limited, but the learnings I have made during the process are invaluable.
It also gave me the confidence to start a new project, a shoot ’em up based on the Pink Floyd universe, called Numbed. Confident as I were, I decided to also do the art for this one, and I couldn’t imagine anything other than that this would become my first success. To my pleasure, it was also at that time that Apple released SpriteKit.
SpriteKit is a 2D engine developed by Apple, providing among others rendering, animation and collision detection capabilities. It has a powerful API, and with the experience I just gained with iOS development it matched well with my capabilities.
Over the course of a year I drew art for Numbed, programmed the game internals and hoped for the best. When I got it out there, I was hoping for some good sales obviously, maybe a review here or there..
But that never happened.
I got one reaction on my Reddit post to promote the game, stating:
This looks terribad
Next to that it was a rather quiet release. I later hired an artist to draw the art all over, and spent many days to rewrite the code completely in Swift, which was released while I already started development of Numbed in Objective-C.
Professional life
Fast forwarding, I spent most of my spare time on developing iOS games and apps, and though I finished my Master of Science in Cognitive Neuropsychology in 2012, I landed a job at Capgemini, an IT consultancy company, in the same year.
Getting to understand IT development in a professional environment helped a lot. I got acquainted with the principles of version control, continuous delivery, REST API, all subjects that I didn’t touch in my personal projects.
After a couple of years and some job switching later, I ended up at ING, a Dutch bank, to work as an iOS developer in 2017.
Over the time, I released multiple apps and games to the AppStore, including an ice-puzzle game named SlippySlide and Connexx, a game based on the Japanese puzzle game named Hashi.
Herodom
Mid 2017 I was looking for some new game ideas. Browsing the web, I came across the pixel art that was made for the Liberated Pixel Cup. I loved the art style and the idea of all the art being open for anyone. There was even Spritesheet Generator, that I forked and expanded upon over the years.
And this was such a cool thing: Using the generator I was able to create a huge variety of units, especially themed for a medieval setting.
I really wanted to create an Age of Empires like game with these assets, but I also saw how complex such a game is. So I settled for something slightly less complex:
A dynamic variant of a tower defense game.
The core principle is to stop the enemy from reaching the end of the map, but instead of deploying towers, you deploy units. These units can be commanded using simple commands. Moreover, there will be siege weapons that one can deploy and fire manually. It also ended up with some basic resource management, including a small farming simulation idle game mechanic.
Herodom launched in silence in May 2020, but was featured by Apple in August 2020.
This caused a huge injection of new players, and it allowed me to gather a lot of feedback and improve the game. Eventually, it also allowed me to spend more time on game development, as I was able to lower my hours I spend on my daytime job.
I will write more in detail about Herodom on my project place here.
The ghost of Christmas future…
After developing Herodom, and it’s relative success, I started thinking about a new game in October 2022. Still dreaming of making more an RTS type of game, like my all time favorite Age of Empires, I sketched the idea of what has now become Battledom: a spiritual successor to Herodom.
In Battledom I focussed on more dynamic battle mechanics:
Instead of lining up static units to prevent enemies from crossing the map, I know wanted to create maps that one can explore with an army. Commanding your army around, you would engage in offensive and defensive situations.
Siege weapons would be there, and also the resource management I wanted to take to a higher level:
Instead of buying units with gold, you would need to harvest resources like Coal, Iron and Leather. Using these resources you can create items, like weapons and armour, and equip those to your custom made army. Sounds easy right?
It’s now November 2024, and Battledom has come a long way. I made five playable levels, the resource management is in place and I think it’s enjoyable to play.
That means that now is the time to test. Testing a game like this is very time-consuming. There are many balancing aspects for example that are hard to get right.
For instance, all weapons, armour and alike have different individual stats. Once equiped, these stats add and define how the unit behaves. If a bow is equiped, the unit will behave as an archer. If a sword is equiped, the unit will behave differently. Armour will influence the speed of the unit, and off course the resistance to damage.
All combined, it is essential that there are no overpowered units. I don’t want someone to be able to finish the game with only archers.
There needs to be some required strategy in order to win the game. As such, I started to open up testing Battledom via TestFlight, and at the moment there are people already playing Battledom. If you want to join the alpha playtest, please join here.
Coming period I will mainly focus on Battledom, and some of the open source side projects I work on.
Plus, I will expand this blog with new articles off course! Are you interested in any specific topic? Please drop a comment below!
Sander