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

Author: andrewbroad

Date: 23/02/2008

Subject: Re: JSW64: Flash Manic Miner

 

Daniel wrote:

>
> My MM/JSW-related activities have been "abducted" since the end of
> December by the urge to prove myself in the online Flash Manic
> Miner (http://www.darnkitty.com/manic/index.php). I have just done
> it, I believe - I have passed the second set of MM caverns,
> reaching Cavern 43 (the third in the third set of rooms) and
> achieving a result of over 80000 points, which may be an historic
> record (I can't know that for sure, since I haven't followed the
> high-score table since the introduction of new Caverns in December
> 2005).

I'm nearly sure topofthetree didn't achieve such a high score by
reaching Cavern 40 - unless he constructed his own HTTP-transaction,
of course.


> And it's very time consuming - it takes probably around 45 minutes
> or more to get to the place I have reached, and with so few lives
> you don't get many chances of investigating how to pass the new
> caverns if they present particular difficulties.

That's the benefit of the Spectrum conversion: yesterday, I paused
Flash MM just before each of Caverns 23, 24 and 25 so that I could
practise them in JSW64:Flash MM first, and I reached Cavern 26 for
the first time in my life! It does wonders for calming the nerves,
too.


>> Matthew Gordon told me in an email that there are 20 new levels.
>> They are based on the original Manic Miner caverns, with extra
>> items, guardians, and minor changes to the cell-layout.
>
> Well, he either didn't tell you the whole truth, or he has added
> new levels since.

Wow!

- Do you promise to tell the truth, the whole truth, and nothing but
the truth?
- Sure! In the beginning, God created the heavens and the earth...


> I haven't counted, but this might actually present a challenge for
> the conversion, since I have a feeling there are more than 256
> items altogether in FMM. Many of the new caverns in the second set
> have 10 items each. The first three caverns of the third set
> probably have another 30 items altogether. Yeah, there will
> certainly be more than 256 items in the 60 caverns. Is there any
> way to satisfy that in JSW64? Would it be possible to modify the
> game engine to have 512 items to collect?

Possible, certainly, but pretty difficult and fiddly. It's not just a
matter of doubling the item-table as you can the guardian-class
table. JSW64 maintains the byte-value 256-n, where n is the number of
items remaining to be collected, at #85DE (its initial value is
stored at #85CA, or #A3FF in JSW48/128), and updates it using the
following code whenever an item is collected:

#941E: LD A,(#85DE) ; get current value of 256-n
#9421: INC A ;;;;;;;; add 1
#9422: LD (#85DE),A ; store new value
#9425: JR NZ,#942C ;; 0 means all items collected
#9427: LD A,1
#9429: LD (#85DF),A ; remove Maria

So to have 512 items, it would be necessary to replace the byte-value
256-n with a 16-bit word, and find space somewhere for two contiguous
bytes to hold the current value, and two contiguous bytes to hold the
initial value.

I might try to implement this if I ever get far enough in Flash MM to
need more than 256 items. An alternative would be simply to have
Caverns 21-40 and 41-60 in separate volumes à la MM:JSW.

I have the same concern about future versions of JSW64MM:James Bond,
which has only 69 unused items after "Casino Royale" [20]. Since the
films are only being made at the rate of two a year (it was so weird
waking up on 24th January 2008 to hear on the radio that the next
room I write will be called "Quantum of Solace"), I think I won't
worry about it too much until I actually run out, at which time I
will have to either:
(a) remove items from profligate rooms such as "Goldfinger"
and "Diamonds Are Forever" (I really don't want to have to do this);
(b) implement a patch for 512 items;
(c) split the game into two volumes: the second starting with "Casino
Royale", which does reboot the film-series after all.


> Another interesting technical challenge will be Caverns 29 and 31
> of the second set of FMM: they have guardians passing
> through "inkful" Fire-cells. This could not currently be done in
> JSW64, could it?

It would require changing the model of collision-detection for
guardians, which currently only requires a guardian's INK-pixels to
collide with any INK-pixel that was drawn before it. Possible
solutions:

(a) Change the order in which objects are drawn so that while the
cells' colour-attributes are still written first (so that the player
will collide with them), their pixels aren't written until after the
guardians' pixels (so that the guardians won't collide with the
cells).

(b) Like arrows, horizontal and vertical guardians can only collide
with white-INK pixels. This means that you could avoid guardians by
standing in non-Air cells that don't have white INK.

(c) A horizontal or vertical guardian can only collide with pixels
when its top-left character is at the same cell as the player's, or
one cell away either horizontally or vertically. This could still
result in a guardian colliding with pixels other than the player's
when the player gets too close.

The easy way out would be simply to remove pixels from either the
Fire-cell (possibly using a patch-vector rather than editing the Fire-
cell graphic, or by using a new cell-class; possibly swapping the
Fire-cell's INK and PAPER if this makes it invisible) or from the
guardian (like Darth Melkor chopping the penguins' feet off in the
second cavern of Manic Scribbler - one of the nastier examples of
aesthetics bowing to room-design).

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

 

 

arrowleft
arrowright