Posts Tagged ‘platformer’

Shear Speed

Monday, November 9th, 2015

ShaunTheSheep-ShearSpeedHelp the flock make their escape from Trumper in this endless runner game from Aardman Digital. I supported the main development team on this free mobile game, rather than being one of the main contributors.

 

Download for iPhone/iPad
Download for Android phone/tablet
Download for Kindle Fire

Official webpage

Wizards vs Aliens: The Eye of Bashtarr

Sunday, June 29th, 2014

WizardsVsAliensTest your platforming and puzzling skills in this game for the CBBC show Wizards vs Aliens, built by Aardman Digital. Use each character’s strange and unusual powers of magic and science to levitate rocks, hack enemy sentries, control the environment, slow time and more.

Play Wizards vs Aliens in your browser.

I worked on level design, UI and back-end server integration on this project, with the talented Tom Milner as lead developer.

Home Sheep Home 2: Steam

Wednesday, February 26th, 2014

hsh2_steamOnce upon a time I made a cute browser game called Home Sheep Home for Aardman Animations. It was a surprise hit, so we built a sequel, Home Sheep Home 2: A Little Epic. We released this on the web in low-res episodes, and on iOS as an app, and as a glorious super-high-res packed-with-extras Windows desktop version.

But this was the little game that dreamt of being on Steam, the PC’s premier download platform. It’s taken years to get there, but finally it has made it!  And in style too, with tons of Steam achievements and lovely Steam cloud saves too. So what are you waiting for? Go and get it immediately! Especially if you enjoyed Thomas Was Alone which takes much of its gameplay mechanics from this game.

Buy on Steam

Tony Robinson: Weird World of Wonders

Tuesday, May 1st, 2012

This puzzle-platformer game was built with Aardman to help promote Tony Robinson‘s new series of lovely children’s history books.

Play Tony Robinson’s Weird World of Wonders.

In every game I try to introduce something new and original. In this one, you control two characters at once. Pee Wee and Nits. The boy Pee Wee can be controlled with arrow keys, and Nits, his dog, can be controlled with the mouse. That means that two people can play side by side on the same computer, in a cooperative manner. It’s great fun, give it a go and try to solve the level puzzles with your best mate!

I’ve loved Tony Robinson’s acting work since I was young, watching him play Baldrick in the Blackadder comedies. It was an amazing privilege to work with him on this project. His browbeating voiceovers totally transform the game, injecting character and humour throughout.

Home Sheep Home 2: A Little Epic

Friday, December 9th, 2011

Help Shaun, Shirley and Timmy find their way home in this super-cute BAFTA-nominated physics puzzle platformer.

Play the London episode on the web, free

Play the Underground episode on the web, free

Visit the official site to buy the game for your PC or iPhone/iPad

After the success of the original Home Sheep Home, Aardman asked me to work on a sequel with the ultra-talented artist/animator, Robin Davey (who did all the art/animation for the first game too). The original game was a pure Flash web game, hastily built just to raise brand awareness for the Shaun the Sheep show. The new game was to be a multi-platform paid download game, as well as a free-to-play web game. We had our work cut out for us!

So, what could both work as a free web game, and as a paid download? Why would anyone pay to play something they can play for free? Well, we came up with a few reasons:

  • Super high resolution graphics, running super-smooth in full screen
  • Lots more content – more episodes, bonus levels, more to collect
  • Developer’s commentary
  • Exclusive fun/silly cheat modes
  • Runs on your iPhone/iPad

Robin and I scratched our heads, scribbled lots of notes, drank lots of tea and ate lots of biscuits until we had a rough plan of the game. Then came months of hard work building it all. Top-designer Gavin Strange worked on the lovely interface screens. Tech genius Richard Davey orchestrated a textbook perfect technology-intercept with AIR3 for the desktop version, and lots of other people at Aardman were involved (check the in-game credits for the full list).

Alongside our own development we also worked closely with the amazing Mobile Pie to help them create the iOS version of the game. Mobile Pie’s star developer Matt Arahna and the rest of the team did a truly spectacular job of bringing the experience to the iPhone and iPad. They slaved for months ensuring the mobile version played just like the desktop and web versions, including every frame of the rich animation, beautiful layered backgrounds, physics, controls and more.

It’s been a long journey, and one of the most complicated projects I’ve ever been involved with! The multi-platform end product was well worth all the hard work though, and although the game has only been out for a couple of days as I write, it has already had hundreds of thousands of plays. Initial feedback from players seems very positive too! That’s the bit that really matters in the end – bringing a beautiful and fun experience to people who love games.

 

Deadly Planet

Monday, October 31st, 2011

To go with the brilliant kids wildlife TV show “Live ‘n Deadly”, the BBC wanted a major online game. They got Aardman to build it, and I was brought in as part of the team. I worked mainly on the design of levels 2 and 3 (Borneo and California), but also on the core platform engine a little, alongside Mark Burvill and a few others.

It was an ambitious project, with a pretty tight deadline. There’s the odd rough edge, but overall it came out pretty well! There were even tie-ins with the show, with the presenters giving out goodies for the game live on air.

Play Deadly Planet.

 

Infinite Monkeys Bending Reality

Sunday, July 24th, 2011

Bend reality itself in this strange and innovative platformer that asks “What if monkeys could bend reality with their minds?”. Find out for yourself by playing Infinite Monkeys Bending Reality.

Postmortem.

I started work on this game shortly after Flash 8 was released, something like 4 years ago! It was written in AS1, and started out as a test of the new DisplacementMapFilter that had just been introduced. I built a dead simple early test where you could bend the level and jump around on it, and it worked better than expected. Sometime around then, I quit my full time job and became freelance, and Infinite Monkeys got pushed aside for more critical jobs.

Over the next couple of years, I’d occasionally find myself with a bit of time to work on the Monkeys. So I’d go back to it, add a few levels, do some graphical work, add a new feature or whatever. Then something more important would come up again, and Monkeys would get forgotten again.

This super-long gestation period seems to have led to a pretty big game with lots of features and plenty to like about it. Unfortunately it’s also led to confused and somewhat buggy code, multiple art styles and rather random storylines! There are missing features too. A few people have complained that it doesn’t save your progress. This is true, but it turned out to be a very hard feature to implement due to the disjointed way the whole game was built.

The public reception to Infinite Monkeys on the whole is rather better than I’d expected. You always get some people hating on games they don’t like for whatever reason, and you tend to get hate for anything that doesn’t work perfectly in a game too. I’d always expected it to be a Marmite game, splitting opinion neatly into “It’s bonkers and I love it” and “It’s hard and buggy and I hate it”. That happened, but it seems to have gone much more towards the first than the last; a pleasant surprise!

Most people seem to enjoy the intro. They like my silly voice and the weirdness of it. A few people seem to read deeper meanings than were intended here, like references to The Hitchiker’s Guide, pro/anti-evolution themes and all sorts. The only vague meaning beyond amusement, was that the game really has been bashed out by a sort of monkey at a typewriter: Me!

This game features four separate endings. Two are pretty easy to find – you run to the end and there’s a junction where you have to make a choice. The other two are much harder to discover. You have to do a tricky move to get past an obstacle that doesn’t look passable, then nip down the drain beneath (where there’s another junction). A surprising number of people have done this, and in fact one of these endings is the second highest achieved, according to the stats.

Graphically the game is a bit of a mix. I did most of the levels etc myself, just by trimming bitmapped textures with Flash’s built in tools. The game was originally intended to run over hand-drawn levels, but it turned out far too hard to get the hand drawn bits to match up with gameplay constraints. Plus there was an awful lot of levels in the end (over 50) and it would have taken forever to make them all. Some of them are animated too, like giant machines you have to crawl through.

The very best bit of graphical work in the entire game was the protagonist monkey itself, illustrated and animated by the super talanted Nick Hilditch. The monkey character is well received by the public, and helps give the game sufficient charm to make people play in the first place. Awesome!

Lessons:

1. It doesn’t pay to leave something on the back-burner too long. The world moves on, and you forget how the code works!

2. Have a bit of fun with hiding objects, easter eggs and the like around the game. People enjoy them, it seems.

3. Multiple endings are popular!

4. Buggy code will produce angry players! Doesn’t matter if you’re doing something difficult, they don’t care.

5. Intros can be worth it. Keep ’em short and punchy though.

6. Make something a little weird and mystereous, and some people will add their own meaning.

7. Everyone loves monkeys!

Home Sheep Home

Saturday, February 13th, 2010

home-sheep-homeShaun, Shirley and Timmy must team up and work together if they want to get home in this physics platformer. Expect stacked sheep, sheep-seesaws, trampolines and more in this fun action-puzzle.

This game was built with graphics and sound from the amazing Aardman Digital team to promote the new Shaun the Sheep website. Check it out, and don’t miss the second series of Shaun The Sheep either. Both are awesome!

Play Home Sheep Home now.

Zotti-Motti

Tuesday, May 13th, 2008

zotti-motti-roomZotti-Motti is the mascot for the Austrian Stadhalle building. I created multiple elements for the website.

Postmortem:

Main room: The hub from where you can navigate to the rest of the site. Click the TV console screen for the platform game, the cards on the bed for the pairs game, the radio for the karaoke and other elements for more stuff like galleries and stories (not generally built by me). Don’t miss stroking Zotti-Motti’s fur with the mouse, and playing with all his dangling toys too. My AS2 physics engine works hard here to create these effects. There are a number of other easter eggs in this room for the observent and inquisitive to find.

zotti-motti-gamePlatform game: Use cursor keys to guide Zotti-Motti through this platform-puzzle game. There are only six levels, but each one is carefully crafted to have unique puzzles and items to solve. The idea was to make the player think around the cartoon physics of the game and use the objects they find to help progress.

I’m really pleased with the way the puzzles in this game turned out. Every level presents something you haven’t seen before, which forces you to keep thinking throughout the game, but doesn’t force a steep difficulty curve on you. A lot of games just get harder, faster and require more skill as you progress. This one forces you to rethink each level, but once you have worked out the solution you should be able to achieve it fairly easily.

I’m also pleased with the way the hint system worked out. If Zotti-Motti gets to an area where he needs an object, he either has it and uses it automatically, or he hasn’t got it and a thought-bubble appears with him pictorially imagining it. For example, he thinks about the ice-skates at the top of the ramp in the picture. If you go on the slope without them, he falls over, doesn’t make the jump and laughs at himself. If you do have the skates, he leaps across and taps the icicles playing a randomly picked tune. The tune opens the door at the top, but the door shuts too fast for you to get there. The idea is that you have to remember the tune then re-play it on the icicles near the door in order to open it (this is as hard as the puzzles get in this game). I tried to think up unusual and imaginative puzzles like that as often as possible, and largely succeeded I think. Each one gives the player a little rewarding pat on the back as it is solved, which helps keep their interest up and makes them feel clever and special for having worked it out. This goes back to my core principle that games should be fun, not difficult. It’s fun to solve puzzles, but it isn’t fun to be beaten up by them. It’s fun to slide down ramps and jump ravines, but it’s not fun if it requires an immense amount of skill to perform.

The platform engine technically took an unusual path in this game. Zotti is a series of square movieclips underneath, as are all the things that can be walked into or stood on. Each square is tested for collisions with Flash’s AABB collision test system; MovieClip.hitTest(clip), which is wonderfully fast compared to testing points against shapes. This also means we can have very free-form levels that aren’t constrained to a grid, and positions can be tuned to the nearest pixel without extra work. Bounding boxes are also pretty big compared to points, and tunnelling through objects becomes a much smaller issue with this technique. All this makes for a considerably more robust platforming experience, even when Zotti-Motti is moving fast with the high-jump ability, or the rollerskates. Robustness is essential in platformers! As soon as the player glitches through a platform, or gets killed by a static wall etc, they’re going to go right off your game.

Baddies in this game are very simple timeline tweens back and fourth over the same area. Their motion is detected and they are set to their idle or walk cycle animations as appropriate.  This works really well as the baddies don’t ever have to react to the player or deviate from their path. It lets you design their actions right there in the Flash IDE where you can see them in place right away.

That’s another principle I developed more on this game. Level design in the Flash IDE. Before, I’ve often had arrays of data that levels are created from, with assets in the library and so on. This works, but is hard work as a development cycle as it is an inherrently non-visual process. It’s led to a few games having too few levels to do them justice too, which is a shame. Far better is to build interractive clips that you can position directly on stage to build up the levels, with all the magic associated with them at runtime automatically. That way, the Flash IDE itself becomes your level design tool, and you get all the power of the editing and animation tools to play with as you go, hopefully leading to better looking and better playing level design.

Lessons:

  • Try to introduce new concepts for the player to tackle each level, rather than just ramping up the difficulty level
  • Building level design tools directly into the Flash IDE is a great idea
  • AABB collisions are a great tool in the right circumstances
  • Everyone loves a cute pink fluffy monster

zotti-motti-pairsPairs game: Nothing too special here. Just the traditional matching pairs game that appears everywhere on the web. This version was based on the Sonic Rush Adventure game I built previously, so you can turn cards over as fast as you like and it keeps track nicely. You also get a little bit of sound when you match a couple of instruments too. It’s a nice little game, but won’t hold your attention for long.

zotti-motti-karaokeKaraoke: The client wanted the Zotti-Motti song to be played on the radio in the room. Easy enough of course. Then they wanted the lyrics to display in time with the music – a little harder. Then they wanted a bouncing ball to run along with the words and syllables, all in perfect time too. Now we’re into the realm of a technical challenge!

I started this the old fashioned hard way, with a sound editor. I added markers manually at each syllable by playing and pausing the sound, and transcribed them into the code to be used as times. It was a horribly slow, error-prone and dull process, and the results were rubbish anyway. I gave up a couple of lines into the song.

The solution was to build a tiny app that played the song and listened for mouse presses. Each time the mouse was pressed, Flash got the millisecond position from the sound object and traced it in the output window. Then, all I had to do was listen along with the song and click along in time with the words – something the human brain is a lot better at than treating each word separately in a sound editor. The times were copied into the code’s data and the results were horrible.

Turns out I don’t have any rhythm.

Luckily, one of the other coders in the office was a musician, and tapped out the timings considerably better, the results of which you can see in the song. If you can stand to listen to the cheesy horror!

Actually, I rather like the girl’s voice in the song. Shame about the male voice. And the song itself!

Lessons:

  • If it feels like you’re doing it the hard way, you are. Rethink your approach
  • Building a very quick rough tool is often faster than tackling the job with the wrong tools (incidentily, this goes for car maintenence and DIY too)

Chronicles of Narnia: Reepicheep Run

Monday, May 12th, 2008

reepicheep-run-gameUse the mouse to control Reepicheep the heroic mouse in this tricky skill game. Click somewhere above Reepicheep to make him leap towards the mouse. In the air, move the mouse in-front or behind him to apply aftertouch to your jump’s path.

Collect powerups to jump further, have more control in the air and gain extra lives.

Postmortem:

This game is one I rather like personally. It’s got on of my favorite things in a computer game – a tactile main character. By that I mean you have a certain subtlty and finesse in the character’s control that rewards patient learning and practice.

Unfortunately, these things are exactly what web-game players typically don’t want to do. They want to leap straight in and be acceptably good at the game, not to fall off every branch with no idea what they’re doing wrong.  If a random web player can’t get into the game straight away, they’ll almost certainly go elsewhere. There’s no shortage of other games out there to play.

A second issue caused trouble with this game too. Compounding the fact that it’s a pretty tough game was the fact that the client kept wanting more difficulty added to it. First it was extended to be considerably longer (which wasn’t a bad thing). Next they wanted to speed the auto-scroll up as time went by (which makes it become very high pressure towards the end). Then they wanted fewer lives and fewer life power-ups (I was generous with them as it’s so easy to die). Then they asked us to add branches that break if you sit on them too long (adding even more pressure and no chance for a breather). Eventually they wanted arrows shooting through the branches at random, which we made a stand against since you have very little chance to avoid them. It’s a game about planning your next move, rather than reacting. Once you’re in the air, you can only make fairly small adjustments. In no way could you dodge fast moving arrows!

Finally, when we discovered that lots of people couldn’t get the hang of jumping, we asked the client if we could build a jump preview line that showed the rough path of the jump before you clicked. They were heavily against this idea, dispite my thinking it would help considerably with getting new players to a competent standard rapidly.

Dispite the added difficulty, I still like this game and still enjoy playing it, which is unusual for games I’ve worked closely on. Usually you play a game to death during its development, and are happy not to see it again afterwards. Not so with this one. I still come back to it from time to time to see if I can still perfect those jumps.

The character’s movement comprises a few subtle elements. Firstly, the mouse takes his initial jump direction from the angle to the cursor. His jump force is calculated from the distance, so you can do small adjusting hops, nimble jumps to a nearby branch, or huge leaps across the screen. Then, the spring motion of the branch is added onto that initial force, so you can time your jump with the release of the energy in the branch to go higher or further, or the opposite – and do a minimal jump. You can leap up through branches then land on them, or leap down through branches to a lower level and add energy to your next jump. In mid-air, there’s an affect of aftertouch where Reepicheep has a slight acceleration towards the mouse cursor, so you can bend and curve his jump after you’ve taken off. You can power up all these abilities too, with the pickups strewn around. Finally, if you get to the right hand edge of the screen you can push-scroll the level, so it’s even possible to speedrun the game!

Collision detection was an issue in build. Branches are necessarily thin things, and the character moves necessarily fast! Tunneling through branches is simply unacceptable in this case as you’re depending on hitting them for survival throughout the game. The solution was to scan every pixel between Reepicheep’s previous position and his next, and test each for collision with the branches so that you collide with even the thinnest hint of a branch. To keep everything running well, the forrest is divided into lots of short segments, each is attached to the stage just before it is needed, scrolled through view then removed as it goes out of sight. Only branches in the current segment are tested for collisions of course. New segments are attached automatically when required, and each segment contains power ups right there on the timeline as required. A discovery algorithm runs searches through instance names at runtime as segments are attached, learning what items exist and setting them up as appropriate. This works really well, and far better than having metadata in the code that has to be kept in sync with what’s on stage, or worse, coordinates for powerups stored in the code. It’s just so much easier to adjust – you just chuck a new powerup on stage from the library, and give it an appropriate instance name. Recompile and it’s there in the game, functioning.

reepicheep-run-endThe final part of the forrest contains a large treehouse that you make one final heroic leap to, then squeak your important message to Prince Caspian directly. Granted, not many people are going to get this far as it’s a pretty tough game, but those that do should at least feel like there’s a proper conclusion, a bit of a point to it all. As a game developer it’s easy to overlook how important this is as it really adds nothing to the gameplay mechanic at all. It’s just a big bitmap and some special case coding at the end, rather than a different challenge etc. It’s hard to justify why we’d want to build it, but the feeling of closure and reward for the player is immesurably important.

Lessons:

  • Tricky yet rich control mechanisms aren’t generally a good idea. Extensive user training is required, which most people won’t bother to work through
  • A proper end goal is a great way to finish a game. Just cutting at a given point really isn’t! This one does it well, with the final treehouse with Prince Caspian being a really solid final point
  • The Flash IDE is still a great level design tool