In November 2011, i.e. less than four months ago I humbly released a card game app to the Windows Phone marketplace. Mostly I built it, because I feel that as a Microsoft Windows Phone evangelist, I can help developers and partners better, if I have a hands-on experience on the subject, and also generate some content for my blogs, presentations and events. Today is time to celebrate: XYOLOGIC site ranked me #10 in the card and board category in the Windows Phone marketplace! Today, I want to tell you the story of this little achievement, hope it’ll be entertaining to any aspiring app developer.
It was a great and rewarding experience indeed, from the start! And I feel very proud and grateful for every $0.99, free download and user review I’m getting. In fact, I read every review, including those written in Chinese, German, Italian, French and Russian (thanks to Bing Translator!).
Where did my game engine come from?
I created the card engine called “Card Lion” back in 1999, when I was trying to build a Java applet for a little known card game called 101 “Hundred and One”. The game had a console client and a Java applet client. The purpose was just as humble: learning Java language.
Later, when .NET 1.0 came along, I decided to port it to C#, with the same goal: learning a new language. It was a Windows Forms based game, and I also built it for Pocket PCs. Microsoft was waaaayyyyyy ahead of its time with Pocket PCs! What we were missing was the Marketplace! This tiny little bit of infrastructure makes all the difference! This is why you can download my games today, and not back in 1999, when I already had it built, but had no way to share with users.
Porting to Windows Phone: the big leap
I took the leap and ported a Windows Forms .NET 1.1 C# game to Windows Phone XAML and C#. So all graphics had to be replaced, I’m glad my game engine was in a separate library and could be simply recompiled and attached to a new Windows Phone solution. Because of all animations on the composition thread possible in XAML, the game of 2011 started to look much better than Windows Forms game of 1999!
I had to recreate all graphics: every graphical element in this game, including cards was manually created in Inkscape in SVG format. There’s only a couple of images I bought for $$, everything else is my design, and boy, was it a lot of work!
There were many decisions I had to make, and every development decision had consequences: whether to use XAML or XNA, whether to make my games 2- or 4- players, whether to use landscape or portrait orientation or both, whether to integrate with Facebook, whether to use live tiles… How to design scoring and achievements… Should all my games be FREE? What should be the pricing and monetization? App developer needs to do lots of thinking and make many decisions
Reading Reviews and Really Listening!
I use a fantastic app called zTop for that, it really simplifies the process or reading through user reviews across all global marketplaces, and even allows you to contact the reviewers back via Zune.
Most reviews, including negative ones have been extremely helpful. For instance, the first version of the game didn’t have a mute mode for sound effects. Thanks to the reviewers, I added mute mode and many other features to the apps. People mentioned that the trial on the “Card Games Chest” was limited to only one game, and I submitted an update, which allowed any game in the chest to be played in the trial. Over time settings, achievements and other features were added thanks to users’ comments and reviews.
Sharing the Code and Ideas
I also used many code samples from my apps in during my presentations in Silicon Valley and elsewhere in the US, and I feel that became somewhat of an expert in the card game subject area for Windows Phone.
Since then I published 5 other card games, and I’m not at eleventh iteration, which added more features, including achievements, Facebook integration, live tiles and more.
My advice to app developers: listen to your users, submit updates, change pricing if necessary. Follow best practices and advice available on MSDN for app developers, but also listen to your inner self. Think of your users as your friends. Good rankings and reviews will come! If you are fair with your users, they’ll notice it! That’s the magic of making good products Somehow your users will feel that you take care of them, and will promote your app. I’ve seen some apps placing an AdControl at the bottom of the screen where the user can mistake it for the application bar and click the ad. This will earn you $0.01, but it won’t in terms of your users’ love. Winning love is far more important (to me) than winning a few cents of revenue.
So, I call for fair apps. I call for fair apps that treat users with dignity. This is not about being free: there’s a lot of sweat and sleepless nights in those little apps. But economics of scale will only work with fair apps, it seems.
During all this time many people supported me enormously, and to all of them I’m very grateful. This may be a little funny game, but with all the polish, and work, and sweat, and nights it turns to be an adventure. Like writing a book.