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: 6088
Author: andrewbroad
Date: 09/03/2007
Subject: Re: How to tell if a room-exit is reachable
In Message 6014, Sean A. Irvine wrote:
>But that is a very difficult question to answer!
>> Personally, I find it fascinating to ask which rooms connect TO a
>> given room; indeed, having a program to tell you that is very
>> useful when you're trying to ascertain whether a given room (or
>> part of a room) is reachable. That's why I wrote SPECSAISIE
>> RoomReachJSW.
>> http://geocities.com/andrewbroad/spectrum/download/specsaisie.html
>
> I just tried your program. It would be nice to have some
> indication as to what connections are physically possible.
Put precisely, it is very difficult to write a sound and complete
decision-procedure for the problem of whether a given connection is
possible (sound: never says it is possible when in fact it is
impossible; complete: never says it is impossible when in fact it is
possible).
My best suggestion is that JSW-authors should set impossible exits to
point back to the room they're in. This would facilitate writing a
program to find a route from Room A to Room B for JSW-games that
follow this convention (although it could be fooled into unsoundness
by rooms with walls down the middle such as "A bit of tree", or by
intra-room one-way exits as in "The Wine Cellar").
> For example, it is not actually possible to go upwards from theBut by what rule would you conclude that it is impossible? The
> bridge into the Off Licence (well not without some hacking for
> superjumping).
obvious rule - five cell-rows full of Air - is not complete, because
there could be a room which connects to "The Bridge", from which room
it is possible to jump off the left- or right-edge of the screen such
that you hit the top of the screen in "The Bridge"!
> Previously, I wacked up my own little bit of (Java) code to knockJust because the leftmost (rightmost) column of a room is full of
> out a few of the obvious impossible links (e.g. because of
> walls/killers in direction,
Earth-cells, doesn't mean that it is impossible to go left (right).
You could end up in that Earth-column by exiting another room, and
then go left (right).
You cannot exit a room through a column of Fire-cells, but you /can/
enter it through such a column!
> or complete floor on the bottom,But it could be possible to go down by jumping through an ILB, or if
the superjump-bug causes Willy to become vertically misaligned.
> or too many completely blank rows at the top).Does your code check for ropes? Lifts? Or the rope-teleport bug which
causes Willy to be teleported to the room above?
What about a rope so long that Willy can go off the bottom of the
screen on it? You would think that it would take you to the room
below, but instead it takes you to the room above!
(Note to self: that's another one for my Quirky Features page and
possibly AMJT.)
> I can send you my code if you like.Yes please!
--
Dr. Andrew Broad
http://geocities.com/andrewbroad/
http://geocities.com/andrewbroad/spectrum/
http://geocities.com/andrewbroad/spectrum/willy/
