Ratio:1 released!

Recently I finished my first mobile game for iOS, Ratio:1. When I submitted it for approval, writing a short summary seemed like a good way to wrap up the project and create a record of it for myself. There isn’t a lot of in-depth information since that would be specific to this game, instead, I’ve hit on some of the notable points in the experience that were lessons for me.

I started my career in the games industry in 1997 and have had a lot of different roles, but this was the first time I would be doing everything from the idea to publishing. Before I got into games I was an architect, so I didn’t have this experience in school. I’ll say it up front: I think everyone should do this one way or another, whether it’s in school or on your own.

The process was a lot of work, research, frustration, and satisfaction. It was genuinely the sort of experience I wish I’d had early on, but even at this stage in my career the benefit and sense of accomplishment is fantastic.

The short pitch for Ratio:1 goes like this :

Ratio:1 is a self-paced game where you match falling tiles by moving your stacks of tiles across the bottom of the board. For every space you move your stacks left or right, free tiles fall once space.

For every match and combo in a turn, you earn a drop to advance the falling pieces without moving the stack. The stack wraps from edge to edge, letting you choose the best match or build a large combo.

The development went sort of like this :

In July of 2016 I decided that since I was now essentially an Independent Game Developer, it was past time to create and publish a game. It was easy to get started, looking through old sketchbooks, restoring digital archives, and taking stock of what tools I had to work with.

I knew I needed to start small, and needed to leverage every resource I had. An idea started to gel, and resulted in a lot of drawings, notes, and a working prototype.

By early September it became clear that I wasn’t thinking small enough; what I really needed to start with was the full experience of finishing a game and getting it published. With that goal clearly set, I went back to the prototypes I had in my archives and evaluated each one based on how far along they were and if I was capable of taking them to a finished stage.

Ratio:1 was already playable, pretty fun, and was built in Unity, which I’m currently using. Other prototypes were made in various versions of Torque and represented a lot more work to convert.

As part of my plan to learn the entire process, I decided that iOS would be the best choice. The App Store is a complete pipeline for getting to market, and the documentation is clear and thorough. It also meant that I had the hardware for testing, and that the platform was a constant.

Getting the game running on my phone was surprisingly easy though it ran really badly. But it ran, and that simple start was very motivating! For the rest of September and on into November I took the project apart, researched the proper way to do things, and rewrote code to try and improve performance.

Part of the need to rewrite was the fact that I didn’t really have any sort of win condition for the game, and the loss condition was honestly just frustrating and dull. Rewriting helped me create controls to adjust all aspects of the game and begin creating something fun.

The other thing the process helped me to realize was that I had been making things overly complex, trying to be clever for the sake of a gimmick that was long since abandoned. Once I started removing things, the core idea started to become clear and fun. It was simple and reminded me of 80’s arcade games, so I went with the retro vibe.

At this point, it seemed like Ratio:1 was on the way to wrapping up, and I began to think I’d have it submitted to the App Store in time for Christmas. I registered as an Apple Developer, started asking people to help beta test, and began looking at everything I could find about how to market and sell the game.

It’s practically an industry cliche, but of course this didn’t happen as I imagined.

Instead, I began to get good feedback about the game mechanics, really bad bugs were found, and I was overwhelmed with the reality of how complex mobile game monetization and marketing is. Then, at what was probably a perfect time, we left for our Christmas trip and I didn’t touch the project for two weeks.

When we returned, I began methodically finishing the list of final bug fixes and features. Then I made another final list, and another, and then it was five pages. It was a productive three weeks, and the only things left on my list were future feature ideas and things I have no clue how to do at the moment.

Then just nine days ago, because I apparently had to do something dramatic, I decided it would really be for the best if I rewrote the main game file in C#. It did occur to me that decision seemed a whole lot like self-sabotage, a sure way to not finish and shelve the project.

For the technically curious, there was a good reason – that file was JavaScript, and has all the game logic. When I started the prototype years ago, JS arrays were the only way I knew to manage all the pieces. Over the fall I’d replaced everything with .NET arrays and lists, and it was better, but not where I thought it should be.

The good news was that I finally knew enough to do it, and twelve hours later it was done. It was a good, if poorly timed decision and I got the performance gain I wanted.

As a final note, it was during the break from obsessively working when I decided that for better or worse, I was going to go against current thinking and simply sell Ratio:1 for a fair price. There is nothing in the game that can be an In App Purchase, and there are no moments where an advertisement would be anything but obviously and intentionally annoying.

There’s a lot that can be debated about that decision, but in the end I want to sell people a game they can simply relax and enjoy.

– Don Hogan