Sunday 28 September 2008

Movement and interaction

One thing I would really like to see in a game, and let's for now call this game 'Project Lena' for ease of writing, is natural interaction with the environment.

In most games, you may run along, stop in front of a cliff, press a button to jump and the character will jump up and grab it. As a long time doer of various outdoor pursuits including fell-walking, rock climbing and Orienteering, I dislike this. Not only is it slow and all stop-start, but it's ludicrously unrealistic! If I was confronted by a six foot cliff face, there is no way I could jump, grab the cliff and just yank myself up with just my arms! I know some pretty strong rock climbing guys, and only a handful would be able to manage that, and even then they wouldn't if they had the choice, because it'd be stupid, dangerous and a waste of energy.

So I started to think 'okay, how can I do this better'? I'd like the character to interact with things based on context, but the hard bit was how to come up with a system that still makes sure the character does what the player wants, rather than misinterpreting 'climb down this cliff' for 'leap off this cliff'.

So my proposal is this: Interaction with an obstacle is based on the speed at which the character is moving.

So if the character walks toward the cliff, they will climb down it. If they run towards the cliff they will jump off it. This was used for jumping in Legend of Zelda games, and is great, because it removes the annoyance of trying to press a button while running forward just at the right time to jump off a cliff at the right angle, something female gamers dread due to our comparative lack of 3d awareness. So that's what happens at the top of a cliff, how about the bottom?
Well, how about...
If Lena runs at a rock face, she will try to scramble or smear up it, making this an effective technique for short cliffs, particularly quite smooth ones she can't get a grip on. If she walks at a cliff, she will climb it properly placing hand and foot holds, and the player should try to follow features such as fissures in order to stay on and preserve stamina.
If Lena runs at a tree, she'll attempt to jump into the branches, or failing that, kick off the trunk. If she walks at it, she'll try to climb the tree more sensibly.
If you run into water, you'll dive and start to swim as soon as it's deep enough. If you walk, you'll wade in until it's too deep and then start to swim. When swimming, run becomes the fast front crawl, good for moving along the surface quickly, while walk becomes breast stroke, slower and can be used for underwater exploration.

That gives an idea for how things would work. This removes the aspect of button tapping, but adds a challenge in the form of making the player think about how to approach an obstacle.

No comments: