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: 5486

Author: andrewbroad

Date: 11/02/2006

Subject: Re: How to represent lifts in JSW

 

andrewbroad wrote:

>
> -------------------------------------------
> Top-down attack: Alternatives and solutions
> -------------------------------------------
>
> 1. How to identify a guardian as being a lift:
>
> (a) Guardian-class Offset 0 (Bits 2:0). Values 1-4 identify a
> horizontal guardian, vertical guardian, rope or arrow, but values
> 0, 5, 6, 7 are unused (Geoff-mode uses values 5 and 6 for
> wraparound guardians; JSW128 and JSW64 use values 5 and 6 for
> diagonal guardians, and 7 for a colour-cycling vertical guardian).

The drawback of adding new guardian-types is incompatibility with
existing JSW-editors: an unmodified JSW CK falls over, while JSWED
v2.2.9 interprets GT 5-7 as though it were a JSW128 or JSW64 game.


> (b) Guardian-class Offset 0 (Bits 6, 5 and 3 are unused, although
> Geoff-mode uses Bits 4:3 for diagonal guardians, and Bits 6:5 for
> the phase of the guardian; JSW128 and JSW64 use Bits 3:0 for a
> 4-bit guardian-type, and Bits 7:4 for extended guardian-types -
> only when Bits 3:0 are 1000b).

Unfortunately Bits 6:5 are used at runtime as a frame-counter for
horizontal and vertical guardians, while Bit 3 is used at runtime
for vertical guardians.


> (c) Guardian-class Offset 1 (Bit 4 is unused, although Geoff-mode
> uses it for diagonal guardians; JSW128 and JSW64 use it only for
> arrows).

(c) it is then! I can find no references to this bit in the
disassembly, and JSW CK and JSWED both ignore it with no ill-effects
as far as I can see. :-)

So I plan to represent lifts as horizontal or vertical guardians,
but with Guardian-class Offset 1 Bit 4 set to 1.


> (d) Guardian-class Offset 1, where lifts have a distinguished
> colour-attribute (my least-favourite idea).
>
> (e) Guardian-class Offset 5, where lifts have a distinguished
> sprite-page (need 4 sprites for a horizontal lift, one sprite for
> a vertical lift). This means that the player need never doubt
> whether a guardian is a lift or not.

I don't choose (e), because I don't want to force the author to use
the lift-sprite for all lifts. It's just a convention that we should
stick to with maybe the occasional exception, like not having
infinite-death scenarios (unless the player jumps into a room when
(s)he has the option of walking in, or falls off the bottom of the
screen from a height of more than four cells), or not having
invisible items (except in a room where the only exit is a portal),
&c.

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

 

 

arrowleft
arrowright