Contents
-
Bugs in the MS game logic emulation
-
Bugs in the Lynx game logic emulation
-
Other bugs and misfeatures
Bugs in the MS game logic emulation
-
There are numerous situations in the MS game that cause a moused goal
to be cancelled for which TW will keep trying, or vice versa. A
clearer understanding of how the MS game handles moused goals is
needed.
-
The MS game checks for input more than once per tick. Probably this
was done to catch last-minute keyboard events, but it has the effect
that by having more than one input event in the queue, Chip can, under
certain circumstances, have the latter keystroke processed after he
has moved but before any other creatures move. This is more noticeably
an issue with the mouse, which seems to be processed differently than
keyboard events in the MS game, but not in TW. Level 94 in EvanD1.dat,
unsolvable in TW but not in the MS game, is a dramatic example of
this.
-
In TW, the keyboard is scanned twice per tick, once at the beginning
and once in the middle. As a result, if Chip makes a move at the
beginning of a tick, the game does not update the display twice in a
row (once after the creatures move and once after Chip moves), but
just does it once. I do not believe that this optimization has a real
effect on the gameplay. It does, however, make it easier to examine
the screen when pushing against a force floor.
-
There are a number of miscellaneous emulation bugs. These are
documented more thoroughly in the msbugs.txt
file on the website.
Bugs in the Lynx game logic emulation
-
Under the real Lynx game it is possible to push a block diagonally
without moving at all. This is done by pushing against a wall, and
then pushing diagonally against a neighboring block very briefly. The
block will get pushed, but Chip doesn't follow. This is impossible to
do in TW.
-
Under the real Lynx game it is possible, with carefully constructed
circumstances, for Chip to push a block away from him as it's heading
towards him. That is, a block starts moving into the square that Chip
occupies, but in the same frame, Chip starts pushing the block in the
opposite direction. This is impossible to do in TW.
-
Tile World fails to emulate several situations where Chip starts out
on top of something other than floor, and starts the level without
moving. In the original Lynx game, if Chip is atop water, dirt, a blue
wall, footgear, a key, or an exit, then if Chip doesn't move the tile
takes effect immediately (with Chip dying, winning, or clearing or
collecting the object). Tile World generally has tiles take effect
when Chip enters them. (Note, however, that this is not a universal
pattern: in the original game if Chip starts out on fire, a bomb, or a
chip, then the tile does not take effect until Chip leaves and
reenters.) Unfortunately, the community is loathe to see these issues
addressed, as various user-created levels now exist that depend on the
current behavior. Possibly some of them could be changed without
causing problems, but fixing Chip starting on e.g. the exit or a key
would ruin a few levels in CCLP1.
-
There are a number of miscellaneous emulation bugs, mostly involving
Chip being stuck on teleports. These are documented more thoroughly in
the lxbugs.txt file on the website.
Other bugs and misfeatures
-
TW ignores field 8 entries in the .dat file unless they are exactly
five bytes long. In this case, it simply ignores the field 6 password.
The MS game will remember both passwords and allow either one to be
used (although if both are present it will only show the field 8
password).
-
Tile World does not let you use a password to jump to a level if that
password appears more than once (such as with levels 95 and 96 in the
original levelset). The MS game takes you to the first level with that
password.
-
Tile World does not properly imitate the original game in deciding
when to allow the player the option to skip past a level. The criteria
for this circumstance has not be properly elucidated, for either
ruleset.