Building a Game Studio: A Year in Development
I started my game development journey almost a year ago by participating in a game jam and submitting an HTML5 game developed using PhaserJS. Since then, every game I made has been a learning experience.
Initial days were about figuring out the game engine I wanted to use. Godot was the obvious choice, and I am glad I picked it first. Plenty of online resources and a smaller feature footprint helped with the learning curve. I made a lot of games and unfinished prototypes in Godot. Two of the Godot games are in the Play Store as well. The development experience helped me learn common game design patterns and algorithms, giving me a framework to translate a fun game mechanic into a production-ready game.
Eventually, the goal was to start a game studio. About halfway through my game development journey, I finalized the type of games I wanted to make: casual 2D mobile games. I started looking for a better game engine that was most suited for my needs. I came across Defold and decided to give it a try. The bundling experience and low-level nature were actually perfect for my needs.
I started prototyping games in Defold, and it was a different but rewarding experience. The learning from Godot and PhaserJS definitely helped a lot. The library system in Defold really helped in modularizing the building blocks of games that are not the core mechanic. I developed a few games for learning and for game jams and decided to finalize Defold to create my own framework.
I merged two of my Defold games into a monorepo and extracted all the modules into a shared block. I came up with a simple three-block architecture: Loader, Main and Transition.
The Loader contains all the logic to load the splash screen, game landing menu, and game state management. The Main contains the core game mechanic and renders the current level the player is supposed to be on. The Transition contains the UI and logic to show the level over state and move between levels.
With this approach, I had two of the three components almost ready for any game I wanted to move beyond a prototype. A prototype is always developed with just game mechanics in mind and is developed in isolated projects. Once the prototype feels like a fun game in the making, I move it to the monorepo and put the logic in the Main component of the template. This makes the prototype-to-production process a lot quicker, which is to be expected for a game studio targeting casual mobile games.
By the end of the year, I had two games in the Play Store developed using this development process. Overall, I published four games on the Play Store, ten projects & games on Itch, and countless prototypes. I am confident that I have the coding pipeline figured out and have the art pipeline design almost partially done. Next up is finalizing the art pipeline, establishing marketing channels, and integrating monetization into the coding workflow.
The goal feels so much in reach. The game studio is taking shape, and the first dollar earned from my game is not that far.
