Exobyte Smartphone Games
  • Home
  • Articles
  • Contact
  • About
  • app-ads

The fifteen minute rule

8/20/2013

3 Comments

 
7 to go!
A few years ago I got into a rut with my programming, I had tried to start with Android programming but got stuck at the stage of choosing which game library to use.  I had prototype code for Cherry Chaser and Plasma Duel written to test a few libraries but I had a fear of committing to any particular code base and became quite demotivated.  Programming became a real chore and every evening I would find something more interesting to do, spending large amounts of time on forums and game related IRC channels.

Jennifer is very interested in personal development and she could see that I was in a demotivated rut in terms of games development.  I would talk a lot about writing games but not be able to translate that talk into meaningful action.  In January 2011 I was the subject of an intervention, for my birthday Jen gave me some sessions with life coach Linda Allen as a present.  Over the next few months we talked about my goals and what I needed to get myself motivated.  Linda also held me accountable for achieving the goals that I set for myself at the end of each session.

The coaching sessions were excellent and took me out of the rut I had been in.  I also discovered a rule that works for me and keeps me motivated and productive to this day.  This is the fifteen minute rule and it is as simple as committing myself to doing fifteen minutes of programming every week day.  I like to give myself the weekends off as I think we need days that are completely our own.

The reason this works for me is that even if I'm feeling tired or bored of programming I can find and do something simple which fills up those fifteen minutes.  I then feel as though I have fulfilled my commitment to myself and can feel good about stopping work and playing games.  Most of the time I carry on working for another hour or two once my fifteen minutes are up because by then I have been hooked.

There have been weeks where I have only done fifteen minutes of coding work each night.  The value of that time spent is that it keeps my code fresh in my mind and my mind fresh at coding.  Any programmer will tell you that if they leave some code for a week, it will take them a few hours to figure out where they left off and remind themselves how everything works again.  The more days that you put off getting started again, the harder it is when you try, by just doing fifteen minutes of easy work each day you avoid that trap.

3 Comments

Hope you like jamming too

7/15/2013

0 Comments

 
Picture
This weekend I took part in the Iamagamer 48 hour game jam to produce a game with a strong female lead.  Given the time constraints I designed a fairly simple platform game where a girl is attempting to escape from a castle where she's been captured.

I chose to use the event as an opportunity to try out developing in MonoGame using Xamarin Studio.  I chose a Monogame OpenGL app and as I worked on creating the game I discovered that this target platform seems to lack a few features.  The biggest missing feature for OpenGL  apps is the ability to load compressed audio files.

The (nearly) finished game, called "Tash", can be downloaded using the link below:
https://googledrive.com/host/0B9PNQjKOeiybWU1sTGNvczZQVVk/Tash.zip

I did not finish the game but got to the point where the castle is fully explorable and most of the powerups work.  I did not have time to create some nice graphics so all the image files used are placeholders I created in about half an hour.  I also didn't manage to get any sound into the game, partially due to the problem with not being able to load compressed audio.  The biggest missing feature is the ability to win the game and escape from the castle.

I found programming in C# to be just as comfortable as I remember it.  Monogame is a nice game library although I'm dubious of the level of support it currently has for the Windows Desktop Platform.  As a library with the tagline "write once, play everywhere" they should get that fixed although I understand that the focus of the library is mobile game development.

Xamarin Studio as a development environment was eminently usable and didn't cause me many issues.  I had a problem with some dialog boxes opening behind the main window which meant I had to kill the task on one occasion, but my files were automatically recovered,  It's not quite as feature rich as Visual Studio or Eclipse but the most important things such as step by step debugging are there.

In conclusion, if I do another game jam I would like to try coding with my usual LibGDX library on Eclipse.  It would be nice to make a fairly direct comparison of how productive I can be.  I would expect to be much more productive with LibGDX as I've already discovered all the main gotchas and tricks for this type of game.  LibGDX also gives me the option to deploy to HTML5 and play on the web which is really useful for game jams, I don't know that Monogame has the option.

0 Comments

Campaigning for Engagement

7/1/2013

3 Comments

 
Picture
I've recently been thinking carefully about the single player campaign for Plasma Duel.  My design was for the single player mode to advance sequentially through progressively harder opponents, with each opponent having nine levels.  So the player would play nine levels against the first opponent, then nine levels against the next opponent and so on, unlocking each next level as they progress.

I considered this from the point of view of the player and thought about how I would find this experience if I was a new player of the game.  Playing nine levels before you reach the next opponent is a relatively large investment of time to get a small pay-off in increased difficulty.  Doing so repeatedly for over eighty levels felt like an experience that would not be engaging.  I decided that I need to mix things up a bit and in the course of doing so introduce the tried and tested concept of the end of level boss.

I have now revised my design so that I no longer have each AI opponent having nine levels of their own.  Instead, I have introduced the concept of chapters.  There will be eight chapters of increasing difficulty with each chapter having three AI opponents.  The third opponent in each chapter will only appear on the last level, in effect becoming an end of chapter boss.

The effect of this on the player is that instead of a strictly linear experience, they now climb to small crescendos of difficulty followed by some easier levels to give them some relief and a dose of dopamine as they feel better about themselves again.  This should result in a much more engaging experience and keep players playing the game, hopefully right the way through to its conclusion.

This is particularly important in a game that will be primarily funded through advertising revenue.  For this category of game the income is directly proportional to amount of time the game is played.  Contrast that to paid apps where the income is proportional to the number of sales, even if the players stop playing the game within a few days.

3 Comments

Pebble rocks

6/21/2013

1 Comment

 
Picture
I received my Pebble smart watch yesterday after waiting over a year since first backing the product on Kickstarter.

First thoughts are that the build quality feels almost like a prototype product, the mushy buttons and glued together case definitely feel first generation. The functionality on the other hand is incredibly cool, reading emails, text messages and other notifications on your wrist is a revelation. It's amazing how inconvenient getting my phone out of my pocket now feels.

If Apple really are making an iWatch I can see people going nuts over it, the experience is like a new paradigm and Apple have the resources to get the product right. I'm firmly outside the walled garden so I won't get an Apple product myself, but I'm looking forward to the next generation of smart watches that it will inspire.

1 Comment

Robot Wars

6/18/2013

0 Comments

 
This is a short update to show a preview video of some gameplay from Plasma Duel,  The two robot opponents shown duelling are both high level AI characters and so the game soon gets quite chaotic with plenty of balls and lasers flying everywhere.

The video recording was limited to fifty frames per second and so it is not as smooth as the game actually appears.  The game will run at as many frames per second as the processor allows but is regulated to maintain a constant speed.
Picture
You may notice in the video a new "pointed" brick type that I've added in the past week.  I've also added sloping bricks and these deflect the ball off at a tangent to make things a bit more interesting.

Other updates this week include some improvements to the particle effects, a bit of tweaking to the background star field (work in progress) and the ability to load in levels from a file. 

Next up comes a simple level editor to allow me to produce all the levels I need for the game and the screen that allows a particular level to be selected for play.

0 Comments

The End of the Beginning

6/11/2013

0 Comments

 
Picture
The development of Plasma Duel is progressing well and I feel that I am on target for a full release to the Google Play store in September.  The core game is finished and is fun to play both against an AI opponent or against another person in two player mode.

I've made some important changes to the original game that improve the gameplay dramatically.  The biggest change was to allow the paddle to move fully in two dimensions around the screen.  On a touch screen device this gives the player so much more feel and immersion in the experience.  Another important change is the addition of two rows of bricks in the centre of the playing arena.  This improves the visual variety of the level and creates a goal other than duelling with the opponent for the beginning of the game.

The game currently has four powerups working, these are the ones ported over from the original game - grow, shrink, lasers and multiball.  I will be adding an additional four powerups to expand the variety of the game.  I also plan to add angled bricks that will deflect the ball in a different direction.  This is another feature that will give the game more visual variety and also add interest to the gameplay.

Now that the game itself is almost complete I estimate that I am roughly half way to finishing the game.  Now I have to do all of the things that complete it and make it ready for release.  These will take almost as long as coding the game itself.

My first task is to create a level editor and level loader so that I can start designing levels.  Levels are currently randomly generated but the finished game will have eighty one hand crafted levels.  This will allow the player to be gently eased into the experience and give structured progression to the game.  There are eight AI opponents and each will have nine levels to choose from.  The remaining nine levels will be unlockable bonus levels.  The paid version will also have another nine level slots available for levels designed by the player using the level editor that will be included in the premium version.

I also need to complete the menu system for setting up games and accessing options.  The menus will all be nicely animated and will allow the player to select levels that are unlocked either in single player campaign mode or for some two player fun.  There will also be a "result" screen that will show the result of each game.

Something I am looking forward to is the development of achievements and experimenting with the new Google Play Games services to store player achievements and progress.  Achievements and progress on my current games is all stored locally on the device, this is less than ideal and means that progression is lost when the player purchases a new phone.  With Google Play Games integration I can solve this problem.

After that there are some smaller tasks such as ensuring that the advert integration is work well on the free version and adding some cheat modes and Easter eggs into the game.  I expect it will also be necessary to add some tutorial hints on the first few levels that a player experiences just to help ease them into the concepts of the game.

If I feel I have some time I also want to try implementing multi-player over a wifi connection.  This isn't a high priority and I can foresee problems as the game is quite fast paced and vulnerable to response latency.  It could result in a significant advantage for the player that is hosting the game.  Because of these concerns I am quite happy if multi-player over wifi waits until a later update of the game.

Picture
Finally, by the start of September I hope to be at a point where I can start the work related to the publication of the game.  This will require creating all the artwork assets for the Google Play store, writing the game description with a view to maximising exposure in the app store search engine and creating effective icons.  Past experience has shown that the app store icon and the game icon need to be different as they serve entirely different purposes.  The app store icon needs to immediately tell the person browsing the store a story about the game whilst the icon shown on the device should simply look as nice as possible,

Following the model that has worked well with my slot machine games I will be releasing both a free and a paid version of Plasma Duel.  The free version will be monetised with adverts that will appear discretely under the menu screens.  The paid version will be free from adverts and will also have the extra feature of being able to create custom level designs with a built-in level editor.

0 Comments

New graphics suck

2/21/2013

2 Comments

 
Picture
Picture
I've had a lot of feedback about the recent graphical changes to Cherry Chaser.  One of the first one star reviews that I received after the update was titled "New Graphics Suck!".  Another said that "they look like they were drawn on the back of a beer mat and scanned by a ZX81".  This and the accompanying one star rating felt a bit harsh.

I understand that there are a number of players who prefer the old style graphics and I can see some charm in the more amateurish "retro style" graphics. A few have asked to have the old graphics available in the game as a selectable alternative.  I will try to explain my position why I won't be providing this option.

Although the old graphics had charm, they were also inhibiting the number of downloads of the game.  Since improving the quality of the graphics the number of downloads has improved significantly.  They particularly make a difference on tablet devices where the old graphics did not look good at all.

Unfortunately including the old graphics as a skin is not easy or desirable for a couple of reasons.

The first reason is that Cherry Chaser was not programmed in a fashion that made skinning very easy.  I wrote it when I was learning programming on Android and its subsequent success came quite unexpectedly.  I did not design it as well as I would now and changing the layout is difficult.  Including a second skin in the game would take a lot of work for not a lot of benefit.

The second reason is that I try to keep the download and memory footprint of Cherry Chaser as small as possible.  Graphics take up a lot of space and including an alternate set of graphics would increase the memory footprint of the game more than I would find comfortable.

If you are one of those people that prefer the old version of the game let me know and I will send you a link where you can download the old version.

2 Comments

Play your cards right

2/3/2013

3 Comments

 
If there is one thing I have learnt in the past year it is the importance of being visible in Google's Play store.  Improving your search ranking is the most important factor in generating downloads of your app.  I practise a number of simple techniques to optimise the position of my apps in a crowded market place.  I've talked about some of these techniques in the past but I thought it would be a good idea to collect together the best advice that I have into one post.

Make a great game
This is the most fundamental thing that will affect your position in app store search results .  Unless you have a compelling game that is fun to play the rest of the techniques in this post won't work.  If you have a great game but still aren't getting many downloads, then read on.

There is also something to be said here about the category of the game you are creating.  If you make a game that is already in a crowded category then you are going to have a much harder time becoming visible.  My games so far have fitted in to the "Cards and Casino" games category and it appears to be much easier to stand out there than in the "Arcade and Action" category for example.

Another factor that helped my own success was a gap in the market for a European style slot machine game.  Prior to releasing Cherry Chaser there were a hundred "Vegas" style slots games but none that simulated European pub style games.

Target specific search keywords
If at all possible, include your most desired search keywords in to the title of your game.  The Google Play store's search algorithm appears to put the highest weighting on the app title.  This is why Super Snake is called "Super Snake Slot Machine" on the Play store.  This also helps prospective users to quickly identify what sort of game it is.

In your apps description try to repeat the search terms that you want to target multiple times.  In the description of Super Snake I use the term "slot machine" five times.  I avoid using the terms superfluously as I suspect that Google have some sort of intelligence in their algorithm that ignores terms that are repeated too many times in quick succession.

Think about all the variants of your search term that people might use and then add those in to your description as well.  I have a sentence that reads "If you like slot machines, one armed bandits or pokies, you'll love this game." which is included entirely for this purpose.
Picture
Super Snake Slot Machine is currently the third result for the search term "Slot Machine" in the UK Play Store.


Make your app store icon stand out
For the first week after I released Cherry Chaser the app store icon was anonymous.  Nothing about the icon gave any hint as to the nature of the game and it looked very similar to every other icon next to it.  At that point I changed to my current "fruit machine cabinet" icon and downloads of the game began to increase dramatically.

The new icon informs the person browsing the store about the nature of the game and the departure from the conventional rounded rectangle shape makes the icon stand out on the page.

I still use the original rounded rectangle icon for the launcher on the phone because the purpose is different.  Icons on phones should look consistent and aesthetically pleasing and standing out in that context would be a negative for the game.

Target other languages
The Google Play store has a feature that allows you to auto-translate your listing into a large number of other languages.  The only reason you should not use this feature is if you already know the language in question and can do a better job yourself.  Even if you can speak the language you're targeting the auto-translate feature will probably give you a good basis from which to work.

My games have done extremely well in European countries such as Germany and Spain and that is due to auto-translated descriptions.  I have had one customer point out that the games auto-translated description in German is bad bordering on the ridiculous, but I'm still getting far more downloads than if I had nothing in there.

Encourage long term engagement
A major factor in your position in the Play Store is the ratio of downloads to active installations.  You could have a million downloads but if every user is uninstalling your app after ten minutes, Google will see that as being a bad sign about the quality of your game.

My solution to this problem was the addition of achievements as a game device.  There is a reason that achievements have become ubiquitous in gaming and that is because they work.  They trigger the part of the human psyche that says "challenge accepted!".  Adding these into my games increased my user engagement enormously which had a positive effect on my active installation ratio and improved my search ranking.
Picture
Get rated
The final piece of advice is to get your game reviewed and rated by as many of your players as possible.  The higher your star rating the higher you will be on the search results.  Put a link to the app store's review function somewhere in your app to make it as easy as possible for your user to rate your app.

Be careful about where and when you make the suggestion to review the app.  I have used apps in the past that ask me to review them before I've even used them - bad idea.  A common technique is to wait for a number of plays and then suggest that the player might want to now give the game a review.

My preference is to ask the player to rate my game when they have just won an achievement.  It's fairly obvious that they will probably be feeling quite good about themselves and the game at this point so it seems like the best time to ask. So far this has been working out very well for me and all my apps have 4.5 star ratings in the store.

3 Comments

Smash and graph

10/6/2012

47 Comments

 
In January I released Cherry Chaser slot machine on to the Android market.  The game was very simple back then with many of its features still missing.  I released it to "test the water" with the idea that it's best to just get something released and then fix issues and add features as necessary.

Fast forward eight months and I now have my second game doing very well and between both games I'm currently earning more through mobile advertising than I do in my day job.  Cherry Chaser now has 800k user installs and Super Snake is up to 200k after 2 months on the market.

In this post I am going to recap my Android game development journey and summarise my experiences and the lessons that I have learned.
Picture
A graph is as good as a thousand words and here you can see a pretty good overview of my journey in terms of revenue from my games over the past eight months.  There are a few things that need to be explained further.  The profile of revenue immediately after each release is completely different for example.  I have some ideas as to why that is the case and I'll get to that later.

From the graph above it looks like Cherry Chaser was immediately successful but that wasn't really the case.  For a while it looked as though the game would stay in relative obscurity.  To make it noticeable I had to make a good first impression and that meant doing some work on the app store icon.
Picture
When first released, Cherry Chaser had a very anonymous icon on the store.  The "pair of cherries" icon could represent any number of things and gave no idea as to what the game was about.  When somebody browsed the Google Play store pretty much all they saw was that icon, they may not even register the app's name whilst scrolling past.  With the anonymous cherries icon my app stayed in obscurity with hardly any downloads even though it was well placed in the "new games" list in the Cards and casino games category.

I realised quite quickly that I needed a better icon, and I needed one quickly whilst in the golden 30 days during which games are displayed on the "top new games" listings.  I chose an icon that showed the potential player exactly what the game was about at the briefest of glances.  Anybody who has seen the type of fruit machine that my games emulate will immediately recognise the new app store icon.  I changed the icon and downloads began to soar.

Just how successful it was in terms of number of downloads was quite a surprise.  It very quickly went into the hundreds of thousands of active installations.  I put this success down to two factors:  

1. Games are generally more visible in the cards and casino games section than the other categories on Google Play.  There is less competition and it's fairly easy to get into the top ten new games.  

2. Cherry Chaser filled a niche within the slot machine genre that had not yet been filled in the mobile games market.  Cherry Chaser simulates a European pub style fruit machine.  Every other slot machine on the market seemed to simulate five reel "Las Vegas" style slots which offer very limited entertainment value other than gambling for more money.

After the initial surge of interest generated by the interesting new icon on the app store, the next phase of Cherry Chaser's life cycle was a gentle but inexorable slide back down into obscurity.  This slide was helped along by a number of bad customer ratings and the simple fact that there was nothing particularly in the game to hold people's attention.  The very first version of Cherry Chaser released did not even save the player's credits between game sessions.

Addressing these issues became the priority for new versions of the game.  Over the next few weeks I added the ability to save player preferences and credits between sessions, I added in achievements to give the player longer term goals and I also added in a request for players to rate the game after winning an achievement.
Picture
The request to rate the game was particularly effective and raised the average rating from 3.8 (at it's lowest) to about 4.5 where it has remained since.  I think the timing of the request, just after the player had been given an award, was also helpful in getting good ratings.  Before adding this feature it seemed a lot of people only rated the game if they had had a bad experience with it.

As effective as these updates were, they came too late to capitalise on the time when Cherry Chaser was trending highly in the Play store.  Without the achievements to encourage long term playability, a large number of the hundreds of thousands of people that downloaded the game in those few days then uninstalled it again quite soon afterwards.

Another feature I added at this point was the ability to purchase a premium version of the game that removed the banner advert from the game and replaced it with an animated coin tray.  I did this largely in response to users that messaged me to tell me that they would pay for a version without adverts.  As it has turned out, this feature has not particularly successful.  The number of users that buy the game compared to those that download it for free is about one in a thousand and income from the paid apps is about 2-3% of what I get through advertising.

With these lessons learned I began work on Super Snake.  This time I would have all the features in place to encourage player retention and replayability from step one.  I also had some ideas that would make the new game more addictive than Cherry Chaser.
Picture
At the beginning of August I released Super Snake on the Play Store.  Uptake was slow compared to the meteoric rise in uploads that I experienced with Cherry Chaser, but steady and still very healthy.  I believe the slower uptake was due to the Play Store icon being so similar to the one for Cherry Chaser that many people who had already tried the first game disregarded the new game as more of the same.

Despite the slower uptake from users, the revenue figures show that the users that did try out Super Snake played it a lot more than players of Cherry Chaser.  That is due to Super Snake have a slightly more addictive hook for the gameplay and also due to the game having achievements that the player can strive for built in from the start.  Interestingly, releasing Super Snake also gave Cherry Chaser a new lease of life and downloads and revenues picked up on that game as well.

 In terms of revenue it looks like the strategy I've adopted has worked very well. For about a week around the beginning of October the combined advertising  revenue from both games peaked at an average of $400 per day.  That was about $300 from Super Snake and $100 from Cherry Chaser.  Revenue is falling again now but will be quite substantial for some time.  It would certainly be enough for me to write games full time if I didn't have other commitments.
Picture
The next step of my journey with these two games is to give them some updated professional grade graphics.  I used some of the revenue from Cherry Chaser to hire a freelance graphics designer using odesk.  He's created some fantastic graphics for me and I'm currently in the process of incorporating them into the games.  Once both games are update with these graphics I will be content to leave them and move on to other projects.

As a final note, if you're reading this and thinking that you would like to try your hand at Android games programming, save yourself a tonne of time and try out the LibGDX game library.  I tried two other game libraries before finding LibGDX and both resulted in false starts where I ran into the limitations of those libraries.  LibGDX is free to use and is created by Mario Zechner of Badlogic games.  Mario is also the author of "Beginning Android Games" published by Apress.  I can thoroughly recommend that book as a great introduction to the creation of a game and game engine.
47 Comments

A refreshing change

8/15/2012

5 Comments

 
How does your advert refresh rate affect revenue from your app?

First of all a quick run through of the mobile ad industry jargon:
Requests - How many times an app requests an advert from an ad provider.
Impressions - The number of ads actually shown to users.
Fill rate - The percentage of impressions compared to requests.
Click Through Rate (CTR) - Percentage of impressions that result in a click.
Estimated cost per thousand impressions (eCPM) - How much an advertiser will be charged for 1000 advert impressions or how much a publisher will be paid for 1000 impressions.

For the past six months I have been earning money by showing adverts in my game "Cherry Chaser".  I began with the refresh rate (recommended by Google) of sixty seconds so my game would contact the advert provider and request a new ad every minute.  After a while I decided to make the adverts somewhat less intrusive by changing the refresh rate down to 120s, or once every two minutes.  This is the maximum interval you can put into the Admob interface.  This had the obvious effect of reducing the number of overall ad impressions by about half and roughly doubling the CTR and ecpm.  The outcome being that revenue stayed roughly the same but the number of adverts I was showing was halved.

I kept the higher refresh rate as I decided that a good general principle would be that showing less adverts is less intrusive to the user.  I don't know how true that is, after all is it better to show one bad advert for two minutes or a good and a bad one for one minute each?  It probably doesn't make any difference either way and the net effect is the same.  One thing I can say though is that less advert requests does mean less network traffic for the user and some mobile users have quite tight monthly data budgets.

Jump forward to the past two weeks and I released my new game "Super Snake Slot Machine".  When publishing it I forgot to set the refresh rate in the Admob interface and it got left at a setting of "no refresh".  What that meant was that an advert was requested when the game started but then no new ads were shown after that.  The effect was that the CTR for Super Snake was about 5% compared to the 1% CTR I was regularly getting on Cherry Chaser at a 120 second refresh.

I had nothing to compare against so I set the refresh rate on Super Snake to 120 seconds for a couple of days and CTR plummeted back down below 1% whilst the number of impressions more than quadrupled.  The overall revenue dropped slightly at a time when I would have expected it to be rising in line with the number of active installs.  After setting the refresh rate back to "no refresh" the revenue rose again, although only in line with the growth of the user base.

I've now also set Cherry Chaser (which has 130,000 active installs compared to Super Snake's 4000) to also disable the refreshing of adverts.  This has had no noticeable affect on overall revenue which has remained about the same.  Number of ad impressions has dropped by a quarter and the CTR has risen by the same factor of four.

An unknown aspect for me here is how your CTR affects the quality of the adverts that are sent to your app.  I've heard hints that a higher CTR will mean you are sent ads that give higher profits.  It's very hard to tell if that is a real effect because you only have the one figure which could be affected either by the quality of the ad or the length of time it is displayed.  I've read that CTR is a very important factor in Adwords ads with higher click words drawing a higher revenue.  I don't see that the same principle will automatically apply in the mobile app advertising space though.

In conclusion it seems to be better to have higher CTR and a lower number of impressions by completely disabling advert refreshing.  If nothing else it reduces the bandwidth usage of the app slightly.  It may just be something about my own app that means this works and I can't rule out that a coincidental fluctuation in advertising rates has misled me to believe that the revenue is slightly better.  I feel somewhat like I'm swimming against the tide of convention by disabling advert refreshes but so far nothing in the figures shows it to be a bad decision. 
5 Comments
<<Previous
Forward>>
     
    Regular updates on twitter

    Development
    Journal

    Archives

    October 2024
    January 2022
    October 2021
    August 2020
    February 2020
    March 2019
    October 2017
    September 2017
    May 2017
    February 2015
    February 2014
    January 2014
    November 2013
    August 2013
    July 2013
    June 2013
    February 2013
    October 2012
    August 2012
    June 2012
    March 2012
    February 2012
    January 2012
    July 2011
    June 2011
    May 2011
    July 2010

    Categories

    All
    Advertising
    Cherry Chaser
    Libgdx
    Plasma Duel
    Super Snake

    RSS Feed

Privacy Policy
Terms and Conditions


​All content copyright Exobyte Ltd 2012-2024