Catchup v.1.0.1 & v.1.0.2

Screen Shot 2014-08-07 at 2.46.50 PMHere are the release notes for Catchup version 1.0.1, which was approved and went live in the App Store sometime late last Saturday night (September 6th).

v.1.0.1
* added a setting to let you change who goes first in a vs AI game
* minor changes to text strings, mostly consistent capitalization of AI and Catchup (thanks go out to Martijn Althuizen for help with this work!)
* minor changes to Dutch localization
* relatively significant changes to the german translation
* fix for the “next game” button flashing after you take an async turn
* close the GameCenter UI if the app goes into the background
* misc additional minor bug fixes

Thanks again for playing Catchup!

After getting two emails almost simultaneously on Sunday morning, both letting me know their game over screens were reporting the wrong winner, I pre-pended the following message to the 1.0.1 release notes, and sat down to find the problem:

WARNING: this update actually causes inaccurate end-game win reporting on the game over screen. (The stats and leaderboard submission should still be correct.) This will be fixed in the next update.

And here are the release notes for version 1.0.2 that I submitted to apple on Sunday afternoon, (September 7th):

v.1.0.2
* fixed bug with incorrect winner name on game over screen (Sorry!)
* corrected title bar string on game screen

All of this illustrates one of the frustratingly difficult aspects of solo application development — regression testing. Or, for anyone unfamiliar with the term, testing existing functionality after a code change “to make sure everything still works”. Basically, it was my work on the new feature (letting the user pick whether or not they go first in an AI game) that broke the game over screen reporting. As bugs go, it’s fairly minor. (I don’t mean to belittle the frustration if you encounter it!) Nothing is crashing, and the win statistics are reported correctly, both to Game Center and the internal stats page. I definitely tested quite thoroughly playing against the AI before submitting 1.0.1, but I just plain didn’t think to check local multiplayer, and might have played through an async game, but I’m not 100% sure. Anyway, I clearly didn’t encounter the bug. (Or didn’t notice if I did.) The specifics are kinda funny: the wrong player name is reported as winning the game in async, but only to one of the players. (Which player depends on who actually won the game.) In the local multiplayer scenario, it basically always reported player 1 as winning.

I have plenty more features to work on for the next build I submit, but figured I should get this fix out there ASAP.

More about me than you ever wanted to know…

So today an interview I did over at tech.mn went live. It’s part of a Nerdery-sponsored “know this nerd” series, so I’ll forgive them for using the term “nerd” instead of “geek” (which I generally prefer).

In case that isn’t enough biographical writing for you, I have also been meaning to post some of my responses to a game-related user-group application I filled out about a month ago. I’m not going to go into details about what the application was for, but let it suffice to say that I spent a lot of time on the application, but ultimately wasn’t accepted. So I feel the need to post a mashup of my answers here to salvage something from the experience.

The first question from the application, and the spark for most of what was written below, was as follows: Describe your work as a game developer. Why did you start developing and what do you hope to do as a developer in the future?

My first game designs were all variations on board games that I was already playing. I played a lot of chess as a kid, and have always been interested in chess variants. I re-worked this paragraph about six times, remembering earlier and earlier game designs, and just now realized that I can probably pinpoint my very first game variant, and it was actually published! One of my grade-school friends and I played a lot of an abstract strategy game called Terrace. Terrace had a newsletter called Terrace Times that you could write-in and subscribe to. The newsletter published variants written by their readers, and you guessed it, my friend and I wrote in with a few of ours. If I remember correctly, we wrote up about four or five designs, and they published two of them. [I’m 90% sure that I still have the issue in storage somewhere! TODO: dig those up and post them here!]

Later, when we were both just about done with high school, that same friend and I got really into playing an early first-person shooter called Marathon, and we made maps for it that other people actually downloaded over the internet. (This was about 1994 or so, so that meant over dialup!)

Fast forward to 2006, I had been working as a backend web programmer for two or three years, and I realized that making my own video game was actually an achievable goal! It took me over six months working nights and weekends, but my first video game was called Go Tetris. It was the first and last thing I ever wrote in Flash, and is still playable online at go-tetris.com.

I’ve always had a ton of game ideas, and when my wife bought me an iPhone as a wedding gift (giving it to me early so I could take it on our honeymoon!), I knew from the second I started playing games on it that I wanted to make some. The SDK was announced the following year, and even though I’d never worked in a compiled language before, I started writing a game for it right away. That game took about half the time to make that it took me to make Go Tetris, and it came out in 2008, was called Action Chess, and like Go Tetris, combined two of my favorite game genres, chess variants, and action puzzle games. It made a meager $1000 in the App Store, but that was the first $1000 I ever earned in game development. [EDIT: I just remembered this is not quite true. I earned about $6 in ad revenue after Go Tetris was linked-to from the US Go Association’s website for a week.] Learning iOS development was a good career move, and about two years ago I was able to quit my day job to do iOS game development “full time” (one of my first contracts as a freelancer was working on a little abstract strategy game for Tasty Minstrel Games called For the Win).

In March of this year I was privileged to speak at Game Developer Conference in San Francisco about “Usability Lessons from Mobile Board Game Conversions”.

I keep a design journal where I write down all my game ideas, and I usually add one every week or two. I’d say they run about 40% physical (board) games, and 60% video games. On rare occasions I get really enamored with one of my ideas, and have to start working on it right away. I’ve got several prototypes like this that are pretty near completion. It’s standard practice for me to “sit on” a game that I feel is pretty close to finished because I don’t have enough time to give it the polish I think it deserves. Anyway, the point is that I can’t imagine NOT working on games. I’d definitely be doing it even if it hadn’t worked out for me to turn that into a career.

Here are a list of games I’ve worked on that were published in some way: http://chesstris.com/about/#bibliography

I’ll fully admit that most of my games are unlikely to be commercially successful. At any given time, I’m probably working on two or three games at once, and juggling a freelance project to pay the bills. (Sometimes those are games!) My fondest hope is that one of my projects does give me the kind of return that I can stop the freelance work entirely, and continue to make the games I most want to play, without compromise or constraint.