Two adventure games for fans of lowres pixel art

I figure the bunch of talented artists playing GrandMasterPixel may occasionally read this blog, so I thought I’d highlight two pretty cool pixel art games I discovered (between dealing with GMP support requests, feedback, suggestions and bugfixes).

First up: The Maze of Madness (2.0), by Phil Hassey. This is one part text-based choose-your-own-adventure and one part pixel art. Players themselves build the world, by creating ‘locations’ which consist of a pixel art image and a series of actions or exits. It also has inventory, where you draw the objecs ! I can remember when this game first started, with just the original Maze, but since then Phil has expanded things to enable people to make completely new mazes too. It can all get a bit crazy and psychedelic, but it’s worth a look.

The Maze of MADNESS (at the beach)

Second, and more recently released - PlayPen, by Farbs. Similar in many ways to The Maze of Madness, but with higher resolution images and ‘hotspots’ for navigation between locations rather than simple text links. Pretty cool that it has been based on the MediaWiki codebase too – it could basically be used to create Pixel-pedia. There is even a Tumblr blog of the Best of PlayPen. This make me think I should probably do something like a “Best of GrandMasterPixel” tumbelog highlighting the best pics in GMP, but I’m hoping the the rankings pages will mostly fulfill that role once I overhaul them to include more than just best of all-time overall rankings.

PlayPen (looking at the cactus)

Both these games are really designed for desktop browsers, and while they kinda sorta work on the Android browser to play the adventures they won’t work very well if you want to contribute content by drawing. I’d stick with the desktop browser if you are checking ‘em out.

GrandMasterPixel : the Great Pic Drought of 2010 and other chilling tales

Picture this. You’ve just released the beta version of an online mobile game (OG). It is surprisingly more popular than you expected, so much so that it may even become a “massively multiplayer” online game (MMOG). So you are taking a break with your family over Easter. You haven’t written huge amounts of code to analyse the statistics and economy of this almost-massively mulitplayer online game (a-MMOG), but the small amount of analysis you have done suggests that the number of ‘live’ pics in the database is slowly dropping. You think to yourself … “Hmm, I’d better check that out in a few days, I wouldn’t want the game economy to run out of pics”. Twenty four hours later, after some marathon sessions of Settlers and Seafarers of Catan, you log into the game to find just two live pics, dueling it out. Oh crap – your a-MMOG has just had it’s equivalent of the Global Financial Crisis, or as I like to call it “The Great Pic Drought of 2010″.

Fail whale ? We only got Success Whales 'round here !

Fail whale ? We only got Success Whales 'round here !

If you were lucky enough to miss it, for about 12 -16 hours (AFAIK) around the 3rd of April, 2010, GrandMasterPixel ran out of pics. Thankfully, after some feverish coding at 2am, I was able to put the game into “repopulation mode” – the game gave free submission credits for anyone happy to submit a pic, and didn’t allow  judging until the population was restored to sustainable levels. Thanks to GrandMasterPixel’s insanely cool users, the database was repopulated with about 40 pics in around 16 hours. And even though submissions were ‘free’, no one really decided to crapflood the database with junky submissions either ! Hat’s off to you !

So you may be asking .. how could the game run out of pics ? The original design of the GrandMasterPixel economy was simple – players get submission credits, which in effect are converted into hitpoints (HP) when they submit a pic. By judging pics, HP is converted back to submission credits, and the cycle continues, with submission credits flowing into the pool of live pics as HP, and HP flowing back out into players credit balances. Each new player brings 10 new credits to the game, so in theory we should have zero loss of currency, and I seeded the database with about 100 of my own badly drawn pics to act as an initial buffer. Except …. players (previously) could hoard up to 30 credits in their account earned by judging – and what happens to those credits if a player decides to leave the game and not come back for an extended period (or never) ? Well, they just sit there, not getting converted back into HP in live pics. As far as I can tell, this was the origin of the decline in live pic population – a bunch of people played GrandMasterPixel briefly, checked it out, judged some pics, filled up their account with 30 hoarded credits, then uninstalled it an went back to playing Choice of the Dragon. Good for them. Choice of the Dragon is a fun game. Bad for us GrandMasterPixel players, since they in effect killed 3 pics worth by taking 30 submission credits with them and not putting them back as new pic submissions.

How have I fixed things ? Well, I’ve changed two things.

1) Successful pics now regenerate HP and submission credits (+1 HP for every 10 wins, and +5 submission credits to the artist). Also, any lucky pic can regenerate +1 HP for delivering the ‘death blow’ to another pic (ie winning a battle where the losing pic’s HP goes to zero).

2) Low level players can no longer hoard as many submission credits in their account. The number of submission credits you can hoard now scales up with your level, so those players “just checking it out” won’t remove so many credits/HP from the system if they decide to leave without emptying their credit balances.

The end result is that the live pic population is now healthy and growing. In fact, I suspect that soon I’ll need to make further tweaks to in the opposite direction to increase the death rate, since pics now seem to be generating a little too much HP. Some random ideas – maybe the death blow HP will not be guaranteed, but instead have some probability of success. Or maybe we can have “Tournament Tuesday” once a week where the judging credits recharge faster and don’t yield any submission credits, letting those that like to judge more than submit get it out of their system and help restore economic balance in the process. Ideally, it would be nice if it whatever change I make was ‘tunable’ rather than a fixed game rule, so that the effect could be turned up or down to help stabilize population growth as required.

Other recent changes – I tweaked the level up thresholds, so that the number of submissions required to reach each level is more consistent and sane (I thought no one would notice, but a few high level players did – sorry to shift the rug from under you). I’ve also added the ability to see the fight history of each pic – I’ll probably discuss this feature in more detail in a future blog post. As usual, various bugfixes were made along the way.

Finally, thanks to those sending feedback – in particular power users Nianchi, Evrai_Terrule, kad3t, skiz, chaosengine and Dennis, plus those who helped swat a few bugs I introduced during my panicked coding during the “Great Drought”. I’m working on an FAQ to answer some common problems and complaints, and better document various design decisions in the game.

GrandMasterPixel evolves – some cool things I’ve noticed

GrandMasterPixel – cool things I’ve noticed
So it’s been about a week since I released the GrandMasterPixel beta to the Android Market. It’s been an exciting time – here are a bunch of random things I’ve noticed:
A surprise – A pic that I’d never judged moving up into the top rankings. This is exciting for me, since over several months of casual testing, 90 % of pics I was judging were drawn by me (I had three accounts for testing). To see a successful pic I’d never seen before, in this case, a version of a Super Mario “Boo” ghost by Amandine, titled “Little ghost”, was a real buzz because it means there are interesting things happening in the game I don’t even know about.
There are some really talented people out there – I suspected that some people would be able to push 16×16 low-res pixel art to it’s limit, and I was right. There are some amazing little pics already moving up the ranks. I’m awestruck at the artistic talent that is out there. My own pics are humbled by some of the incredible creations that are moving up the ranks (*nods to RylandCorsair*).
Some interesting strategies – Someone drew a spider in black and white. Then levelled up and gained an extra color, added some red to the same pic and submitted it. Maybe this could be considered an ‘exploit’, based on the fact that GrandMasterPixel doesn’t clear the current pic you are working on when it is submitted, but I kind of like it. Players could easily redraw a mutation of a successful pic from scratch and this type of ‘resubmission’ would occur anyway. It’s a nice dynamic emerging that I didn’t really predict.
There have also been a few nice instances of ‘copycat’ pictures – rather than being unoriginal, these are cool because you can see the variations made in the new ‘tribute version’. One of my original testing pics was a badly drawn USA flag – I’ve seen at least two mutated versions of that submitted so far. There have also been some seasonal submissions – on St Patricks Day someone did a pic of a cute little leprechaun smoking a pipe (thanks ‘chaosengine’ – that was a fun little pic, hope it performs well).
You may have noticed I haven’t included any actual images of the pics I’m taking about in this post. I’m thinking about some ways to let pics be seen outside the game, but it has to be done carefully and correctly. So, for the moment, to see the pics you are just going to have to go and play the game :)
The first cock’n'balls appeared about 24 hours after the beta was released to the Market. You know, a cock’n'balls, the type of thing 14 year old boys love to draw on pretty much any and every surface (congratulations for twakd408, for the moving artwork entitled “peenisss”). Happily, users killed off this pic quickly, with only 3 wins and 10 loses – meaning it was only viewed 13 times before it disappeared from the Arena. To me, this is a wonderful thing – people are freely expressing themselves, and the community of players responded. I see the emergence of a cock’n'balls as a real success – nothing online has reached relevance until it receives some spam or trolling, and a cock’n'balls is one type of ‘trolling’ that may appear in GrandMasterPixel from time to time. There have also been at least three swastikas in the first week, presumably drawn by amateur World War 2 historians. Each are quite unsuccessful pics, so presumably other ‘Pixelers don’t share these artists taste for history, or alternatively acknowledge the limited artistic talent embodied by these pics.
The amazing range of subjects embodied by the pics submitted also raises some issues relating to the possibility of an iPhone release. I’d toyed with the idea, but from what I can tell Apple wouldn’t approve an app like GrandMasterPixel that has the possibility of user generated content being (*gasp*) seen by users. Based on past history, one cock’n'balls, no matter how pixelated, would probably be enough to get the app rejected. For the moment I don’t think I’m going to waste my time porting to the iPhone platform only to find the app can’t be distributed in the App Store. I’ve only very recently got an iPod Touch dev setup going, so comments from iPhone devs on any precedents for apps incorporating user generated content getting through the app store approval process are welcome.
On the technical side … here are some Google App Engine stats, particularly relating to requests to the main “Arena”, which take the most CPU time of the whole app. This is me playing Systems Analyst on the back of an envelope. At the moment, the GrandMasterPixel server is running within the free quota limits on Google App Engine – these quotas are reset every 24 hours. On March 16th, I can see that after 24 hours, 18 % of the CPU quota on App Engine is used by 684 Arena requests (so 100 % of the daily free CPU quota would be used by about ~ 3800 Arena requests). If one users plays once every 24 hours with 10 Arena requests, this would allow about ~ 380 users to play daily before the quota is exhausted. Or, alternatively, whatever the user base currently is, it can only grow by about 5x before the server exceeds the free quotas. It is clear that some optimization is required – my gut feeling is that I’m doing some datastore queries in a very inefficient way and once these are improved I should be able to support 1000+ active users easily within the free quotas.

It’s been about a week since I released the GrandMasterPixel beta to the Android Market. It’s been an exciting time – what follows is a bunch of random things I’ve noticed.

gmp_icon_base

A surprise – A pic that I’d never judged moving up into the top rankings. This is exciting for me, since over several months of casual testing, 90 % of pics I was judging were drawn by me (I had three accounts for testing). To see a successful pic I’d never seen before, in this case, a version of a Super Mario “Boo” ghost by Amandine, titled “Little ghost”, was a real buzz because it means there are interesting things happening in the game I don’t even know about.

There are some really talented people out there – I suspected that some people would be able to push 16×16 low-res pixel art to it’s limit, and I was right. There are some amazing little pics already moving up the ranks. I’m awestruck at the artistic talent that is out there. My own pics are humbled by some of the incredible creations that are moving up the ranks (*nods to RylandCorsair*).

Some interesting strategies – Someone drew a spider in black and white. Then levelled up and gained an extra color, added some red to the same pic and submitted it. Maybe this could be considered an ‘exploit’, based on the fact that GrandMasterPixel doesn’t clear the current pic you are working on when it is submitted, but I kind of like it. Players could easily redraw a mutation of a successful pic from scratch and this type of ‘resubmission’ would occur anyway. It’s a nice dynamic emerging that I didn’t really predict.

There have also been a few nice instances of ‘copycat’ pictures – rather than being unoriginal, these are cool because you can see the variations made in the new ‘tribute version’. One of my original testing pics was a badly drawn USA flag – I’ve seen at least two mutated versions of that submitted so far. There have also been some seasonal submissions – on St Patricks Day someone did a pic of a cute little leprechaun smoking a pipe (thanks ‘chaosengine’ – that was a fun little pic, hope it performs well).

You may have noticed I haven’t included any actual images of the pics I’m taking about in this post. I’m thinking about some ways to let pics be seen outside the game, but it has to be done carefully and correctly. So, for the moment, to see the pics you are just going to have to go and play the game :)

The first cock’n'balls appeared about 24 hours after the beta was released to the Market. You know, a cock’n'balls, the type of thing 14 year old boys love to draw on pretty much any and every surface (congratulations for twakd408, for the moving artwork entitled “peenisss”). Happily, users killed off this pic quickly, with only 3 wins and 10 loses – meaning it was only viewed 13 times before it disappeared from the Arena. To me, this is a wonderful thing – people are freely expressing themselves, and the community of players responded. I see the emergence of a cock’n'balls as a real success – nothing online has reached relevance until it receives some spam or trolling, and a cock’n'balls is one type of ‘trolling’ that may appear in GrandMasterPixel from time to time. There have also been at least three swastikas in the first week, presumably drawn by amateur World War 2 historians. Each are quite unsuccessful pics, so presumably other ‘Pixelers don’t share these artists taste for history, or alternatively acknowledge the limited artistic talent embodied by these pics.

The amazing range of subjects embodied by the pics submitted also raises some issues relating to the possibility of an iPhone release. I’d toyed with the idea, but from what I can tell Apple wouldn’t approve an app like GrandMasterPixel that has the possibility of user generated content being (*gasp*) seen by users. Based on past history, one cock’n'balls, no matter how pixelated, would probably be enough to get the app rejected. For the moment I don’t think I’m going to waste my time porting to the iPhone platform only to find the app can’t be distributed in the App Store. I’ve only very recently got an iPod Touch dev setup going, so comments from iPhone devs on any precedents for apps incorporating user generated content getting through the app store approval process are welcome.

On the technical side … here are some Google App Engine stats, particularly relating to requests to the main “Arena”, which take the most CPU time of the whole app. This is me playing Systems Analyst on the back of an envelope. At the moment, the GrandMasterPixel server is running within the free quota limits on Google App Engine – these quotas are reset every 24 hours. On March 16th, I can see that after 24 hours, 18 % of the CPU quota on App Engine is used by 684 Arena requests (so 100 % of the daily free CPU quota would be used by about ~ 3800 Arena requests). If one users plays once every 24 hours with 10 Arena requests, this would allow about ~ 380 users to play daily before the quota is exhausted. Or, alternatively, whatever the user base currently is, it can only grow by about 5x before the server exceeds the free quotas. It is clear that some optimization is required – my gut feeling is that I’m doing some datastore queries in a very inefficient way and once these are improved I should be able to support 1000+ active users easily within the free quotas.

In summary – I’m very happy that I released the beta rather than fiddling with it alone for another month. The game has been getting mostly positive feedback, a four out of five star rating on the Android Market, and a steady burst of downloads every time I release an update (only once so far). Looks like it has legs …

Woo hoo ! GrandMasterPixel beta available on the Android Market.

I decided I needed to avoid losing momentum on GrandMasterPixel … so I’ve pushed through to ‘beta’ and made it available on the Android Market. I hope the server backend doesn’t melt (actually it’s hosted on Google App Engine, so I think it will be just fine .. but some optimization wouldn’t hurt :) ). Thanks to the small number of users who played the game during the alpha phase – you’ve drawn some cool little pics !

Download GrandMasterPixel (beta) from the Android Market

GMP_market_qrcode

Arena_002

New title screen for GrandMasterPixel on Android

So after making some mockups, I decided to go ahead with the idea of making a title screen for GrandMasterPixel. I’m not a big fan of superfluous title screens, but this one contains some useful information and navigation buttons so it earns it’s pixels.

GMP new title screen

Also, thank you, thank you, THANK YOU, to the people who have been play testing. I really appreciate that you’ve taken the time to try out the game, even though it is still evolving & a little unpolished at this stage. While I’ve only been given a little bit of feedback so far (* nods to @kelseyhigham *), I’ve seen the pics that a few of you have submitted when I’ve been playing myself. It’s been a great encouragement to keeping banging away at making GrandMasterPixel more playable.
Next on the list is implementing ‘notifications’, so you can easily see when one of your pics has been defeated, or if you have levelled up. And then some optimization of the Arena judging interface, which I don’t think is snappy enough. And then more types of Rankings lists (daily, weekly, all time etc). And then … and then … and then. Lots more to do !

Also, thank you, thank you, THANK YOU, to the people who have been play testing. I really appreciate that you’ve taken the time to try out the game, even though it is still evolving and a little unpolished at this stage. While I’ve only been given a little bit of feedback so far (nods to @kelseyhigham), I’ve seen (and judged *mwahhahaha*) the pics that a few of you have submitted when I’ve been playing the game myself. It’s been a great encouragement to keeping banging away at making GrandMasterPixel more playable as a social game. I’ve released a new version (1.0.6), and if everything is working as planned. existing users should get an update notification on their mobile device.

Next on the list is implementing ‘notifications’, so you can easily see when one of your pics has been defeated, or if you have levelled up. And then some optimization of the Arena judging interface, which I don’t think is quite snappy enough. And then more types of Rankings lists (daily, weekly, all time etc). And then … and then … and then. Lots more to do !