Re: Aw: Re: Aw: Re: [stella] Jumpman Experiment

Subject: Re: Aw: Re: Aw: Re: [stella] Jumpman Experiment
From: Nick Bensema <nickb@xxxxxx>
Date: Thu, 2 Dec 2004 15:52:02 -0700 (MST)
On Thu, 2 Dec 2004, Ruffin Bailey wrote:

> When I was thinking (aka "pipe dreaming") about writing a platformer 
> for the 2600 in a different life, that was one of my big quandaries.  
> Recall that, at least on the C=64, there were some of those same 
> issues.  If you could catch/jump into a platform most anywhere on the 
> Jumpman's body, he'd scurry on up.  There were also some strange 
> behaviours with the ladders as they touched platforms and with the 
> "vines"/chains.  I doubt any of that was, at least initially, the 
> design, but it made for a better game.

Well, I think the original Jumpman viewed platforms as simply very
wide vines that you'd already climbed to the top of.

Now, let's take a look at one such odd behavior: if you're climbing a ladder
and have touched the ceiling, Jumpman can simply walk off the ladder and
climb up.

Now, take into account the following design considerations:

 * Jumpman can climb ladders.
 * Jumpman must also be able to walk past a ladder without mounting it, 
   on a platform of any grade.
 * Jumpman must be able to dismount a ladder he is climbing, if he's
   touching the floor.
 * Ladders protrude slightly past the top of their highest accessible
   platform, so that Jumpman can climb down them.  Note that downward
   vines do the same thing, but upward vines don't.
 * The player should not be punished for not being able to hit the exact
   pixel at the top of the ladder.

My hypothesis about the way Jumpman's control works is that his state is
described in abilities enabled by his position in the level.  So
the logic would be:
1. If Jumpman is standing at the top of a platform or other green shape,
   then he may stand by centering the joystick.
2. If Jumpman is submerged somewhat in a platform or other green shape,
   then leaving the joystick centered will cause him to climb.
3. If Jumpman is in any way touching a platform, moving the joystick
   left or right will cause him to walk, and either climb or fall as
   appropriate.
4. If Jumpman is colliding with a ladder, and his horizontal position 
   lines up, then leaving the joystick centered will cause him to straddle
   the joystick, and moving the joystick up or down will cause him to
   climb that direction if possible.

The "shimmying up the platform" is explained by rules 2 and 3.  Rule 2 is
meant to handle vines, and rule 3 is meant to handle inclines while allowing
some slight dodging maneuvers on vines.  Combined, they allow Jumpman to
catch the edge of a platform and climb up.

And rule 4 isn't mutually exclusive of any of the walking rules -- it
governs what happens when the joystick moves up or down.  So if you're
at any point where ladder touches platform, either at the very bottom or
where it crosses the top, you can move left or right and rule 3 will
take over.

So if we can get the 2600 version to follow the same kind of generalizations
and assumptions as the Commodore version did, then the behavior should be
similar.

Someone will need to sit down with the Atari 8-bit or C64 version and run
some experiments, though... maybe even some measurements, or a disassembly
of the code perhaps?

-- 
Nick Bensema <nickb@xxxxxx>   ICQ#2135445
~~~~ ~~~~~~~ ~~~~~~~~~~~~~~


Current Thread