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

Author: andrewbroad

Date: 17/08/2004

Subject: Re: JSWED 2.1.6 uploaded

 

I'm back! After two months of major tennis- and work-distractions,
it's time to start catching up with the MM/JSW scene again, not to
mention a mountain of emails waiting for me to reply to them :-o


john_elliott_uk wrote:

>
> JSWED is now at 2.1.6. You can get it from the usual place, that
> is:
>
> http://www.seasip.demon.co.uk/Jsw/jswed.html
>
> There are two main changes this time, and both are to do with
> JSW64. To be precise, a lot of the JSW64:MM functionality has been
> moved into the main game engine and made available to JSWED.

Wow, thanks for another exciting development! :-)

The inclination to write a JSW64 game myself just got a lot stronger
after reading your message! I'll still want to complete the Kari
Krišníková trilogy (We Pretty, Goodnite Luddite, Afrikaan) in 48K,
and Toy will probably still be 48K to be consistent with Party
Willy. But I might well consider doing Narnia, Star Wars, Radzone,
&c. as JSW64 games; maybe even MM:Masquerade if the riddles are more
than 32*20 characters...

So when can we expect JSW64 to reach gamma-release status? It's
becoming ever more important with several people now planning to
write games based on these engines; JSW64 deserves its own category
in my List of MM/JSW Games.


> Here are the details:
> * All that empty space in Bank 7 now contains two 256x64 images.
> Each can be used to replace the top half or the bottom half of a
> screen (compare the Final Barrier in Manic Miner). You can also use
> the top or bottom half of the title screen for this.
>
> * There are some more guardian types, some of which do some pretty
> powerful things.
>
> Type 8: Skylabs. You can have 'up' Skylabs, or 'down' Skylabs.

Can Skylabs also go either right or left, as in MirrorMM?


> Type 24: Angry Eugene.
> Type 40: Angry Eugene, colour-cycling like other JSW64 guardians.
> Type 56: Angry Eugene, colour-cycling like the Manic Miner Eugene.
> Type 136: Trigger.
> Type 152: Switch.
> Type 168: Opening wall.
> Type 184: Stopper (don't move, don't draw).
> Type 200: Stopper (draw, don't move).

Wow, this is a far cry from the four guardian-types of the original
JSW!


> OK, so what do these weird extra types actually do?
>
> Triggers are the important one. You put a trigger before another
> guardian. It will watch a byte; when that byte goes to zero, the
> trigger is activated. It pokes five bytes into the following
> guardian (byte 0 and bytes 4-7), and then disables itself.

I presume "guardian" here means "guardian-instance" rather
than "guardian-class".

So is the byte to be watched specified as a 16-bit address?


> So, for example, triggers can be used to turn a normal vertical
> guardian into an Angry Eugene; or to change the right-hand boundary
> of a guardian; or whatever.

So are items represented in such a way that a whole byte goes to
zero when they are collected, and switches so that a whole byte goes
to zero when they are turned?


> (at this point, Sendy is probably cursing me because he needs to
> redesign all the rooms in his WIP to take advantage of this).

What's a WIP?


> Switches are, basically, something that triggers can watch. You
> can have one-shot switches (like in MM), toggle switches, or just
> decorative switches that sit there not doing anything.

I've always found one-way switches annoying. It would be cool if you
could turn back the switch in a Kong-Beast room so that the wall
closes up again.


> Opening walls, like triggers, watch a byte and activate when it
> becomes zero. They then remove a segment of the room - 8 pixels
> wide, and arbitrarily high.

So to make a gap of n character-columns, you'd have to have n
opening walls?

Hmm, maybe triggers could be used to activate invalid arrows...


> It's also possible for a trigger to watch a wall, so that the
> effect seen in the Kong rooms can be replicated (wall opens;
> then guardian goes through it).
>
> Stoppers act as a temporary 'end' to the guardian list. Guardians
> after a stopper either don't move, or don't appear at all. So you
> put a trigger before a stopper. When the trigger is activated, the
> stopper is removed, and all the guardians after it suddenly appear
> / spring into life.

Can it work in reverse (making a moving guardian freeze or vanish),
as I seem to remember seeing in Erix1 Mode?


> Things that still *can't* be done without patch vectors are:
> * Kong falling from his perch into the portal.
> * The Swordfish effect at the Final Barrier.
>
> I have not yet updated JSW64:MM to use these facilities rather than
> patch vectors. But I will, Oscar, I will.

Who's Oscar?


Alexandra wrote:
>
> Since you are intervening with the guardian types, is it possible
> to make (a) harmless guardians (act like BG) and (b) guardians that
> act like platforms?

It might be possible to make such guardians by altering the order in
which things are drawn, which is what determines collision-detection.

All MM/JSW games (to the best of my knowledge, and excluding JSW II
and non-Spectrum games) draw objects in the following order:
1. The single-character blocks (background, floor, wall, nasty, &c.);
2. Ramp and conveyor (JSW) or conveyor-animation (MM);
3. The player;
4. Guardians;
5. Items (N.B. in MM, vertical guardians are drawn AFTER the items);
6. Portal;
7. Special objects (e.g. Eugene, Kong, Maria, patch-vector effects).

Remember: if A is drawn before B, then it is B that can collide with
A. Hence the player collides with the blocks, the guardians collide
with the player (or anything with pixels), the items collide with
the player (or anything with white INK), &c.

So if we invented a special dimension of guardian-types that were
drawn BEFORE the player, they would not collide with the player, and
would behave according to the attribute-definitions of the block-
types.

Lifts could be implemented in this way, although you'd have to keep
moving on horizontal lifts (unless they had the same colour-
attribute as conveyor, and even then there's the problem of changing
direction), and of course the player wouldn't move smoothly on
vertical lifts, à la JSW II, without extra coding.

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

P.S. MM/JSW fans should be watching Retro Gamer magazine like a
hawk. I don't have time to go into this now, but Issues #5, #6 and
#7 should all be of particular interest...

 

 

arrowleft
arrowright