Archive for March, 2015

Titan Attacks mobile – launched in the Humble Bundle!

Wednesday, March 25th, 2015

We are proud to announce that our Android port of Titan Attacks has debuted in the Humble PC & Android Bundle 12!

As of writing the bundle is at 62,580 sales and $328,000. We’re hoping it’ll reach at least $500K by the end of the bundle in 6 days’ time.

The port was actually finished in August 2014, but because we agreed to debut in a Humble PC/Android bundle, we haven’t put the game on Google Play yet. We just missed our chance to get in the PC/Android bundle 11 in Sept 2014, which resulted in a 7 month wait until this one came around.

Developer Diary

The last developer diary I did for the port was in December 2013. Back then I had just finished porting the 5th and final world, Titan, including all the enemies.


However, there was still a *lot* to do to make it shippable. Here’s the full list of stuff I did since then:

– Parachute added after some critical hits.


– Boss looping sounds added.
– Animation offset command for moon and titan boss eyes.
– Made Animation scale command work (for player bullets as they appear).
– Tank now fires 9 different powers of bullets.
– Made supergun work. It’s cool.
– Made player and enemy bullets use correct radius if they are exploding e.g. for rockets and mines.
– Loaded in player tank graphic, glow, turret and shadow from xml file.
– Player flashes white during immune period at start of level
– Screen strobes red when player is hit
– 4x Add Ons coded and added to shop. Two bullets, an exploding rocket and a laser.


– Added explosion effect to enemy bombs and mines.
– Made it easier to pick up parachutes including when your tank has add ons.
– Tank invulnerability shield added
– Smartbomb coded and added to shop


– Saucer added
– Optimised iOS loading and memory use by only loading in images, anims, objects, levels for the current world.
– Make shop menu fit on screen in landscape mode
– Made teleporting enemies fade properly
– Added support for Offset Delta and Scale Delta animation commands.
– Powerups added (dropped by saucers)
– Made the HUD taller in portrait mode for longer devices and positioned the game screen accordingly.
– Made the game screen scale on landscape mode differently for phone/tablet.
– Added Smart Bomb button and positioned.
– Added in graphics for One Thumb slider mode and positioned/scaled appropriately for all devices.
– Added in graphics for Two Thumb slider mode and positioned appropriately for all devices.
– Added in proper shield bar graphics.
– Made sure that area behind HUD and controls are solid black so that aliens, smartbombs and bullets don’t draw there.
– Added HUD line in portrait mode and HUD gradient in landscape mode.
– Added new in-game Menu button.
– Added in cash, score and X (for multipler) label graphics and positioned in portrait and landscape mode.

(one thumb mode and new HUD)

– Added flashing red shield graphics for when shield is 0
– Added in basic background sides for landscape mode
– Fixed bug from original game where if multiple alien lasers hit tank at same time you would be instantly destroyed.
– Fixed bug from original game where Galaxian slaves (on Mars) were sometimes missing due to starting off screen.
– Finished About screen UI
– Finished Title screen UI in portrait and landscape (but not animated title image)
– Finished Loading screen UI including loading bar
– Finished in-game menu UI
– Finished options screen UI including sliders for sound/music and control method toggles.
– Made game save and restore sound/music volumes.
– Shop screen done in portrait and landscape. Everything works now including animated tank+blueprint in landscape mode.

(shop screen)

– Added Choose Control screen to appear on first play.
– Added authentic particle emitters for: enemy/boss ricochet, enemy/boss explosion including slave and chained emitters, turret smoke ‘n’ sparks
– Got it running on Android phone!
– Added shop music
– Saucer explosion + floating score.
– Made all relevant particles glow using additive blending.
– Challenge mode added.
– Added authentic particle emitters for player bullets and addons.
– Added player death explosion.
– Added authentic enemy critical hit particle emitter.
– Added authentic enemy bullet particle emitters including rocket trail.
– Added authentic alien laser emitter and centipede pod emitter.
– Added teleport emitter and created sound for it as original game had none.
– Added authentic emitters for parachute death and collection.
– Added authentic emitters for powerup pickup.

(particle effects)

– Missed powerups now have a different sound and a different emitter.
– Texture atlases are done!
– Added lerp to one thumb mode and sped up lerp in two thumb mode.
– Made it so you can slide anywhere on the screen in one thumb mode to move but bomb buttons still require a tap (and they have a smaller hitbox)
– Boosted radius of saucers so they are easier to hit.
– Added draw batching for glowing sprites to speed up rendering on phones.
– Layered all glowing sprites and emitter particles correctly.
– Optimised particle creation so the game should run faster on older phones.
– Make game support trimmed texture atlases to save memory on phones with small heap.
– Using original font for the floating scores and $ values.
– Fixed player bullets so that they disappear when off screen and not just before.
– Fixed enemy size so that firing when off screen calculation is more accurate.
– Added meteors.
– Prevented Quit from being used during the player death anim.
– Added enemy bullet shadow.
– Made sure background sides are drawn on top of all particles.
– Stopped smart bombs from showing at extreme edge of very wide screens.
– Added animated backgrounds to every level.
– Made a hard limit of 1000 particles and made sure it doesn’t crash.
– Animated title screen done!
– Added HSB color transition to smoke particles.
– Boosted Two Thumb Mode move button hitbox Y. So if your finger slips off it still works.
– Added flashing High Score to title screen.
– Music now changes every level.
– Made smartbomb sound louder.
– Converted all sounds and music to .ogg format.
– Android back button now works like Escape key on all screens and does a nice close of title screen.
– Boosted fire button hitbox to the side whenever possible (not in portrait on phones.)
– Moved controls up from bottom of screen a bit in portrait mode on >4:3 Android devices to avoid clashing with on-screen buttons that some androids have. Also same for landscape mode but only for two thumb controls on tablets as there’s no room to do this for one thumb controls or on phones.
– Added more steps to loadinging bar for sounds.
– Added sound triggers to stop multiple versions of common sounds playing in same frame.
– Tablet controls will now only be used on devices 8″ and larger. e.g. iPad size.
– Moved Slider control for Two Thumb mode in a bit from the side so that left can always be reached easily.
– Made player bullets disappear a bit sooner off screen so that firing feels faster to player.
– Made Moon boss a bit easier by allowing it to go higher up the screen.
– Made red text fade from yellow to red as per original game.
– Added an icon.

(Titan boss)

Hopefully you can get some sense of the work involved in finishing a game from that list. Don’t forget that I’d already done a ton of work before that final push. Also there was a lot of testing and tweaking the mobile controls during those final stages.

I’m very pleased with the result, and so is Puppy Games. It’s an authentic port in every detail and I also made sure that it runs on slower Android devices without much memory. As a result we haven’t had any major launch issues and have received some nice positive feedback too. YAY!

How to estimate how many sales a Steam game has made

Thursday, March 12th, 2015

(click to enlarge)

I was having a discussion with Ryan Clark about using the number of reviews a game has on Steam to estimate its sales. He tells me the idea came from Mike Boxleiter.

Anyway, I recently got shown this article which lists the most popular Steam games of 2014 (Thanks Lars Doucet) and some other useful data like number of owners. So I thought I’d look up the review count of the top 50 games of 2014 and do an analysis to find out what the average amount of owners (sales) are per review using the data in that article.

Units sold and Revenue estimates

This means you can look up any game on Steam and multiply the review count by a magic number (or range) – see below – and estimate how many sales it has made. Then if you multiply by the price, you can work out the maximum gross revenue the game has made, although of course sales and bundles will greatly reduce this.


I’m not saying this is totally accurate or anything, but it’s interesting and fun if you are into this kind of stuff. Enjoy!

Some observations and the magic numbers

1) There are 22 F2P games in the top 50 (44%)

2) The date format is the stupid American format.

3) Average owners/review for all games is 148. However, it’s 201 for F2P games and 106 for paid games. An important difference.

4) For paid games (I’m not that interested in F2P games. sorry!), Football Manager and Dizzel were outliers with over 400 owners per review, so I removed them and got an average of 81. If I take out two more above 150, the average is more like 72.

5) The lowest average for paid games was 32. If I “eyeball” the graph of values (see image at top of post), I’d said the average looks more like 60-70 as that’s the longest flat area before it hikes up.

6) So to conclude I’d say you can use 30-100 as an approx guide. There won’t be any below 30, and there’s only a few over 100. Another way to look at it (based solely on this data) is to pick 70 as a kind of mid value and use 70/2 as the lower end and 70×1.5 as the upper end (=35 to 105). Someone who is better at stats will probably rip this apart, but you get the idea.

7) Average Players/Owners is 73% for all games (57% for F2P and 85% for paid … interesting) Lowest for paid was 40% and highest was 99%. If I take out two lowest paid outliers of 40% and 45% (next lowest is 69%) this gives an 89% average. I’m not sure if any of these games have been in bundles. If so I imagine that would drop this ratio right down.

Some things I have not taken into account:

1) Date released: Some games have been around longer to get more reviews. However, we know none of these games are more than 14.5 months old and they are all at least 2.5 months old. If I didn’t have to fix the dumb date format by hand in Excel (there’s probably a smart way), then maybe I could do more analysis.

2) I haven’t noted if they are indie games or AAA games.

3) I haven’t noted the genre the games.

4) Hours played (maybe people who play more vote more? Actually I checked this with a trendline and it’s true! So if you know a game is a short game, bank on a HIGH owners/reviews value, and if it’s a long game, go for a LOW owners/reviews value.)

5) I used Owners per review, *not* Players. However, the data clearly shows that the larger % of players to owners, the lower the sales per review, which makes sense because it means that more of the owners played it and decided to leave a review.

6) These games were super-popular. It’s possible that if you check less popular games their review counts change/become more unpredictable.

I hope you found this interesting, please let me know if you think I’ve screwed up anywhere.

Also if anyone wants to do the next 100, go ahead, I need to do some work now.