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:
>I plan to write a patch to implement horizontal and vertical lifts
> Lifts (or a means of turning guardians passive so they don't kill
> you)
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 themThe routine that draws a guardian-sprite has a Boolean flag that
> (the stairs in Megaron, or eggoids from JSW2).
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:
>Fascinating. What we really need is a two-way switch, so that such
> 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).
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/
