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: 5692
Author: andrewbroad
Date: 08/03/2006
Subject: JSWED 2.3.1: Andrew's comments (Chapter 6)
This follows on from Message 5685.
This message revisits Chapter 6 for JSWED v2.3.1 (but using a
printout of the jswed.pdf from v2.3.0), and all the things related
to this chapter that I've been storing up to say since November
2005. It does not repeat the suggestions I already made in Messages
4969 and 4974.
I had already done up to the end of Section 6.5 with JSWED v2.3.0,
so only Section 6.6 onwards is based on v2.3.1.
########################################
Part I: Jet Set Willy (JSW48 and JSW128)
########################################
6 Editing games
===============
JSWED should add proper support for Erix1-mode - and for Geoff-mode
(wraparound guardians are displayed as though they were diagonal
guardians).
--------
6.1 Game
--------
Without repeating my ideas for data-driven patches from Message
4969, I would merely suggest adding a checkbox for the room-number
patch.
6.1.1 Upgrading to 128k / Converting to JSW64
---------------------------------------------
When converting a JSW128 game to JSW64, it should offer the user a
choice of which rooms to convert (at least a consecutive range;
preferably arbitrary pick-and-choose; and all room-exits, teleporter-
destinations and items will need to have their room-numbers fixed).
JSWED 2.3.0 doesn't even warn the user that rooms are being lost
when converting from JSW128 to JSW64!
The one-line reports generated by the conversion-algorithm contain
some bad terminology - notably the term "object" instead of "item".
The non-use of my term /cell-class/ is genuinely confusing in this
section of jswed.pdf - and throughout the document. To quote from
the Glossary I'm in the middle of writing (not yet in a state fit to
upload):
/cell/ A particular 8x8 pixel square within a room's cell-grid,
identified by its coordinates (cell-row, cell-column), and being of
a particular cell-class which determines its appearance and
behaviour. (NB. MM and JSW64 Variant Z can have Custom-cells which
belong to no cell-classes.)
/cell-class/ A class of cells which each room defines to have a
certain colour-attribute, pixel-pattern and cell-type. In MM, JSW48
and JSW128 each cell-class has a fixed cell-type; in JSW64 the cell-
type of each cell-class can be set by the author (globally in
Variants W,Y,Z and [; by room in Variants V and X).
/cell-type/ The behaviour associated with each cell-class, i.e.
whether it's Air, Water, Earth, Fire, Crumbly, Ramp, Conveyor,
Trampoline or Trap.
jswed.pdf uses "cell" to mean /cell/ but sometimes /cell-class/, and
uses "cell type" to mean sometimes /cell-class/ and sometimes /cell-
type/.
The term "global cell type" is particularly confusing: I had to look
in Appendix A to learn that this means a /global cell-class/ whose
cell-type, colour-attribute and pixel-pattern are defined globally
(excuse me if this is explained in a chapter I haven't read yet).
6.1.6 Monochrome
----------------
This patch is usually called "Mono", so perhaps it should be called
that here too.
6.1.7 Jet Set Wibble
--------------------
Why not call this "Upside-down" so that everyone will know what it
means without prior knowledge or having to read the manual?
6.1.10 Fix bug in 'fast JSW'
----------------------------
You might want to change "8300h" to "#8300", &c., seeing as most of
the manual now uses the # prefix for hex-literals :-)
After applying this patch, JSWED still allows the user to edit the
sprite-page at #9F00 without any kind of warning!
-----------
6.2 Message
-----------
I object to the term "Objects Collected message" ;-)
Should be "Items Collected message", because everything is an
object - not just items!
-------------------
6.5 The Room Editor
-------------------
6.5.4 Import and Export
-----------------------
Fantastic! Marvellous! A data-model to represent MM/JSW games of any
format is just what we needed for conversion-purposes, and XML is a
particularly excellent choice because an XML file is a text-file
which can be understood by humans, unlike a binary file! :-)))
One bug, though: JSWED says it's going to save it in C:\Program
Files\JSWED2\, but actually saves it in C:\Documents and
Settings\Broad\. Fortunately I was already alert to bugs of this
kind in JSWED.
Looks like we'll no longer have to worry about selecting the wrong
variant of JSW64 when we create a new game! :-)
I could write another PhD thesis on some of the decisions JSWED
makes when converting between heterogeneous formats (e.g. Fire-2
cells map to Water-cells when converting MM to JSW48), but the
MM/JSW scene has far more urgent needs right now.
A reference to Appendix B from this section would be nice.
I'm so excited by this new development of v2.3.0 :-)))
6.5.5 Room options
------------------
General
-------
It's nice to see the border-colour in the editor now, but it would
be nice to be able to change it with a single keypress rather than
five mouse-clicks, given the importance of cycling through the
border-colours until you find the right one to set off the room.
Cells ("Cell-graphics + Item pixel-pattern" would be better)
-----
I'm very pleased to see that pixel-patterns and colour-attributes
can now be edited together in JSW48/128 games, but JSWED should not
allow the user to edit Item's colour-attribute except in MM (do the
JSW64 formats store colour-attributes for items?).
6.5.6 Guardians
---------------
It really would make more sense for right-clicking in the Guards
panel to bring up the Guardian context-menu rather than the Options
context-menu.
6.5.9 Cell editors
------------------
I've already said that JSWED should allow ramps and conveyors to
wrap around the sides of the screen. It should also allow conveyors
to extend beyond the bottom-right to create ghost-conveyors.
The manual needs to mention that you can place multiple items at the
same coordinates by holding Shift.
{JSWED v2.3.1 installed}
-------------------------
6.7 Start position editor
-------------------------
If you put Maria in the upper half of the playing-area, her lower
cell-row does not appear in the game (it does appear in JSWED).
It would also be nice to be able to have a patch to allow Maria and
the bed to be in separate rooms.
The safe-restart sprite does not {appear in/disappear from}
the "Special Characters" panel immediately after enabling/disabling
the "No infinite death" patch (not that it works, as I said in
Message 4974). You have to close and reopen JSWED first.
"Hello, this is the IT department; have you tried switching it off
and on again?"
---------------
6.8 Font editor
---------------
Clipboard-operations (e.g. Invert) don't immediately update the
character in the list-view - again, I had to close and reopen JSWED
to see the changes.
-----------------
6.9 Screen editor
-----------------
6.9.6 Undo
----------
It would be nice if Ctrl+L worked here.
----------------------------
6.10 The Title Screen Editor
----------------------------
The manual needs to say that this is present only for JSW48 games.
The explanations for "Colours for \ sloping cells" and "Substitute
colour" lack clarity - I don't understand precisely what is meant by
the sentences:
* The four colours which will force a triangle to be drawn which
slopes in the opposite direction.
* The first "sloping cell" colour is replaced with this colour.
And they were as clear as mud until I read...
* All colours not shown here (except black on black) are drawn
as "/" slopes.
...which should therefore be moved to before "Colours for blank
cells" and reworded to accommodate this move.
The term "'slope' graphics" should be replaced with "'slope' pixel-
patterns" (in your terminology "'slope' bitmaps"), as "graphics" to
me implies colour-attributes as well as pixel-patterns.
An on-screen hint that the context-menu exists would be nice.
---------------------
6.11 The Music editor
---------------------
Export saves to C:\Documents and Settings\Broad\ instead of to the
advertised folder.
I tried exporting the cheat-mode tune, and importing it as the in-
game tune (it played the usual in-game tune) and as the title-screen
tune (it played random clicks and beeps). Is JSWED adjusting the
addresses correctly?
JSWED once went into "(Not Responding)" mode when I clicked Test
(without opening RealSpectrum).
6.11.1 The Assembly file format
-------------------------------
This section is too technical for a user-guide; I submit that it
belongs in an appendix (with a reference in Section 6.11 to that
appendix).
-------------------
6.12 The Hex editor
-------------------
> Values that can't be edited (such as bytes which would not beSuch as? What other bytes can't be edited? Only those below #4000
> saved in snapshots) are shown in blue.
AFAIK (and without a Spectrum ROM loaded, why show them at all?
Perhaps JSWED could load a Spectrum ROM at the option of the user,
who would then have to Browse for it, or specify it in the Configure
section of the main menu).
> Page Up / Page Down: Move up/down a page (27 lines) at a time.It's 34 lines now :-)
And the term "page" should be avoided, because technically a page is
a block of 256 bytes whose start-address is divisible by 256 (i.e.
32 lines in the hex-editor).
> Shift+Home / Shift+End: Move to addresses 0 and 0FFFFhShift+Home should move to the first address that can be edited, i.e.
> respectively.
#4000, or for MM/JSW-editing purposes, #8000 (although Manic Miner 5
stores the pixel-patterns for accented letters below #8000; it may
also be desirable to use the hex-editor to inspect the buffers below
#8000 in a saved-position snapshot - not that I can think of a
practical use for this).
Also, you might want to replace the h suffix with the # prefix
throughout this section, and get rid of those nasty leading zeroes.
You can move into the ASCII column with cursor-right, but you cannot
click into it with the mouse.
You can't type spaces whilst holding Shift.
Find should be able to search for ASCII strings as well as hex-
sequences.
An interactive disassembler/assembler would be nice (in a separate
screen, as each line of bytes would vary in length according to the
lengths of the specific machine-code instructions, and with a
mnemonics column in place of the ASCII column).
--
Dr. Andrew Broad
http://www.geocities.com/andrewbroad/
http://www.geocities.com/andrewbroad/spectrum/
http://www.geocities.com/andrewbroad/spectrum/willy/
