[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Anyone on this list?

On Tue, 29 Oct 2002, Bill Kendrick wrote:

> Uh - Only in games where the coder wasn't paying attention to keyboard
> events properly, or was stupid and left auto-repeat turned on. ;^)

I have learned that there is a suprising amount of subtlety to jumping
in games.

In the real world - you jump - and once you are in the air,
Newtonian mechanics takes over - you fly in a nice parabola
until you land again. The amount of energy and the angle
you supply initially determines where you land.

In most games, you press the button to start the jump - you
travel in something like a parabola - but as soon as you
release the button, you drop vertically.  This is really
necessary because there is no convenient way to tell the
system how much energy to supply into the jump - so the
only way to target your landing point it to cheat and drop
the player vertically when the button is released.

You may also be able to steer to some degree in mid-flight
and sometimes you can press the button soon after releasing
it and get another little bit of extra height.

Some games have it work that way when you RUN and jump - but
if you stand still and jump, pressing the button causes you
to build up energy that's released when you let go - so the
height of the jump depends on how long you held it down.  This
can only work when jumping vertically because you don't
need to release the button in order to time your landing - and
it's needed because that's the only way to specify the height
of the jump.

When you look at a game like Mario 64, there are *LOTS* of
ways to get different heights and distances of jump - it's
an amazingly complicated set of rules when you add in the
effect of hitting something halfway through the jump, bouncing
on things, etc, etc.

Steve Baker                      (817)619-2657 (Vox/Vox-Mail)
L3Com/Link Simulation & Training (817)619-2466 (Fax)
Work: sjbaker@link.com           http://www.link.com
Home: sjbaker1@airmail.net       http://www.sjbaker.org