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
| Previous message | Next message | |||
| Previous in thread | Next in thread | |||
Message: 6002
Author: andrewbroad
Date: 22/12/2006
Subject: Re: Start-frames for MM-rooms and (not) for portals in JSW64
Glossary (as used in this message):
/sprite/ An image, possibly animated, that is drawn on the screen,
consisting of a pixel-pattern for each sprite-frame of animation.
/sprite-frame/ One of a sprite's pixel-patterns, used in the context
of animation.
/start-frame/ An initial sprite-frame (typically for Willy - also for
vertical guardians in MM).
Daniel wrote:
There is an interesting phenomenon in "Manic Miner", which could
perhaps be reflected in the "Advanced MM / JSW Trainer" (AMJT). I
don't recall it being discussed before, but if it was - please
forgive me the repetition.The thing is that the position in which you enter the portal
(especially by jumping up into it) when completing one room is
reflected in your starting position in the following room.
This is true of JSW64 but not MM, as I will explain below.
I think that it is possible to design a set of two rooms where you
would fall into an IDS trap in the second room if you don't adopt
the right position when finishing the first (preceding) room. It
would be very unfair, of course, but it might be possible to make
it more fair by giving the player a hint (like the room name: "Face
Left to be Successful" or something like this :-) ).
I don't approve of playing-hints in room-names, except in AMJT.
I don't approve of infinite-death scenarios, full stop.
I'm trying to think of a non-IDS way to train portal-posture in
AMJT-JSW64, but it's difficult. Maybe falling onto a non-swinging
rope, where you need to fall past it to collect one item, and land on
the rope to collect another - and the only way to do either is to
(re)enter via the portal.
This works (of course it hasn't been tested yet) because collision-
detection for ropes is pixel-based rather than attribute-based, hence
Willy's sprite-frame as well as his cell-column is significant.
Let me give two examples to illustrate what I mean:
1. In the original "Manic Miner", if you jump into the portal
in "The Warehouse" (016) facing left and from the leftmost-possible
position, you are able to jump over the yellow horizontal guardian
at the bottom of "Amoebatrons' Revenge" immediately after walking
left, as it comes towards you. If your position when jumping into
the portal in "The Warehouse" is not correct, you will not be able
to perform this manoeuvre in "Amoebatrons' Revenge" and will have
to wait for a later opportunity to jump over the yellow HG, wasting
precious time.
This is true of the JSW64 version of Manic Miner, but NOT the
original 48K MM!
As explained in my Manic Miner Room-Format
<http://geocities.com/andrewbroad/spectrum/willy/mm_format.html>,
the original MM stores each room's start-position in Offsets 616-622,
with Willy's start-frame in Offset 617 - this overrides whatever
sprite-frame he entered the portal of the previous room with.
JSW (including JSW64), however, has no notion of each room having a
(statically-specified) start-position (it does store a dynamic start-
position whenever you enter a room, to which Willy reverts after
losing a life). JSW has only a /global/ start-position for when you
start the game - this consists of a room-number and cell-coordinates,
but not a start-frame (which is why, whenever you restart a JSW-game,
Willy starts in whatever sprite-frame he finished the last go in).
In JSW64, it's the portal, not the destination-room, that specifies
the start-position. Since each room can have at most one portal, each
room specifies the portal-destination room-number in Offset #F5, the
portal-destination cell-coordinates in Offsets #F6-F7, and the portal-
destination pixel-row in #F8.
But JSW64 doesn't specify a portal-destination /start-frame/, and is
not, therefore, fully faithful to the original 48K MM. You're not
supposed to be able to jump the yellow HG in "Amoebatrons' Revenge"
at the first attempt!
I think that it would be possible to design a room where you e.g.
begin on a conveyor, which carries you towards a Fire-cell and a
guardian moving towards you (and passing over the Fire-cell), so
that you have to jump over this guardian on the first opportunity,
because otherwise you get killed by the Fire-cell (or by the
guardian itself). You could only perform this manoeuvre
successfully if your exiting position in the previous room were
correct.
But that would be an IDS if you got it wrong, would not it? It would
be grossly unfair to make an IDS conditional on the sprite-frame with
which a player had entered a portal.
--
Dr. Andrew Broad
http://geocities.com/andrewbroad/
http://geocities.com/andrewbroad/spectrum/
http://geocities.com/andrewbroad/spectrum/willy/
| Previous message | Back to the Yahoo! Archive home page |
Next message | ||
| Previous in thread | Next in thread | |||
