Jump to content
Jet Set Willy & Manic Miner Community

Why was Manic Miner never properly optimised?


Recommended Posts

Apologies to the original person who modified Matthews code. (see below)


Last week I wondered why Manic Miner has been left languishing as a little used format for code change. It seems the vast majority of game edits use the 64 room game version of Jet Set Willy as the basics for new games, and Manic Miner seems to have, in the main, been ignored.

The limited scope of Manic Miner might be the reason, just 20 caverns, whilst JSW manages a max of 64 (on a 48k zx spectrum)


I wondered if it was or would be easy to write a piece of code that compacted the game slightly. I personally have no need for such gimmicks. If I need more space, I will just rewrite the code. A quick rewrite as demonstrated in Manic 40 Miner takes very little effort. But I task myself with just writing code for the sake of writing code so, how hard is a universal compaction piece of code for Manic Miner?


The answer is it took me a couple of hours to write a routine that compacted the game. It was at that point I delved into archives looking for versions to try my code on. That was when I discovered that the great multitude of Manic Miner versions I wanted to test my code on did not exist.  

I modified Matthews original code with no problem.
I modified some other version - but that had no need of the addition I added (e.g. the font change)
I knew of a recent listed modification of Matthews Manic Miner and that was used as a basis for demonstrating what the code I wrote could do.


The version I decided to modify was Manic Person (human Version).

So included here is a demonstration of the game -- Manic Miner -- Modified by a simple (for me) piece of code that does basic code modifications to the game.

The demo does go a bit further and uses the freed space. The text added is deliberately long winded --- (it is just a demo of what can be done)

The included demo - will be deleted in a week. It is NOT a version that is available for general public release. 

 

and has now been deleted -----  New code has been added (see addendum)- the new code is just the original Manic Miner

 

Let the demo play through to the final cavern and on---


Ending the post.
The universal code I wrote is in a format that will modify the basic code of Manic Miner and then return to Basic or Enter the modified game code and play the game.
That code is not included here.

The big question I ask myself is. Why has no one bothered to do this simple task? As stated elsewhere the code took just a few hours.


ADDENDUM.
Since this was missing a file demonstrating what I was talking about.  A non edited version of Manic Miner has been run through my optimisation routine.
Wait until the end of the 20 caverns to be displayed in the demo mode.  THE text is in addition to other optimisations that have been performed. Note - this program has not been edited to fix any other code- so the pause bug and any other original problems, may still exist.
 

 

MANIC-C.TAP

Edited by Norman Sword
Being chased by a robot.
Link to comment
Share on other sites

I think its party as there are tools (JSWED in particular) that allow the creator to redesign with relative ease, coupled with the disassembly itself even for those with extremely sparse Z80 knowledge , small modifications are relatively easy.

What I would like to see and something I have thought about a bit in the past is a new "core" using LDI and other optimisations for increased speed, coupled with a disassembly of it, allowing the end user to modify.

There's more I would like to add. 🙂

Link to comment
Share on other sites

My intuitive reply to the question that forms the subject of this thread - "Why was Manic Miner never properly optimised?" - would be: because people who would have been able to do it were not interested, and people who may have had interest in doing it were not able to.

 

On 2/1/2024 at 4:35 PM, Norman Sword said:

Last week I wondered why Manic Miner has been left languishing as a little used format for code change

Not sure if by "code change" you mean any change to the game (including modification of room and guardian data) or to the game engine.

 

On 2/1/2024 at 4:35 PM, Norman Sword said:

It seems the vast majority of game edits use the 64 room game version of Jet Set Willy as the basics for new games, and Manic Miner seems to have, in the main, been ignored.

That depends. On the list of games on JSW Central  which I try to keep as up-to-date as possible, sorted by the game engines used, there are currently 22 MM games, 55 JSW48 games (plus 6 "advanced modifications" of the original and 5 "artistic modifications"), 18 JSW128 games and 24 JSW64 games, not counting those games that use completely different game engines.

So the new JSW48 games account for less than half of newly created games (against the ones using the MM, JSW128 and JSW64 game engines), while at the same being the most numerous individual group of games. On the other hand, since more than 20 new games have been created using the traditional MM engine, I would not say that MM has been ignored.

 

On 2/1/2024 at 4:35 PM, Norman Sword said:

The limited scope of Manic Miner might be the reason, just 20 caverns, whilst JSW manages a max of 64 (on a 48k zx spectrum)

I'm not saying it's not the reason, but, honestly, I think the reasons are much deeper/wider than the number of caverns/rooms the game engine offers. If someone wants to create a new MM or JSW game, the initial question really will be (supposing both could be created equally easily): do I prefer to create a MM game or a JSW game? With all this entails, i.e. the gameplay, the freedom to move around the game or not, the time constraint or lack thereof, etc.

The (128K) JSW64 game engine allows one to create a game - if one chooses to do so - that would play exactly like MM, but could have up to 64 or even up to 128 rooms/caverns (depending on the variant of the JSW64 engine used). Some games have been created using this engine that play exactly like MM (except for the ending, perhaps), for example the the DrUnKeN mAsTeR!!! "Clopit!" or Andrew Broad's "JSW64 Manic Miner: James Bond". However, "Clopit!" only has 12 rooms which are 'proper' MM-type rooms, and "JSW64 Manic Miner: James Bond" v. 1.1 only has 22 such rooms. So even though the JSW64 game engine (using 128K) allows to have up to 128 MM-type rooms in a game, these authors only used a fraction of that number, and I believe no-one has so far released a JSW64 game where the number of MM-type rooms would exceed 30 (even though the game engine allows up to 128 of them).

So perhaps it's just that people generally prefer creating JSW-type rooms/games to creating MM-type rooms/games. Or a mixed kind, but with a numerical predominance of JSW rooms.

 

On 2/3/2024 at 12:21 PM, Spider said:

I think its party as there are tools (JSWED in particular) that allow the creator to redesign with relative ease, coupled with the disassembly itself even for those with extremely sparse Z80 knowledge , small modifications are relatively easy.

 

On 2/3/2024 at 2:22 PM, Norman Sword said:

JSWED has NO optimisation of code/data space in Manic Miner. It is a very simple data editor. So my statement still stands.

 

IMPO, there is no need to mention JSWED in response to the question "Why was Manic Miner never properly optimised?", because it is unrelated. It is true that JSWED has no optimisation of code/data space in "Manic Miner". So it is unrelated to the original question.

However, since it has been mentioned, and since it may be more relevant to the question of why people have created more games of one kind or another, or why people have created new games using an editor instead of modifying the code themselves, I feel I need to point out the following:

JSWED is a great tool. It allows a person who has no knowledge of coding/programming whatsoever to create (on a PC) new Spectrum games using a number of game engines, both in 48K (the original MM, JSW and JSW II game engines as well as some variants like Henry's Hoard, Softricks modifications, Geoff Mode, etc.) and in 128K (the JSW128 and JSW64 game engines). This is a wonderful thing - it allows people who don't have a clue of how to modify the code create complete, brand new games. And many of them are of fantastic quality. I don't want to single out any particular one right now (for the sake of political correctness 😉), but there are some really great games out there created with JSWED, beautifully made and a joy to play.

These games probably would not have been created if JSWED had not existed. So in that sense JSWED has played a huge role in the "JSW revival" and the development of the scene of fan-made games. Of course it's not the only editor out there, but it's pretty much the only one you can use on a PC. It's got a GUI that works very well, it's easy to use and user-friendly (IMO). And it's entirely free.

Saying that "it is a very simple data editor" - while possibly true depending on one's point of view - does not seem to do it justice. Which is why I'm defending it 🙂 .

Now, it all depends on the point of view, of what one values. I personally place the most value on new games that have been created - NOT small modifications of the original MM or JSW, but entirely new games, with new rooms, graphics, guardians, etc., which use the excellent game mechanics of the original or modified MM/JSW game engines, but present something new. Personally, I don't care if these games have been created using an editor or by manually changing the code/rewriting the game engine. For me, the player is the ultimate judge. From my perspective, games are created to be played. If the player likes, enjoys and appreciates a game, this is the most important thing. From my point of view, nothing else is as important as the player's experience. And players probably don't care how the game was made, they just want to enjoy the gameplay.

Now, if someone places more value on the code being optimised/improved/rewritten/written anew, obviously games using editors, including JSWED, will have limited value for them. I can imagine that in this case, when it is the beauty/novelty/efficiency of the code that matters rather than the beauty of the game when played, any game with modified code may have more value than the best games made using editors. I understand and respect that, although I have a different point of view. People value different things and judge things, including games, accordingly. That's the way it is.

And the last thing. I do admit that having optimised, improved, overhauled game engines based on MM and JSW would be a great thing and a very welcome development - so thank you for creating all these optimisations and mind-blowing technical novelties, Norman Sword! I would even admit it's more riveting to have them in good old 48K rather than 128K. However, this is not enough. It's not enough to write such a streamlined, optimised game engine (or two). To be truly great, they need an editor like JSWED, a PC-based, free editor that would allow anyone interested, including people who have no programming knowledge whatsoever, to make new games using these newly-created, optimised game engines. Only then could the scene really take off to a new level, with people creating games based on these new game engines with a PC-based editor.

So my ultimate dream would be Norman Sword-optimised game engine(s) coupled with a JSWED-like editor for them. Will it ever come true??? 😉

Link to comment
Share on other sites

13 hours ago, jetsetdanny said:

My intuitive reply to the question that forms the subject of this thread - "Why was Manic Miner never properly optimised?" - would be: because people who would have been able to do it were not interested, and people who may have had interest in doing it were not able to.

 

Which is my understanding of the problem.

I will ignore the rest because it evolved into criticism of the journey I undertook to write the code. Followed by Defending a program that was not criticised. I simply made a statement in response to Spider extolling the said program..... It does not optimise MM and is just a simple editor. The same as I write this text in a simple editor that does NOT optimise MM.  ---- Show me where that statement criticises the text editor I am using to write this text? 


 

Link to comment
Share on other sites

On 2/5/2024 at 9:10 PM, jetsetdanny said:

The (128K) JSW64 game engine allows one to create a game - if one chooses to do so - that would play exactly like MM, but could have up to 64 or even up to 128 rooms/caverns (depending on the variant of the JSW64 engine used). Some games have been created using this engine that play exactly like MM (except for the ending, perhaps), for example the the DrUnKeN mAsTeR!!! "Clopit!" or Andrew Broad's "JSW64 Manic Miner: James Bond". However, "Clopit!" only has 12 rooms which are 'proper' MM-type rooms, and "JSW64 Manic Miner: James Bond" v. 1.1 only has 22 such rooms. So even though the JSW64 game engine (using 128K) allows to have up to 128 MM-type rooms in a game, these authors only used a fraction of that number, and I believe no-one has so far released a JSW64 game where the number of MM-type rooms would exceed 30 (even though the game engine allows up to 128 of them).

I would just add that, in relation to Andrew Broad's 'JSW64 Manic Miner: James Bond' game, the determining factor for the number of caverns was the number of (canonical) James Bond movies that had been released at the time of the game's publication.  (Each cavern being dedicated to a single Bond movie, in chronological order.)

The original version (1.0, released in 2007) contained 21 caverns, the last one being 'Casino Royale' (which was the most recent movie at that point, having been released in 2006); the game was updated with version 1.1 in 2009 to include an additional cavern 'Quantum of Solace' (film released in 2008).

In the readme file released with v1.1, Andrew Broad said: "I plan to extend my game as future Bond-films are released. At the time of writing, Bond 23 is due in cinemas in 2011, so that will be added in v1.2" [However, in reality the next movie wasn't released until 2012, followed by two more in 2015/2021, and no further versions of Andrew's game have been released to date to incorporate caverns covering those movies.]

So in the hypothetical world where more than 30 James Bond films had already been released prior to 2007, Andrew would probably have taken the opportunity provided by the JSW64 game engine to create a MM game containing more than 30 caverns from the outset.

Link to comment
Share on other sites

13 hours ago, Norman Sword said:

I will ignore the rest because it evolved into criticism of the journey I undertook to write the code.

My reading of Danny's post wasn't that it was a criticism of your endeavours, more of a lament that it isn't (currently) presented in a more accessible format that would allow people to create games using your nicely optimised MM engine with ease.

I do seem to recall you releasing a version of Manic Miner with a fairly user-friendly in-built editor? But that was incorporated within the 48KB of the game itself, if I recall correctly, which I guess limits the amount of additional caverns that could be included within the 48KB memory limit? Danny is suggesting (perhaps as a pipe dream, but I believe in a positive, non-critical spirit) that someone [else, if not yourself] might at some point create an editor which runs on a PC or other similar platform, incorporating a user-friendly GUI, and into which 48KB MM game files (optimised as per your recent upload) could be loaded and edited by Joe Bloggs.

Link to comment
Share on other sites

14 hours ago, Norman Sword said:

I will ignore the rest because it evolved into criticism of the journey I undertook to write the code.

Where is that criticism? I don't see any in my previous post. Quite to the contrary, I said, "I do admit that having optimised, improved, overhauled game engines based on MM and JSW would be a great thing and a very welcome development - so thank you for creating all these optimisations and mind-blowing technical novelties, Norman Sword!"

 

14 hours ago, Norman Sword said:

I simply made a statement in response to Spider extolling the said program..... It does not optimise MM and is just a simple editor. The same as I write this text in a simple editor that does NOT optimise MM.  ---- Show me where that statement criticises the text editor I am using to write this text?

I would not say Spider was "extolling" JSWED in any special way. He wrote: "I think its party as there are tools (JSWED in particular) that allow the creator to redesign with relative ease (...)" (the rest of his sentence referred to something else). So he only stated that (rephrasing his sentence) "JSWED allows the creator to redesign with relative ease". It's just a statement of fact. It's true. JSWED does allow to redesign a MM or JSW game with relative ease. If someone did not agree with this, they would have to claim that JSWED does *not* allow to redesign games with relative ease. But such a claim hasn't been made.

Irrespectively of how we qualify Spider's words, though, I would strongly support Spider and anyone else actually extolling JSWED, because I believe it has played an extremely significant role in the "JSW revival". It is a historical fact. It made it possible to create JSW, and later also MM games, for people who wouldn't have been able to create them otherwise (unless they were using another editor). It doesn't even matter if it's a good program or not. I believe it's good (functional, easy to use, user-friendly, etc.), but even if it wasn't, this wouldn't diminish its historical role over the years in the development of the MM/JSW editing scene. It has been there for a long time, available to anyone interested, and many people have created MM/JSW games thanks to it. And they are still doing it. And for some of them it has been a fulfilment of their dreams. This is a wonderful thing.

I am speaking from my personal experience. When I started creating my first JSW game back in 2004, the original edition of "Willy's New Mansion", I was only able to do it thanks to using JSWED (it was version 2.0.3 back then). I definitely wouldn't have been able to create a JSW game (or modify the original JSW in any way) without an editor back then (and the older Spectrum-based editors I had had a look at were no good for me in comparison with JSWED; I wouldn't have used them). So if it hadn't been for JSWED, I wouldn't have become interested and then hooked up on creating these games. I wouldn't have joined the scene. It is very true to say that I am here because of JSWED (not only because of it, but I would say I wouldn't be here today if back then I had not started creating JSW games using JSWED).

I still use JSWED for my JSW projects, also nowadays, when I'm able to add some custom modifications of the code (thanks to the extremely limited knowledge of the Z80 assembly I have acquired over the years). I perceive it as an indispensable tool. I understand it is not a tool at all for you, Norman Sword (you don't need it), and it may not be a tool for some other people who are as brilliant as you at coding (if there are any such people around 😉), because they wouldn't need JSWED either. But it *is* an indispensable tool for others, who want to  create JSW games but wouldn't be able to do so by coding. And I believe this is something that calls for deep respect.

Please note that I do believe that other things call for respect as well. I respect and deeply admire your ability to write code that is so much better than the original code Matthew Smith wrote (in terms of achieving the same or better results while using less memory, working faster, introducing novel elements, etc.). I believe your ability to code is awesome and admirable.  I also greatly appreciate the fact that you explain parts of the code you write and offer it for others to use. This has been very helpful also in my personal experience, for various projects I have been involved in in recent years, and I am grateful to you for this.

 

Now, just to explain my "defence" of JSWED. I guess it all depends on the context. I previously wrote, "Saying that "it is a very simple data editor" - while possibly true depending on one's point of view - does not seem to do it justice." I believe the word "simple" can sometimes carry negative connotations, particularly if it's used in a dismissive or belittling manner. Saying something is "very simple" can imply that it's too basic or unsophisticated, which might be perceived as negative depending on the context. If you did not use it in a dismissive way, then my "defence" was not needed.

However, one could probably argue about the use of the word "simple" here from another perspective. In what way is JSWED "simple"? If you compare it to other existing editors, I think it stands out by the number of functionalities it offers. You could define an editor as "simple" because it can only allow modification of one game engine (MM or JSW or another one, but one only). You could define an editor as "simple" because it only allows to modify the room layout, but nothing else (not the guardian paths or sprites, for example). You could probably find some examples of MM/JSW editors being "simple" in this sense, but JSWED would beat them all, as it allows to modify various game engines (MM, JSW48, JSWII, JSW128, JSW64 and some of their variants) and to modify enough elements of the game (using its GUI) to create a "product" that most people would perceive as a new game (not just a version of the original MM or JSW). Is this "simple"? Anyone can decide for themselves, I guess.

And one more thing, going back to your example "The same as I write this text in a simple editor that does NOT optimise MM." Why should a text editor optimise MM? That's an unreasonable expectation. As such, whether it optimises MM or not cannot serve as a basis to judge whether it's simple or not. Its ability to modify MM or lack thereof is irrelevant to the evaluation of its simplicity.

I guess you are correct *if* you perceive JSWED as a "simple" editor *because* it does not optimise MM. But this makes sense only if you *expect* an editor to optimise MM. Then the judgement about the "simplicity" of an editor can indeed depend on whether it optimises something or not. But the underlying assumption - that it *should* optimise MM or whatever - is very questionable. It all depends on whether one expects the editor to optimise the code or not. I don't see a compelling reason why it should (it would be useful if it did, but I don't see any problem if it doesn't, provided it performs well its main function - allowing people to edit games easily).

Link to comment
Share on other sites

26 minutes ago, IRF said:

So in the hypothetical world where more than 30 James Bond films had already been released prior to 2007, Andrew would probably have taken the opportunity provided by the JSW64 game engine to create a MM game containing more than 30 caverns from the outset.

Yes, that's correct. "JSW64 Manic Miner: James Bond" is not the best example to consider, because its number of rooms is indeed specifically conditioned by the output of the movie industry.

Having said that, the reality - and my main point - is that people have not been creating MM-style games with significantly more than 20 rooms/caverns even though, for many years now, they have had the possibility of doing just this, using one of the JSW64 game engines and JSWED. And this, I believe, suggests that it is not the 20-rooms-only limit that has prevented people from creating more MM-style games, but rather some other factors.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.