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

Author: andrewbroad

Date: 27/12/2005

Subject: Re: Manic Person / Item-sound in MM / Filters

 

Alexandra wrote:

>
(Re. Easy Mode)
>
> I thought just thinning the enemies would be enough but the odd
> crumbly-> water conversion might be in order.

Two suggestions for "Innocent-Looking Clocks" [11]:
* (7,3)
* (11,7)

?##...+...|!|.....+?!!?|........
?##.......?!?$.....||?|.........
|.........|?||___...............
?.......|....$...........||.....
|.*...*.......|..|---__--?......
?-----------__...?.......|-----|
|$...............|.|...........?
?__-......|..__..?.............| Row 7
|...........*....|----!------__?
?--------------..?...$|........|
|................|?|?|?.....__$?
|......-__.......!.......__....| Row 11
?.........*......!.......*..*..?
|__..<<<<<<<<<<<<<<<------..|??|
?.......................?!!!
|?|?|?|?|???|?|?|?|?|?|?|?|?|!!!


>> It would be nice if Manic Person and all subsequent MM games could
>> use the JSW item-sound patch (see TECHNICA.TXT of _Manic Miner:
>> Neighbours - Allana Truman_). Yes, it would make "Missing
>> Something?" [12] easier, but invisible items are frustrating
>> enough as it is without being able to hear them.
>
> I will try to apply it. I forgot it even existed. It would be a
> cool effect as I've always liked that sound.

Nowadays it's probably faster to type it into JSWED's hex-editor
than to faff about with POKEs and copying a block of memory from one
TAP file to another.

So here is the patch to make the Bug-Byte edition of Manic Miner
make the Jet Set Willy item-collection sound:

__________________8F86: 52 93

______9352: 3A 73 80 0E 80 D3
9358: FE EE 18 5F 3E 90 91 47
9360: 7B 10 FE 0D 0D 20 F0 C3
9368: FE 90


>> In the scrolly, "colour-cycling items" would be a more accurate
>> term than "flashing objects".
>
> I'll try but it may not fit.

"flashing items" or just "items" then.


>> In some of my games, I have filters in the BASIC loaders that can
>> be applied to deal with potentially offensive graphics.
>
> I would have to rely on someone else for that, aside from releasing
> 4 versions.

Method:
1. create the variant;
2. use SPECSAISIE Compare to determine the differences between the
master version and the variant, i.e. the POKEs that need to be
applied to the master version to generate the variant;
3. edit the BASIC loader to apply these POKEs.

Example:
150 INK 7: PRINT '"If you are liable to be offendedby sexual
graphics, please press"; FLASH 1;"A"; FLASH 0;" to airbrush them
out."
160 PRINT #0;AT 1,5; FLASH 1;"PRESS ANY KEY TO START"
170 LET a$=INKEY$: IF a$="" THEN GO TO 170
180 IF a$="a" OR a$="A" THEN GO SUB 240
190 RANDOMIZE USR 33792
200:
210 REM ***
220 REM * AIRBRUSHING *
230 REM ***
240 PRINT AT
11,0;"Airbrushing
";#0;AT 1,5;" "
250 FOR a=52880 TO 52911: POKE a,255: NEXT a: PRINT AT 11,11;".":
REM Room 7 portal
260 FOR a=53056 TO 53119: POKE a,PEEK (a-64): NEXT a: PRINT AT
11,12;".": REM Room 7 falling Kong Beast
270 FOR a=58000 TO 58031: POKE a,0: NEXT a: PRINT AT 11,13;".": REM
Room 12 portal
280 FOR a=61967 TO 61982: POKE a,32: NEXT a: REM Room 16 name
290 PRINT AT 11,0;"Airbrushed version"
300 PRINT #0;AT 1,5; FLASH 1;"PRESS ANY KEY TO START"
310 PAUSE 0
320 RETURN

In this example, I used FOR-loops to blank out whole sprites, or to
copy a block of data (Line 260), rather than individual POKEs. As a
matter of fact, I manually calculated the addresses which needed to
be changed, rather than using SPECSAISIE Compare.

Let's say you wanted a game to vary in n ways, e.g. an easy variant,
a variant for alternate colours, a clean variant, and a perpetual-
motion variant (n=4). This means 2^n (2^4 = 16) possible variants,
but by incorporating the changes into the loader, you only need to
release one version.

If one variant has too many changes to be hassling with POKEs in the
loader, then it's justified to release both variants as separate TAP
files (as is the case with Expert Mode and Easy Mode). But minor
variants should be coded into the loader.


>> [0] "Hoping for Frequency": Aww, one fewer Fire-cell than the
>> 20th June 2004 revision! :-(
>
> I may put it back in, then. It was that one near the end of the top
> platform I think.

It's the one at (6,14) in the 20th June 2004 revision:

|$...............|||||||||||||||
|.................!.!.!.!!.!..$|
|..............................|
|........+.............|
|....................<<<<<<<<<<|
|__.........................___|
|$........*...*...*.........***| Row 6
|____....----------------___---|
|.............$.......!......!!|
|*.*......................___..|
||||...........................|
|##|.....|_________|.......___$|
|##|....||.........||..........|
|......|||.........|||......___|
|.....||||.*.*.*.*.||||......*.|
|----|||||||||||||||||||-------|


>>> Notice how the solar beam wraps around the screen sometimes!
>>
>> Yes - an interesting effect yet to feature in a gamma-release
>> TTBOMK.
>
> Right. Now someone just needs to come up with an actual use for the
> effect ;)

Um... to hurt the player when (s)he's to the right of the solar beam?


> Re: the spelling and grammar, I'm getting a program with a decent
> spellchecker to eliminate these problems.

Iv ay wosnt, confydant wiv may speling en grammer; ay wood yooz
Microsoft Words grammer-czech. Butt itt faynds, nuffing rong wiv
speling "its" az "it's"! ;-)


>>> If you're having trouble, here is a hint: hitting overhead fire
>>> blocks is safe if there are earth blocks beside them, since the
>>> collision in MM/JSW seems to favour the earth over the fire in
>>> these situations.
>>
>> Think of it this way: the Earth-cell prevents you jumping up
>> higher and colliding with the the Fire-cell.
>
> It's true. But it's odd that fire embedded in earth from above has
> a much more strict collision (you can't come near without getting
> zapped). I guess you could argue that the latter has gravity
> involved.

If you fall or walk onto a Fire-cell, it's as though there's an
extra two pixel-rows of fire above the cell itself. So if you have
an Earth-cell horizontally adjacent to a Fire-cell, it can't block
you colliding from above with the Fire-cell.

Technically, there's a little subroutine that is called six times
every time-frame: for each of the four cells Willy is currently in,
and for the two cells directly beneath him (during a jump or fall,
Willy is most of the time in all six cells at once).

This subroutine first checks whether the cell is Air: if it is, it
sets its INK-colour to 7 (white) - unless it's one of the cells
under Willy's feet when he's occupying only four cells.

Then it checks whether the cell is Fire, and kills you if it is.
I've already disassembled this part of the subroutine in Message
5326 (re. harmless Fire).

So, you see, this subroutine is called for the two cells under
Willy's feet, but not for the cells above his head.


> I wanted to include a little trainer game, but ILB's and
> crumble-protected items are the only real quirky features that need
> explaining - other things such as jumping up on a conveyor can be
> felt and reasoned out through the game engine, and the more
> advanced block-based quirky features aren't supported in MM.

Unless you use POKE 36032,0, which makes Earth-cells behave just
like they do in Jet Set Willy (see Message 4620 for more of these
POKEs).

I plan to write a trainer-game myself at some point in the future.
I'll make it JSW64, as that now covers almost all MM/JSW features -
the notable exception being what happens when you walk off the edges
of the screen in MM (although even *that* should be patch-
vectorable).


> What I may do for MP is just include a visual instruction on how to
> do it.

Without making the .zip file too large I hope! ;-)


[17] "The Dungeon of Erotic Punishment":
>
> Did you think the lack of a non-animated 2nd conveyor in both
> versions was OK, Anrdrew? I liked the way it made the upper right
> of the room really intense but the visual (and the way the water
> stops just short of a pit of fire with no visual clue as to why)
> was just killing me. :)

I wondered why I was having much less difficulty with this room than
I did in the 20th June 2004 beta! ;-)


>> [18] "Pudding": Three different colour-schemes, with Expert Mode
>> and the 20th June 2004 revision both looking better than Easy
>> Mode, but it's difficult to say which of the first two is the more
>> attractive version of this beautiful room.
>
> You prefer the yellow and cyan check to the black and white check?

Yes. It fits the theme of the room much better.


>> Isn't it annoying that, with the MM/JSW community having adopted
>> the Greek four-element terminology, "air" now has two completely
>> different meanings in MM and JSW64?
>
> It's usually easy to spot the difference because of the context,
> but we have plenty of other options for cell terminology. I always
> liked Geoff's but now I can't remember it, aside from Plasma for
> Fire.

Gas, Liquid, Solid, Plasma,
Stair, Conveyor.
<http://www.cix.co.uk/~morven/jsw/geoffmode.html>

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

 

 

arrowleft
arrowright