Pixel art : just nostalgia ?

Pixel art seemed to capture the attention of parts of the blogosphere earlier this week. Lots of people were asking the question: Is pixel art just about nostalgia & video game fanboyism, or is it something more ? In my opinion this ‘debate’ is about as dumb as the “Are videogames art ?” debate. Of course videogames can be art, and of course pixel art is about more than nostalgia. Duh.

Anyhow, here’s a little link-o-rama with some views ….

(a shoutout to the memecore blog, run by a GrandMasterPixel player that found this video right about the same time I did)

And .. in response, a series of tweets, in reverse chronological order, by Sean Howard, the creator of the web comic A Modest Destiny and sharer of wicked cool ideas in game design.

sqorgar tweets:

Point 5: Nostalgia is certainly part of pixel art, but it is not the purpose. It doesn’t justify it, explain it, or define it.about 3 hours ago via web
Point 4: Rather than pixel art being an abstraction of reality, pixel art is a self contained reality in which the art happens.about 3 hours ago via web
Point 3: For some people, pixel art is a type of expression. For others, it is a type of autism. It makes sense in ways other forms do not.about 3 hours ago via web
Point 2: Consoles weren’t the only things to game on. I learned pixel art from Fat Bits on a Mac Plus. My pixels weren’t blurry.about 3 hours ago via web
Point 1: Jason Rohrer is always wrong. His opinion has anti-meaning. It’s not even correct by accident. It sucks beauty from the world.about 3 hours ago via web

I don’t quite get the antipathy towards Jason Rohrer. I like his work, although I haven’t heard him speak much. Sean has a point though about consoles vs. computers – I never had a real gaming console, but I did play with non-blurry pixels on a computer as a kid.

Ars Technica also chimes in with some views – summary: pixel art remains popular because it’s an interesting art form and a useful form of communication – the nostalgia factor is just a bonus.


5000th pic submitted to GrandMasterPixel !

Yup, another milestone. It has been just over two months since GrandMasterPixel went into beta testing on the Android Market. This week, the 5000th picture was entered into the Arena to battle it out.

Congratulations to “lava floe” by meant2live218 — lucky number 5000 !

lava floe by meant2live218

No prizes, apart from the glory of being randomly featured here :)

This is obviously a topical pic, inspired by Eyjafjallajökull’s recent activity. But did any one else notice ? Volcano-related pics seemed to start mysteriously appearing in GrandMasterPixel long before the world media was banging on about Eyjafjallajökull erupting. Spooky – it’s almost like GrandMasterPixel players can predict the future. Only time will tell :)


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