Resource centre for ZX Spectrum games
      using Manic Miner and Jet Set Willy game engines

 

Archive of the

Manic Miner & Jet Set Willy Yahoo! Group

messages

 

 

 

Message: 4663

Author: andrewbroad

Date: 10/01/2005

Subject: Re: Lifts / Collision-detection / Switches in JSW64

 

dm_boozefreek wrote:

>
> Lifts (or a means of turning guardians passive so they don't kill
> you)

I plan to write a patch to implement horizontal and vertical lifts
for JSW, right after I finish my patch to replace ramps with
vertical conveyors.

My idea is to implement lifts as horizontal or vertical guardians
that are drawn BEFORE Willy, therefore they don't kill you, and you
can stand on their colour-attributes as though they were floor.

I think the biggest challenge will be how to get smooth movement on
the vertical lifts as in JSW II. This will require knowledge of
Willy's current position, not just the simple trick described in the
previous paragraph. It could alter Willy's ACTUAL vertical position
(like ropes), or it could adjust Willy's APPARENT vertical position
(like the code that draws Willy on a ramp).


> Guardians that can pass each other or blocks with graphics in them
> (the stairs in Megaron, or eggoids from JSW2).

The routine that draws a guardian-sprite has a Boolean flag that
enables or disables collision-detection (I notice that this flag
must be enabled for switches in JSW64, since they disappear as you
walk through them).

How to disable collision-detection against blocks and other
guardians, but enable it against Willy? These guardians could
collide only with white-ink pixels, which is exactly how arrows work.


john_elliott_uk wrote:
>
> Here's an example of how to use a stopper:
> * Load JSW64V.TAP in JSWED 2.2.3.
> * Go to the Top Landing. Delete the horizontal guardian; leave the
> two verticals.
> * Add guardians in this order. I'm specifying them in Hex rather
> than describing all the settings manually:
>
> > Switch (98 04 84 d0 01 a6 00 00)
> > Trigger (88 14 80 80 02 a2 b0 b0)
> > Stopper (b8 64 0f 80 fe ac 70 a0)
> > Horizontal (81 e5 10 d0 00 b4 0a 1e)
>
> Now go into the landing and turn on the switch.
> Other fun things you can try are:
>
> * Change the first byte of the stopper to C8.
> * Change the trigger to (88 14 80 C8 02 a2 b0 b0) and the stopper
> to a blank (c0 64 0f 80 fe ac 70 a0).

Fascinating. What we really need is a two-way switch, so that such
guardians can be both stopped and started.

--
Dr. Andrew Broad
http://www.geocities.com/andrewbroad/
http://www.geocities.com/andrewbroad/spectrum/
http://www.geocities.com/andrewbroad/spectrum/willy/

 

 

arrowleft
arrowright