Jump to content
Jet Set Willy & Manic Miner Community

Norman Sword

Contributor
  • Posts

    608
  • Joined

  • Last visited

Everything posted by Norman Sword

  1. Completed - but I will wait till Decmber 1st 2021 to release version 1. The game has all the rooms of jsw and all the graphics and sprites of jsw. The game has all the rooms and all the graphics and room sprites of Manic Miner, plus the usual kong/lightbeam skylabs and portal graphics. Even includes the final Barrier Graphics The are around 166 items to collect, and around 190 guardians paths defined. Runs very fast so the music is extended in note length to slow it down slightly. -Some thing had to go , So this will not include the piano graphics and Manic Miner tune, or the full manic miner title screen.
  2. Soon I will show the combined game of Jet set Willy and Manic Miner running in the same 48k. This was not an easy challange, the games are different enough to cause problems with data compaction. The various paths I took mostly ended with a versions that crashed. One path which looked promising had unknown to me a major flaw, which when it was discovered. Needed me to backtrack two complete versions to remove the flaw. So interesting to write - but a lot more effort than I wanted to undertake. Whilst I have the game running and can play jsw or Manic Miner It is the program flow that I am changing. So it will play both, but slightly different, I plan on changing the overall design and purpose. (not a great deal) The program has to pass my own criteria of completed, so it could be days or weeks. So watch this space...
  3. My take on the saga. Chronology for Manic Miner The game was written for Bug Byte - Bug Byte was licenced to reproduce game and produce Bug Byte specific Manic Miner art work Game Modified before Matthews 18th Birthday. To include Software Projects graphics Matthew on reaching age 18, becomes a Director Of Software Projects. Licences Software projects to reproduce game and produce Software Projects specific artwork for Manic Miner. Alan Maton becomes very concerned about software piracy after watching JSW being copied before release. JSW has the copycard code inserted. ----------------------------------- Since the game Manic Miner is not updated to include the copycard and its code. It is not (codewise) revised whilst Matthew is a director of Software projects, and therfore NEVER becomes a game written or part written by Matthew as a director. This Implies that 100% ownership of the game is/was still accredited to Matthew Smith., and was never a part of software projects assets. Continuing - this also implies that Tommy Barton could NOT have bought the asset to clear debts from Software Projects, because it was not owned or part owned by software projects. Thankfully because the copycard code was never inserted into the game.
  4. Tape loading on the cpc 464 for JSW When a block of data is read from a tape the header block sends a sync byte designating the header and the data sends a different sync byte to designate the data. The header has a sync byte of #2c and the data has a sync byte of #16 For JSW the sync byte is used to describe the position of the data. So all blocks of data have a differrent sync byte. This allows for bad data blocks to be reloaded, (with a message) and not have to resort to loading the whole tape again. If I remember correctly the data is also loaded in block by block in reverse order, starting at high memory and loading each block at a lower memory address from the previous block.
  5. There is an update. Needed to circumvent another piece of the original data. All rooms are numbered 0 to 63. Due to the way the original code uses or #c0 the top two bits are set to arrive at the room base address. My code does a simple calculation and indexes into an address list. Every room has data that follows the same format of being under 63 for the up/down/left/right exit. That is until we arrive at the corrupted data in the normally unreachable rooms. Matthews code does not care what data it is given it will always arrive at a room number that is effectively from #c000 to #ff00 stepping one page at a time for all 64 rooms. My code however will calculate the room number as defined and unfortunately due to the corrupt rooms will calculate the position of junk room data. A bit like the arrow problem. Once an illegal room has been visited, the game goes eh up sgshd egfgf noxt roosm. etc. The update to fix the room problem also added updates to stop speed flicker/judder by inserting an optional frame sync. Which might be unobtainable on some keyboards. Due to the inability to properly scan multiple key combinations. --- Can/could switch the option, to <on> by defalut. At present it is <off> by default. Or I can change the key combinations or reduce the key combinations to only 2. --- At present set as <A> <S> <D>, which will also invoke pause. The screen will indicate that those keys are being pressed.(during game play) The status indicator for the sync being active or inactive is the colour of the letter <I> from the line <Items Collected ... The colour is normaly the same as the end of the same line (blue) . When frame sync is active the colour will change from blue to Magenta. A side effect of frame sync is a reduction in speed. So typically the speed goes from slowest (music + frame sync) 14.4 medium (music) 13.28 fast (no music+ frame sync) 12.7 fastest(no music+ no frame sync) 11.08. The timing is my standard double room walk. The change in speed is the effect of rounding up frame times, when sync is applied. In some rooms it will seem to have little effect in others it will drop the game speed noticeably. No graphic change to the program. Although the method of storing the room data has been changed. ------------------------------------ I spent a day writing a visual display of how I plan on compacting the data further. This program has the output files that it creates deleted. All 3 files need to be in the same directory. The two data files are the data files generated by 1) the key data 2) all 64 rooms .eg.g JSW from #c000 to #ffff. This show the data being compacted by over 50% - Not quite good enough for what I want. This has been posted before I have had the chance to append any files. The files will be appended one by one The picture shows the output of the program. (all values in hex) 1) the numeric value of each tile 2) the graphic output 3) Item positions (in pairs) the first value is the offset from the start of the room, the second value is where the data is in the key table above 3) is the count of each tile (in present room) data at the end of the line is the new compressed tile index and the graphic colour 4) present sprite data 5) each tiles index as generated by checking previous room data 6) the list of acquired data - in colour if being a tile drawn in current room 7) vertical compression/ horizontal compression/ stored count/original Lots of other data concerning compaction of room names etc. MW-V1-1a.tap n_rooms2.zip
  6. Concerning the version for Minors I'm glad it was not just me that found the level of difficulty too hard. Unfortunately the amount of editing from the original is very little. This is basically a graphic edit, with the rooms partially redrawn and some sprites removed. The sprites that are edited (movement path) are not edited a great deal. The problem is this needs a routine similar to the routine I added to Manic Panic, where the instant death routine is turned off, and the air bar is depleted. Until that simple modification is incorporated this will always be difficult. Having watched people play Manic Panic (adults) it is evident that the death on contact for the casual player is a great turn off. For example in modern games I play some of the combat games, where you play trying to take out terrorists etc. I play mainly to gawp at the graphics and push my graphic card as much as possible. I normally last but a few seconds before a sniper takes me out... This tends to make me turn the game off after a few deaths. Manic Miner and JSW exhibit similar characteristics for those that are not accustomed to the game. Play a few times and switch off when the game never lets you progress far. Adding a air bar depletion on contact makes the game as easy as needed. If the game is then found to be too easy with the air bar depletion on contact, then the Minor is old enough to play the full game.
  7. I have added a graphic change for the final toilet run. I added a blank item check into the code, and left it. A blank item will be filled with junk graphics. This makes blank items visible (in case a blank item crops up!) Changed the title picture. That can now be aborted with "HJKL<enter>" or held on screen with "YUIOP" Changed the screen display pause in attract mode . Held with "YUIOP" abort with "HJKL<enter>" Items flash and item draw have been changed. ----------------------------------------- MW-V1-1.tap
  8. The speed of attract mode: The original version was animated. that was changed to static and scrolling across. Each screen can be paused by pressing any key from the keys "Y","U","I","O","P" and holding it down. The sequence of screens will keep on changing order (but will repeat on every reload of the game)
  9. Unexpected features - or more correctly - features due to bad typing. On the mega compression of the rope, There was/is a conditional branch that sets the rope draw direction. That condition was wrong. The direction of conveyors and ramps. For every room I retyped a macro, which was supposed to be using a duplicate of the original data. but written differently and compressed. Incorrect retyping of the 64 room data. If the data was only one room it would not be so bad, but every change I do ends up being typed out for 64 possible data versions. I actually spent a couple of hours fixing a bug that was due to the code I was working with, still contained the Attic bug. So I rediscovered the effects of that bug. < the demo of all the rooms kept crashing> just rememberd also that the rope overflow problem was also probably causing a problem with the ropes. Water cells in Esmerelda - those macros again. Not yet looked at the problem for keys/items. ================================ I start out with mainly one aim, and nearly always get side tracked onto another path. I aim one day to fit in 48k a full blown version of Manic Miner and Jet Set Willy. So the assumption Manic Miner is hiding somewhere is not a bad guesse . (just not in this version) (not yet) =============================== What has changed from the standard JSW. 1) memeory for copy screens sits in high memory - faster 2) screen copy is a raster copy not a simple ldir 3) the rooms are reformatted - no longer 256 bytes - smaller 4) rooms are compressed - by macro's and also by code 5)key data is stripped of unwanted data and also sorted with a simple bubble sort. The sort is needed to implement the removal of unwanted key checking. Each room checks only the keys in it's room, and no other. 6)nasties are removed from being jumped on (Manic Panic style) this is needed due to invincibilty and being able to jump on nasties otherwise. Can cause some rooms to have no floor (just a consequence) 7)added invincibility after death 7+1) super compressed the rope - (an eight is replaced with a face - so 7+1) 9)deleted all unused data in the sprite list. Each sprite is seven bytes and not eight. (it is expanded to eight) 10)removed unused sprites 11)deleted most of the un needed duplicates of data that causes flicker on room entry. e.g. duplicate text 12)time and objects are only updated when needed. 13)dancing willies only update when a change in animation. 14)item collection updates the number of items collected (the text) not every loop 15)background updates are done as a duplicate of the draw updates. e.g. to restore the screen to a clean state, sprites copy the background 16) sprite routine has been split into draw and merge (2 seperate routines) etc It became evident that the compression of data was not savage enough, which meant this code was a dead end. So I added the demo screen part, then added a title screen and left it as that. To do what I want (mm and jsw combined) means I need to start from scratch and ditch most of the original data and how it is laid out. Which was NOT what happened here. All those crashed hard drives SSD's etc have deleted most of my other source code and utilities- so anything I try out, is basically starting from scratch. I will look at the key data - probably tomorrow, sometime. I am also in the process of redrawing the title screen - I am not happy with the first version. Addendum - just before I go to bed... The statment that I had to fix the attic bug, then looking at the screens around the end of the rzx recording..... The missing key is in the first Landing - I am using the original data. Duhh.
  10. When Willy returned to the house, it did not feel the same. Those long years being lathargic had dulled his senses. Revisiting his past (Manic Panic) has installed a new vigor in his life. His activities have pushed has lathargic past into the past. Now he has no need for a zimmer frame, and no need for glasses. Willy has a new purpose in life. The file that was here has been deleted. The reason is because an extended version is listed eleswhere under the heading Manic Jet Set Willy.
  11. Very similar to Tile Map for the pc. Which plays JSW and JSW2+, plus other spectrum games. The included zip file is for 64bit pc's. TileMap-10-x64.zip
  12. A post (elsewhere) about quirks in the game engine. (Manic Miner) As an illustration of quirks . Here I have modified one room - and added a quirk. Which is displayed in Manic 40 Miner in another room. (it should aslo duplicate on Manic Miner) Here The only interest is the first room, using a quirk that allows the room to be completed. NOTE no other room is different (intentionally) (No editor in this version) and not intended to be a different game version. This is a demonstration of one quirk. m40mquirk2.sna
  13. How I wrote Manic 40 Miner. I used the original sprite data (because the data is not changed) I used the original graphic tile data from Matthew's game (edited and reformated), and I might have added 2 new graphics which are the TOTAL that Ligan's game has that are different (I would need to further investigate that statement). As I keep on stating the graphics in Ligans game are 99% Matthews. If I redraw the room plan, I draw the room using a combination of Matthew's graphics and my own and those two graphics. All those new graphics that you are so adamant about are not used, because they do not exist. So where from my perspective is Ligan contributing to the graphics, if those 2 extra graphics are not used. Code wise I did not grab any data from the Ligan version. I drew the room plans from visual inspection. Hence why the conveyors were wrong. The room/cavern data for the first 20 rooms/caverns (Matthew's) was edited into a new format. Then the Basic room/cavern data (graphics and sprite positions) was duplicated from the first 20 rooms(Matthew's rooms). There being no need to use any other data because it mainly, did not change. The code was a test of a concept. The room plan of the last 20 rooms was based on Ligan's, and I mention this in the scrolling message. The sprites and graphics are duplicated from Matthew's game. In the case of the sprites there is one change in Ligan's version. That change is the sprite graphics for Eugene. That sprite graphic was not copied, and again Matthew's version is used. So your summary of how you think I wrote Manic 40 Miner and the reality is different. No sprite data was needed. No Graphic tile data was needed. I duplicated the original 20 rooms/caverns of sprite paths/keys/portals/designated tiles/colours to create 40 rooms in data. The room/cavern plan was typed in from visual inspection. That means I simply typed out the room/cavern plan like this (an example below). At a later date I added the two differing graphics (Ligans). Any other graphics I had drawn were also added. The next set of differing graphics are taken from the Software Projects version of the game (Matthew's graphics again) defb #3B,#BB,#BB,#BB,#BB,#BB,#BB,#BB,#BB,#BB,#BB,#BB,#BB,#BB,#BB,#B3 defb #30,#00,#00,#00,#00,#00,#60,#00,#00,#00,#00,#00,#00,#00,#00,#03 defb #30,#00,#00,#00,#00,#00,#00,#00,#00,#00,#00,#00,#00,#00,#00,#03 defb #30,#00,#00,#00,#00,#00,#00,#00,#00,#0C,#DC,#DC,#DC,#D0,#00,#03 defb #30,#00,#00,#AE,#CD,#00,#00,#00,#00,#00,#00,#00,#00,#60,#00,#03 defb #30,#02,#22,#30,#00,#0C,#DC,#DE,#CD,#00,#00,#00,#00,#00,#0C,#13 defb #30,#06,#00,#30,#00,#00,#00,#00,#00,#00,#00,#00,#00,#00,#00,#03 defb #30,#00,#00,#3E,#00,#00,#00,#00,#00,#00,#00,#00,#00,#00,#00,#13 defb #30,#00,#00,#30,#00,#00,#22,#22,#00,#00,#02,#22,#20,#00,#00,#03 defb #32,#20,#00,#3E,#00,#00,#00,#00,#00,#00,#00,#00,#60,#00,#E0,#03 defb #38,#88,#00,#36,#00,#00,#00,#00,#00,#00,#00,#00,#00,#00,#00,#03 defb #30,#00,#22,#30,#00,#00,#10,#00,#00,#A0,#00,#00,#00,#00,#0E,#13 defb #30,#00,#00,#A0,#00,#00,#00,#00,#00,#30,#00,#00,#00,#00,#00,#03 defb #30,#00,#00,#00,#00,#00,#00,#00,#0A,#30,#00,#00,#00,#CD,#00,#03 defb #30,#00,#00,#00,#00,#00,#00,#00,#03,#30,#00,#00,#00,#00,#00,#03 defb #3B,#BB,#BB,#BC,#DE,#CD,#EE,#CD,#E3,#3A,#CD,#CD,#CD,#CD,#CD,#E3 It does not take long to draw the rooms plan in such a way. I typed out the room/cavern plan for all 40 of the caverns. This being necessitated by the differing method of storage from the original. To reiterate. Ligan's change from Matthew's version does NOT change the graphics, the sprites or even change the conveyors. The full extent of sprite change was editing Eugenes sprite graphics (which I do not use). The sprite paths are identical. The room graphics are 99% the original room graphics with the same colours and the same graphics. (with the exception of those tiles) The border colour stays the same, the conveyors stay the same. The portals stay the same. ---- The main difference is the room/cavern plan, and the position of each caverns keys. Now a look at those caverns . The first 10 caverns by Matthew and the first 10 caverns by Ligan. Theses screen shots are from Mainic Miner and Ligan's Version. They are NOT taken from Manic 40 Miner. The next 10 caverns are similar. Left side Matthew's room/cavern and graphics Right side is Ligans room/cavern using Matthew's graphics. (same graphics/graphic colours/sprites/sprite path/sprite colour/border colour/conveyor position/conveyor size/ conveyor direction/portal/portal colour/ portal position) The exceptions are few. Addendum --- I have missed out the VAT (accidentally )
  14. Correction on the scope of editing done in Ligan's caverns. Ligans edit of the original Manic Miner 1) the sprites are not moved or recoloured or changed. The only exception is Eugene Which is a new definition. 2) the graphics for platforms/walls are 99% the original graphics. 3) some rooms/caverns change the graphic definition of the keys/items. 4) the start position in a few rooms/caverns is changed. 5) The graphic colours are not changed 6) The border colour is not changed. There might be exceptions to the above but the exceptions are trivial. Mercinary Kongs thus uses the graphics as provided by Matthew in the corresponding room. There are no Ligan graphics to use or in use.
  15. Scope of editing the switches. In the original format the switches are fixed in position. To move the switch requires not an edit to the room graphics alone, but also an edit to the data for control of the switch. e.g. The game code itself needs editing. This restriction forces all switches for KONG style room to be placed in a fixed order and in a fixed position. Duplicating a room with KONG being a protagonist in the room. Also duplicates the position of KONG- the switches, the platform KONG falls off and the drop KONG does after the 2nd switch is flipped. Plus also the action of the erasure of the central wall and the sprite that passes through the wall. The above is a lot of fixed data and actions. I suppose its possible to write a routine to modify some of the above data to change its action. With a new routine for each and every set of data change. Not a very flexible method of allowing change. The switches. When I added a room editor I permitted the room data and therefore the switches to be edited. This change in itself necessitates re writing the whole of the room setup routine and a redesign of the KONG routine. Moving the switches with an editor means I need to track where the switches are, and unlike having routines that modify the code. I use the position generated by the room when drawn. These positions are stored and the routine for switch activation scans the list of stored switches. I did at one stage expand the switch routine to also expand the scope of what the switches did. For example having 3 switches and needing two switches flipped to activate wall erasure and the third to force KONG dropping. Surprisingly I scrapped the routine, simply because I could not be bothered having to explain the changes in logic that would follow. (That text would have been part of the editor's instructions. I would have needed the full explanation, yet most of the changes could not be edited (so from an editors point of view pointless)) The NEW sprite data The sprite data for KONG now stores its platform position (x,y) its distance of fall, its definition its colour and also the x,y position of the wall erasure. So I can edit most aspects of KONG in the source sprite listing. This means I can greatly change what the KONG routine does, without having to change any of the games code. So it has (for me) become a simple matter to place switches anywhere and have various sprites act on the switches. Seen in Manic Panic in the Final room. Alas the data for Manic 40 Miner uses the basic movement data of the original sprites in most of the rooms/caverns ( twice * 20 caverns) . So since the ability to change the parameters of KONG and the other sprites is NOT included in the editor, the extra features are rarely seen. The only extended version of KONG seen is Mercinary-Kongs on Hire Perches Cavern 23.
  16. Chritsmas part Duex. Screen walk across on my pc is around 14 seconds. If the screen walk across is a slow 62 secs then it might be finishable by Christmas. I was looking for information on specific game modifications when I found these novelties.
  17. The version I listed here has been relisted later on- I will delete this listing - as now not needed.
  18. I am running windows 10 pro (x64) I downloaded the file (the one included above) and extracted to a new folder. The program runs, full window with no protests. Screen shots are via photographs....
  19. Christmas Theme. Just about Miner Willy related. Only tried about 3 rooms. Not shure of the scope of this game. It runs on a PC. JetSetWillyAVeryWillyChristmas2_PC.zip Christmas1 would not run on my machine so is not included.
  20. The image was instantly recognisable, I even thought it was Imagine. The problem was, I only did a quick search for Imagine and not Imagine software. The result of the original quick search was negative. So I assumed it was not Imagine, and stopped looking.
  21. As soon as I saw the picture I recognised it as one iconic old picture. That does not mean I can remember what it was from. If I remember they are grouped in front of a keyboard/monitor looking at a game ??
  22. The original code was written over the period of a week. The original code was using most of the original routines. And was very limited in its changes to the bulk of game routines. As I needed more and more space for the editor, I edited the original routines to shrink their size. Changing music tempo. I had to re read the source code... I added a routine (which I can now just about remember) That set the tempo of the music to the length of the air bar. Played in the final cavern, but can/could be set to any room. It is evident the Manic Panic was written shortly after this. The room data follows the same layout and uses most of the graphics. The room data in this (Manic 40 Miner) is not greatly compressed, it is stored in nibbles. The data in Manic Panic starts off in the same plain format, but as the game is run, it is expanded out and then re compressed. The plain data is then discarded. The expansion and compression are as follows Start of game compression 1) hex nibble expand. 2) run line compress.3) move to buffer 4) repeat "0" compress and move to buffer To draw each room. 1) repeat "0" expand 2) run line expand 3) nibble translate 4) draw room -------------------------------- As stated elsewhere the Editor in Manic 40 Miner does allow easy copying of the data from the original Ligan rooms. Just load up the screens (Ligan's), copy the item/object position into the editor, and read of the data positions, and type into my source code... The above would have been a lot easier than editing the data that I had. Perhaps one day I will update the item/data to replicate the original. (just not this year) ------------------------------- I saw your rzx recording about 10 mins after you posted it. Some of the caverns, do need more items. Just to make visiting some areas, part of the room play. If Ligans original data is inserted, then that would probably be the case... Next year perhaps. ----------------------------- Food for thought.... I should have done a version without the cheat enabled by default. The editor would still be accessable after the cheat is typed in. The cheat code is%^%£^&%£$%$£% or maybe £!$!%("^%£%*(&(£ or is it %^&%£"^&*"^"&^ or perhaps %£$%£$$£$££%£% . Such a long time since writing the code to now, I have forgotten. Those codes are from a note file that is embeded in one file I have remaining. In any case the cheat code is not needed, unless the editor is deleted from memory. ---------------------------- I am glad you enjoyed playing. Next up is Manic 41 Miner, and its sequel Manic 42 Miner. And in the same series the prequel Manic 39 Miner. This could run for several years.😁
  23. Jsw2 has sprites crossing each other. Jsw2 also only collision detects with Willy. Code wise JSW can not replicate the rooms in jsw2. Whereas JSW2 replicates JSW.
×
×
  • Create New...

Important Information

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