Kiki's Koi-Koi

Diana and I made an iOS game called Kiki's Koi-Koi. It's an implementation of the classic Japanese card game Koi-Koi.

Check it out here.

Why?

When Apple first announced that they were going to be allowing third-party developers to make apps for the iPhone, I had a project in mind immediately. Unfortunately, I did not have even the most basic of programming ability at the time. :(

I had recently gotten pretty addicted to Koi-Koi, so I was hoping to get my Hanafuda fix on the iPhone. There were a few apps out there, but nothing really fit the bill for me. They were either Japanese-only and/or poorly designed. So, I really wanted to learn how to make one myself if only so that I could play it.

How?

Without any mobile development experience, this was mostly a far-off dream for me. But a bit of luck eventually came my way.

I had found a framework that allowed users to create games for mobile devices without any native code experience. You coded against a Lua API, and it bundled your code with a runtime environment that ran on the device. It was pretty awesome.

Over the course of the next few months, we started to develop ideas for the app. After some beta testing, Kiki's Koi-Koi launched on the iOS App Store on August 26, 2011.

What?

Once this started to feel like a real project that was actually going to happen, I organized my thoughts. What was I looking for in a Koi-Koi app? Well, there were two very important points that we came to pretty quickly: we wanted the app to look appealing and introduce people to the game quickly.

There weren't too many options for Koi-Koi apps on the market at the time, but I wasn't particularly impressed with the styles that were out there. I wanted to make something that was designed from the graphics in rather than leaving the art style until the last moment. That's not my forte, however. So, that's where Diana comes in.

The other important thing to me was education. When I started playing Koi-Koi, I had no idea what I was doing. The cards were incredibly foreign to me, and I didn't really grasp how you could play a game with them. The game I was using to learn, however, provided a lot of hints to the user. Highlighting which cards you could play meant I didn't really need to understand why; I could just start making matches. Identifying which sets I had collected allowed me to start deducing which cards were important. Before I knew it, I was forming strategies and beating the computer player. I wanted to create that first-time experience for other people, too.