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

 

arrowleft Previous message
Next message arrowright
arrowleftthread Previous in thread
Next in thread arrowrightthread

 

 

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 Previous message Back to the Yahoo! Archive
home page
Next message arrowright
arrowleftthread Previous in thread Next in thread arrowrightthread