The limited amount of screen space on a smartphone leaves platform developers with a conundrum - where do you put the 'jump' button? On-screen buttons clutter the play space, and swiping and flicking aren't the most accurate control methods.

Bean's Quest has solved that particular problem by taking jumping out of the player's hands, and in doing so has created a retro platformer that still feels fresh and interesting. Instead of leaping, you're constantly bouncing, and this adds a new level of decision making to proceedings.

Full of beans

You control Emilio, who's been cursed and transformed into a Mexican jumping bean. It's your job to guide him through more than 40 levels of intricately designed platforming to recapture his human form and save his girlfriend.

To move left and right you tap on-screen buttons on the respective sides, and Emilio bounces automatically. You'll need to be nimble-fingered to avoid the wide variety of retro obstacles that impede you, dodging over spikes, bottomless pits, and dangerous monsters.

Foes are dispatched by bouncing on their heads, and there are gems scattered across each stage that make a resounding 16-bit 'ding' when you collect them. There are challenges on each level, too, which range from saving a stranded axolotl to completing the stage in a stingy number of jumps.

Good for your heart

Things start off in a fairly conventional manner, but as the game progresses it introduces some light puzzling elements, such as switches and bouncing balls.

The difficulty curve is reasonably smooth, and while things do get tough Bean's Quest is never as masochistic an experience as some other smartphone platformers.

There's a mid-'90s gloss over the game that should appeal to the nostalgic in us all, and a brilliant soundtrack that sounds like it was lifted from a long forgotten Mega Drive title.

Bean's Quest is a clever of mix of the old and the new, full of cartoon charm and platforming action that's always just the right side of difficult. Add to that a clever, well-balanced solution to the 'jump' button conundrum and you're left with a genuinely impressive package.