Designer City is a non-scripted city building game where the player decides how their city builds and grows. The game focuses on the creation element and players are free to design their cities however they wish. The only limitation is your imagination. With dynamic landscape generation and over 650 buildings to construct, no two cities are the same. Networking is integrated at the core so players are free to visit other cities for inspiration.
Sphere Game Studios is a very small indie game company located in London, UK. It has one developer, one 3D artist, and one «tester/QA/support/everything else».
I have always loved playing city building games since SimCity 2000™. A major medical incident three years ago forced me to be off work for a few months and it was at that point that I decided to change my life and become a game developer. It was then that I looked around for an environment to take my idea to turn it into a shippable game. The choice came down to Corona and Unity (obviously given the 3D nature of my game). After examining both options at length I decided to go with Corona as I found the documentation better and the forums more friendly.
Corona offers me the best compromise between feature set, complexity, and language. It enabled me to prototype my idea quite quickly (even though this was my first time in mobile). It didn’t take long to lose the rigid way of doing things and appreciate the power and flexibility of Lua closures and its extendibility.
Initially, I had no issues with performance, but as the game has grown in both size and complexity, I have faced many scaling issues. My ethos is to make, where possible, the game available for all, which does cause issues balancing low-end Android devices with high end iPhones. The team at Corona has worked with me to both improve my game and the framework. It is a symbiotic relationship and, as a developer, this is really important to me.
The choice of Lua, as compared to say C#, is the feature that stands out for me. I have experience with a lot of languages and Lua balances ease of use, performance, and readability the best in my opinion.
Designer City is a large and complex game and it took about a year to go from concept to deliverable. Admittedly, a lot of that was because I could only work evenings and weekends and creating assets in 3D Studio is very time-consuming.
This depends if you are new to programming or just new to mobile. I would advise starting with lots of simple apps to learn how to program. Once you are comfortable with the more complex intricacies (like networking, OOP, and memory management) then, and only then, are you ready to create a marketable game.
Designer City is top 100 in multiple categories in over 100 countries, but that actually isn’t as much motivation as hearing players’ stories. When I get emails from players thanking me for making the game that has helped them deal with months in a hospital or in recovery, that is what counts. When I hear that players are still playing over a year later and they play every day, I know I have created an enjoyable and sticky game.
Most city building games are either quite shallow: «build this building here» or all about grinding («collect 100 screws to build this house»). I wanted to create something unique; something design-focused. It is from this concept that Designer City was created. My first challenge was random land generation so I was in at the deep end writing a perlin noise generator. I had a vision for the end product and slowly (and sometimes painfully) I realized my dream. My game was ready to ship.
It is somewhat ironic: I set out to make the city building game I wanted to play… but because it is my business, I never get to switch off and just play!
A laptop, an A4 notepad, and a desire to achieve. It is now a lot more structured with proper testing scripts and a bug reporting process (admittedly this is a piece of paper passed from one end of a sofa to another!). Trello and Slack are great team tools and help organise the workflow. Designer City has a lot of maths and the development is partially code-driven. One of my key philosophies is that the roadmap is primarily driven by the actual players. We run bi-annual player feedback sessions and have an active social presence with our players on Facebook.
The game is primarily monetized with in-app purchases for in-game currency (money and gold). After a while we noticed that players over a certain level never purchased, as the game reward system was too generous. So, we added a new premium currency of diamonds and a new “Special” category with exclusive content that can only be purchased with diamonds. This has helped monetize higher level players. The game also has some optional reward ads that give nominal amounts of gold for players that would never pay.
Having gone from evening coder to full-time dev studio, I would say the answer is yes. My goal was to quit the 9-5 grind and do my own thing. My second game is soon to be released and my ultimate dream is to have a portfolio of games (all sharing a common code base).