The problem with spatial awareness: a Worms 3D case study

There is something about the simplicity of the Worms series that makes my heart sing whenever I play them.  The satisfaction of slotting that bazooka shell through an almost impossible space to win that trench-based war of attrition in the last throws of a hard fought and endured battle is near unmatched in the gaming world.  Team 17 please just throw theme packs, levels and missions at me and I will continue to buy them because, I’ll just say it – I love Worms.

WormsXBLA

It is less about the wildly crazy humour and attitude of the games than it is the pure mathematics that sit behind the scenes of worms.  Every shot is based on calculations of wind velocity, gravity and power, which determine how far your shot will be propelled, how far it will be blown and then how quickly it will fall the the ground.  The wonder of  Worms though is that Team 17 cleverly cover all of this up with a series of intuitive metres to make all of that easy for the brain to calculate quickly and shoot accordingly.  This isn’t rocket science, but it is clever game design that takes a game that is mechanically complex and makes it easily digestible by the people that are playing it.

Intuitively this makes sense.  Each and every game you have played since the onset of physics engines has some sort of calculation happening behind the scenes when you press a button on your controller.  But it just so happens that in worms, it forms an integral part of the game.  Which is why when the game went 3D it lost that sleek, perfect design that made what is essentially a game of algorithms into a mainstream hit.  Not intentionally of course, but with the onset of another dimension came an additional problem, that is, how to represent 3D space in its interface to allow a conduit between the game’s mechanics and the player.

In the end the Worms franchise lives and dies by on screen HUD.

WormsOriginal

Spatial awareness is something that, in real life, differs between individuals.  With that comes a varied ability to understand space.  Imagine if I told you that you needed to represent distance, the space around you, and yourself on a 2D plane.  How would you go about that?  Let’s use a 2D plane to describe the following scenario (and I apologise in advance for the terrible diagrams that follow):

I am standing on an oval and need to throw a ball a distance of 23 metres over a wall that stands 3.5 metres tall, is 1 metre deep, with an incline of around 12 degrees averaged across that distance.  The total distance from my position to the edge of the oval facing the direction of my target is 35 metres.  Wind resistance is around -1 meter per second at 15 degrees to the right of the line to your target.

I’ll now tell you that you have 60 seconds to solve that problem and that you can move in any direction, human mobility permitting, in order to take that shot.  Pretty difficult, isn’t it?

Well diagrammatically my situation looks a bit like this:

Worms calc

Of course in reality what you are seeing is this, making it difficult to judge the distance between you, the wall, and the wall and the target:

wormsfirstperson

It is a bit harsh of a criticism, because Worms 3D did in fact give visual representations of all of the above aspects (as well as allowing the player to view the scenario from a birds-eye perspective), as the screenshot below shows.  Wind, height of shot and distance of shot are all displayed on-screen to give the player an indication of where to fire to hit the target.  That is all well and good.  But the problem with the game is that the key input to your shot, and the one that brings all of those disparate elements together, is represented only by a 2D bar, where the total power translating to distance fired is an unknown, and therefore it is impossible to solve s=(1-x) where x is the distance from the highest possible value to the target (assuming a known gravity).  What this means is shots in Worms 3D, at least at the beginning, are simply more error than anything else.

Worms3D

This is the fundamental problem with Worms 3D as a game – it attempts to layer a 3D concept onto a 3D interface, further complicated by the impact of 3D variables of a value that is only represented as a 2D image.  It is all very complicated, which is probably why I never really gravitated toward the 3D iterations of the game.  And of course the catch-22 is that any 3D visual representation of the power of the player’s shot would ruin the game as it would all-but solve s=(X)-wind, leaving the player to only solve the value for wind because X is a known value, and gravity is an inherent function of the value X.

The answer isn’t an obvious one, and I’m keen to hear if anyone in any other game has come up with a solution to this problem, or whether they have run into similar issues of representing 3D space in a simple way.  But until this issue is solved, I am content to sit back and watch Team 17 continue to iterate and improve on the brilliant 2D entries in the series.