-
Posts
608 -
Joined
-
Last visited
Everything posted by Norman Sword
-
Manic Mission - Manic Miner / Impossible Mission mashup game
Norman Sword replied to Heracleum's topic in Remakes
Across the screen walk for me:- Chrome 8 sec C Cleaner browser 8 sec Edge 8 sec Opera 8 sec Opera GX 8 sec Brave 8 sec Firefox 8 sec I did have timeouts loading in Opera, Opera Gx, Edge. But all eventually loaded. -
Manic Miner contains a feature that vertical guardians do not adjust their attributes to within the minimum area needed. It is evident Matthew was aware of this and adjusted the sprites accordingly. By the time we get to the skylab and other screens the attribute bleed into un needed squares becomes noticeable. But not in need of a re write (this is NOT a bug) I have edited the routine to enable me to play either with the normal style routine or the routine that checks for the extra square when needed. The result in the solar power room is - With 3 attributes coloured in by the sprites - and deflecting the solar beam - 1137 points- Bottom With checking and varying between 2 and 3 attributes deflecting the beam - 1129 points. - top pic
-
The IRF data stream for the processing plant does not work (close, but no cigar) I have corrected the data stream (as below) Q Q Q Q Q QM . . . . . . . . . . . . . . . . . . Q Q Q Q Q Q Q Q Q QM . . . . . . . . . . . . . . . . . . . . Q Q Q Q Q Q . . . . . . . R R R R RM . . . . . . . . . . . . . . . . . . . . R R R R R RM . . . . . . . . . . . . . . . . . . . . . . . . . . . . R R R R R R R R R R R R R R R R R QM . . . . . . . . . . . . . . . . . . Q Q Q Q Q Q Q Q QM . . . . . . . . . . . . . . . . . . QM . . . . . . . . . . . . . . . . . . Q . . . . . . . M . . . . . . . . . . . . . . . . . . . . . . R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R RM . . . . . . . . . . . . . . . . . . R R R R R R R R R R R R R R R R R R R R RM . . . . . . . . . . . . RM . . . . . . . . . . . . . . . RM . . . . . . . . . . . . . . . . . . Q Q Q Q QM . . . . . . . . . . . . RM . . . . . . . . . . . . R R RM . . . . . . . . . . . . Q QM . . . . . . . . . . . . . . . R R RM . . . . . . . . . . . .
-
-
Investigating how I can clean up the keyboard data as presented. Not as simple as I originally thought. The data for the keyboard presents a stream of key presses. Which I show in the demo game. The problem presented to me, when I try to modify the visual text stream is what can and can not be modified. If Willy starts a jump the visual data stream switches off (no keys needed while travelling in an arc across the screen). The visual data just shows a series of nulls "." indicating no key pressed. The game however might be moving Willy or Willy might be static, in a vertical jump. There is no indication of when the jump lands and no indication in the stream of keyboard data inputs of what is happening. It becomes difficult to correlate the data with movement. The amount of horizontal movement is directly related to the amount of time Willy is in flight. The Data steam will give no indication of flight termination. e.g. when or where willy lands on a platform In order to tie the data with movement you have to watch the game being played. It does still leave big gaps in the movement when jumping and possible just standing still static play. It also loses the X position of willy because willy can move in the x direction when jumping and the data will give no indication as to when the x-movement stops. and possible stationary play begins. In order to tie flight movement and no keyboard activity, with static no keyboard activity I have taken the step of recording the game status of willy as regards to platforms. This status is surprisingly not recorded in the game with any meaningful variables. So I have added my own. (This problem will also be evident in JSW- the platform status is not recorded) No idea how far I will go with looking at this, already getting pretty complicated for what could be little reward in progress towards cleaning the data up.
-
Out of the 20 caverns, several have been changed from the listed automated version. My calculated routes using data streams - are less frantic than the automated routes, So those are used Central Cavern - The Cold Room - The Vat - All use my data stream route Eugene's Lair - I altered the end part to remove the back and forth turn and now IRF the Warehouse. It might be easier for me to auto remove the parts that are just frantic for no real reason. Amoebatrons' Revenge is one such room. I will look at the original data.
-
-
Misuse of terminology. The data held for each room does not contain a vector (jump address) it contains an index number. The index number is used to index into a jump block and from there an address is extracted. The usage of jump blocks to store a list of address's for routines is used in several operating systems and is nothing new. However in the context of JSW the usage of using an index number to index into a jump block was used 36 years ago in JSW2. Here an index number was obtained from the room data (event data) and that number was used to index into two tables . The first table was a list of initialisation routines for the event. The second table was a list of Main Loop runtime routines for the event. So you are using a primitive version of JSW2 event processing
-
Further to the topic of orientation of Willy upon game start. This automatically causes an auto play problem. If willy needs to turn around at game start, you have wasted a whole frame. The start orientation if collecting the bath tap first has a change of one frame between the differences in direction. For playing the whole game one frame will not be detectable unless playing to 1/100 sec style timings. Once the initial room has been played then Willies state from that room onwards is set. However that initial one state change can/could cause problems. That's #85d0 The value in #85d2 the animation frame adds another problem This does pose the question. Do you force the initial state as being the state that is in operation when the game is loaded. -------------------------------------------------------------------- Stairs I glanced at your questions and do wonder why you are concerned about the pixel shift of Willy when on a stair. When on a stair the game treats him as standing on a platform. If you remove the code for stair displacement. Willy walks up the stairs as a series of steps. He is treated as being on character/tile boundaries and NEVER treated as being displaced from the Character/tile boundary. (jumping is another story). On a stair he is visually drawn shifted to appear as in he is moving diagonally. The game code whilst on a stair treats Willy as stepping up the stairs one character at a time. In a nutshell. If willy is on a platform- The code checks the direction of the stairs For each direction of stair we check the block directly below his feet. For a stair going from left to right upwards / we check the block beneath his right foot for a stair tile. For a stair going the other way we check the block under his left foot for the stair tile. If the stair tile/block is present we displace Willy from the vertical (only on the drawing of Willy and this displacement is not saved anywhere) For stairs / we use the animation frame and add a displacement of 6/4/2/0 (pixels) for each animation stage for stairs sloping the other way we add 0/2/4/6(pixels) for each animation stage. As stated Willy never code wise moves from the fixed character/tile boundaries- the displacement is an optical trick to make him look like he walks up and down the stairs. ========================================================================================================== Addendum the pixel offset is doubled for the YTABLE offset - to move willy down the screen 2 pixels we add 4 to his YTABLE position, since each entry in the YTABLE is 2 bytes.
-
Trying room 17 new play as listed above...In the BUG BYTE version. Willy does not manage the first jump over the rotating Harvester
-
The simplest modification I can come up with is just add a 3 byte modification such as:- In decimal 37314 LD A,(IX+0) Pick up the first byte of the current entity's buffer 37317 CP 255 Have we already dealt with every entity? 37319 RET Z Return if so 37320 AND 7 Keep only bits 0-2 (which determine the type of entity) 37322 JP Z,37811 Jump to consider the next entity buffer if this one is not being used 37325 CP 3 Is this a rope? 37327 JP Z,37540 Jump if so 37330 CP 4 Is this an arrow? <<<<<<<<<<<<<<< mod to JP 37811 37332 JR Z,37431 Jump if so In hex 91C2 LD A,(IX+$00) Pick up the first byte of the current entity's buffer 91C5 CP $FF Have we already dealt with every entity? 91C7 RET Z Return if so 91C8 AND $07 Keep only bits 0-2 (which determine the type of entity) 91CA JP Z,$93B3 Jump to consider the next entity buffer if this one is not being used 91CD CP $03 Is this a rope? 91CF JP Z,$92A4 Jump if so 91D2 CP $04 Is this an arrow? <<<<<<<<<<<<<<< mod to JP $93B3 91D4 JR Z,$9237 Jump if so This kills all the sprites but leaves the ropes alone. So you can wander ALL the rooms including Esmeralda
-
Technical problem of turning off the sprites. Turning of the sprites turns off the ropes. The consequence of having no ropes are what happens to rooms that at present have ropes. 1) the beach can no longer be traversed. This stops access to the Yacht and the Bow. 2)On the roof can not be traversed. This stops access to Up on batt/We must per/ Watch Tower/I'm sure /on top of the house.
-
crem I might be stating the obvious. The variables being monitored in Manic Miner. I will assume you also modify Manic Miner with the following change in code. 87AB LDIR ;<<<<< SET #87AB=0 , #87AC=0 RESTORE WITH #87AB=#ED #87AC=#B0 87D1 LDIR ;<<<<< SET #87D1=0, #87D2=0 RESTORE WITH #87D1=#ED, #87D2=#B0 This change in the code will double the speed of the program. It will loose the game display whilst it plays. But I do not believe you watch the game being played at hyper speed trying to find the quickest path.
-
Processing Plant. The change in graphics for the Nasties and the Objects/items will have no impact on playing the room. Sprite collision is pixel based. Item/object collection and Nasties death are Attribute based
-
-
The missing animation frame. I used an online Gif animator to create the animation. When I watched the animations the first time, it was noticeable the frames were out of order. The file numbers are consecutive, but on uploading they were re ordered. The thumbnail sized pictures made it very difficult to rearrange the order of the pictures. After going through the process several times. Due to being unhappy with the output. And duplicating the process of ordering cropping, enlarging, changing frame rates etc. I decided to just delete the one obvious out of order picture and carry on.
-
Cutting it fine. When I first watched the jumping across the skylab landing bay. I was convinced it was pixel colliding and I had to check my code. I took a series of still frames to see how close Willy was to a pixel collision. Willy lands amongst the debris of the skylab. The pixels merge.
-
I also included a full screen Second title page. Which is displayed after the boot. This is what the current 2nd Title picture looks like.
-
The high score is kept current at all times. Rather than updated between games. The High score alternates in colour only if a new high score has been generated.
-
The program I provide here (Was) a fully functioning game. I have deliberately destroyed the part that can be played. The file provided is only for the purpose of demonstrating Manic Miner being auto played. To auto play this version of Manic Miner press "K" while on the title screen. A sub menu will appear. Use the keys "Z" and "X" to select a cavern. Press ENTER to play the cavern --- (The cavern can not be played- in this version) Press "L" to Auto play the cavern. If the cavern selected is the first cavern, then pressing "L" to auto play, will play the whole game. Normal keys for pause. Normal keys to abort. Normal keys for movement. - ( the cavern can not be played ) The auto play will complete the game with a score of 39526 AUTOplay.tap
-
The Mystery of the Birds and the Bees & its investigation
Norman Sword replied to MtM's topic in Chat
-
Jsw2+ has crumbling floors. Only used in a few rooms.
-
I now have a full working version of automatic play. The time between what is written and my final version. Depends on my own criteria of quality control. All the room layout data has been part compressed. This was to allow the addition of movement data. I added a new room draw routine to take the new compressed data. I added a routine to switch normal keyboard input or auto keyboard input I added a room selection input I added the graphics (with doors that open/close) to the room selection input ! added the room name being displayed at room selection. I added a display for the mode Besides the final barrier graphics- I am now going to design some of my own graphics and also perhaps modify the title screen graphics. An example of problems: left room and came back to see 16 Willies dancing across the screen- the score was over 200000. that version would only stop when the score overflow was big enough to cause problems. Addendum ;- with the Data I used the score for all the levels and back to the Central Cavern is a mere 39144. (with no loss of life) and no aching fingers. Drink a cup of tea and watch.
-
I have written a program to process the data as provided by Crem. And I have played one room using that data. I Have the basic layout planned, and I know how to provide the data and the whole of the original game in one file. So swapping at any time between playing and being shown a room being played is not a problem. Addendum - this will not be written in a couple of hours. I need to rearrange most of the data layout. After watching optimised room 7. I decided to script that room as well. Typing in data for a room with collapsing floors (the Vat) is not my idea of entertainment. Whilst I ended up with a more relaxed visual display and the same score, it was not something I want to repeat. ( the file is added to the other two files I posted)
-
Cavern 3 :- of note is the little jiggle Willy does at the right end of the top platform to fall to the platform below. I had several tries at adjusting that wiggle and whilst it might look neater, it losses a frame. Is anyone interested in me writing a version where the game can play any room to completion using the data provided above. E.g. a game version that plays normally or allows auto completion of any room. Undecided how that would look or perform. Using the name Crem - provisional name for game would be Creme de la Creme