Category Archives: Game Dev Behind the Scenes

Art side of things: Sushi World customer designs

A Sushi restaurant game cant exist without Sushi loving customers come in to challenge your Sushi making skills.  Sushi World’s stage is set in many different countries around the globe, and I need to come up with lots of different customers for each stage.  In this post I am going to show step by step how I design them.

First of all, finding a good model is the key, you need lots of different faces, races, ages, professions… the more divers the better, think of casting for a movie, you need faces with different characteristics, in our case it also need to represent the country.

In this post, i am using my daughter as the example and she will be one of the customer in the China stage. (dont worry i asked her and have her permission before i post her picture :))

Continue reading


Zynga Crashing

Farmville still farming users?

I just read this arstechnica article on how Zynga is failing fast.  Revenues are down from last year, customer erosion is increasing, and they overpaid for OMGPOP makers of Draw Something.

I would say these results are predictable given the general issues I identified in the article on free to play.

I predict the slide to continue for zynga for the following reasons:

1. Draw Something Failed to Innovate, Instead it Infuriated

Continue reading

How to Download and Mount Expansion File Resources in Marmalade C++


You have a marmalade C++ game in excess of the 50mb limit imposed by an android store.  How do you split up your game, download the required assets from an external server, and make it all work as if nothing happened?

This is what I was faced with about a month ago when we released Catch the Monkey for android.  Our android phone version is 78mb.  Google Play limits an APK to 50mb.  Our Kindle Fire and Nook version is 270mb.  Both those stores limit the APK to 50mb.

While Google Play will host an expansion file and automatically (you hope) deliver it with your application download it may not.  The amazon and nook stores do not host expansion files for you, so you must host them yourself.


This article documents how I split up my game assets and used HTTP download from my or google’s server of an OBB file.  I then mount the OBB file as a zipmount, and pull resources from there.  This has no performance impact on the game.

I wrote in a previous article (Google Expansion Files, LVL Checks, JNI) how to deal with Google Play to get the URL of your expansion file for manual downloading, so while that code is in this source code, I will skip over it and focus on the generic downloading obb issues.
Continue reading

Using Marmalade with Google Play Expansion Files, JNI, and LVL License Checks


Google Play requires all core APK application files to be 50mb or less.  If your program is larger, you must split it into expansion file(s) delivered separately.  Google Play hosts your expansion file(s) and may automatically transmit them to your customer along with the main APK, but they may not.  If not you can host the expansion file yourself and download from your server, but that may cost additional money and have bandwidth issues depending on your hosting provider.  If you want to download from Google Play, you must make a licensing check to retrieve the download URL.  Marmalade does not currently support this, therefore you must step outside Marmalade and make native Java calls from within C++.  If this sounds complicated, it is.  Especially since there is no single source of documentation from which to figure out how to do this and you cannot use the debugger.  This article attempts to set the record straight, or at least permanently wrong, on how to do this.


I am a marmalade C++ developer and we wanted to release our iPhone game Catch the Monkey to Android.  The iPhone IPA build is 29mb, but the identical build for Android is a 78mb APK.  This is because IPA files are compressed ZIPs and APKs are not (shame on you Google).  Google Play limits APK file size to 50mb so I had to figure out how to use expansion files.  This is relatively straightforward from a Java Android application written in Eclipse.  It is much more convoluted going from C++ to Java to Google Play back to Java back to C++.  It took me just over a week to make this rock solid.

Two thousand years ago a guy said we should treat people the way we want to be treated.  He was promptly killed for saying outlandish things like this, but I try to follow his principles anyway.  I wish someone would have documented how to do this, so here it is so no one else has to go through the week of hell I just had.

Continue reading

Art side of the things: Sushi World Screen Concepts

Sushi World believe or not started way back in 2009.  We want to create a game that you can experience being a sushi chief, taking care of your customers, manage your ingredients and master your skills with different sushi combinations.  We went through series of design phases about the game and its game play.  Below is our very first prototype back in 2009.

We had 4 slots for different customer types, and thought bubbles of what sushi they have ordered.  Also there is a garbage can at the bottom for manage your ingredients.  The new ingredients will only come into the empty space on the main area, which means you either use it to create a sushi for a customer or you need to throw it in the can.  But beware if you fill the can, you will get FIRED (GAME OVER) from the manager.

Continue reading