| |
Impossible Mission Revised [2024] |
Credits :
Code | .... | Grue of Beyond Force, Extend, Kasettilamerit |
Graphics | .... | Grue of Beyond Force, Extend, Kasettilamerit |
| | Trurl of Extend |
Idea | .... | Grue of Beyond Force, Extend, Kasettilamerit |
Crack | .... | Grue of Beyond Force, Extend, Kasettilamerit |
Text | .... | Grue of Beyond Force, Extend, Kasettilamerit |
Charset | .... | Grue of Beyond Force, Extend, Kasettilamerit |
PAL-Fix | .... | Grue of Beyond Force, Extend, Kasettilamerit |
Bug-Fix | .... | Grue of Beyond Force, Extend, Kasettilamerit |
Test | .... | Barfly of Extend |
| | Grue of Beyond Force, Extend, Kasettilamerit |
| | Jmi of Kasettilamerit |
| | Trurl of Extend |
Help | .... | TNT of Beyond Force, Kasettilamerit |
Directory Art | .... | Kakka of Accession, Damones, Extend |
Download :
Look for downloads on external sites:
Pokefinder.org
Production Info Submitted by Grue on 30 April 2024
Impossible Mission Revised, based on the AUS version original.
The game had no disk protection, but at least 3 bombs left in the code. It checks if $d024 has $0a, if not hang up. The game does JSR in the CIA register $dd03 where it stores $60 earlier in the code that gets overwritten. Finally, it has an IRQ call to zp just to update the frame counter, which gets overwritten at reset. They all are now removed and the code is made tidier.
It is a bold move to start to improve on a perfect computer game, you might think what on earth could be improved. I checked all the ports of the game from YouTube and noticed that on the BBC version screen did shake when the hero fell from high enough down. On the PlayStation version, there was a nice feature where the map marked down which rooms had been emptied by searching. I found also some bugs and places for more polish to make the game even more enjoyable than it was originally.
To give more challenge stencils for cutting the puzzle pieces are reworked so the familiar shapes are not 100% the same anymore. Also, the RNG is now handled in a way that every game should be different.
I'm personally very happy with how this all turned out to be, I absolutely love this game, and even more now!
The Usual pains can be read from the Changelog below.
CHANGES:
- X ABC algorithm Random Number Generator from codebase64 inserted into the game
- at the start of the game you need to interact with the joystick 2 for added entropy in RNG start.
- the player needs to push the joy2 button and upon releasing it, the RNG seed is set with the user interaction information.
- The dummy loop wait routine changed to D012-based waiting instead of burning CPU cycles for time.
- this fixes timings with possible CPU speeders.
- The Game clock is now set with PAL/NTSC info, 1 second is 60 frames in NTSC and 50 in PAL
- The original game ran slower on PAL systems as one second was 60 frames on all versions.
- The game has PAL/NTSC detection, I used that for setting the clock tick value.
- After the game over laughter, the screen shakes and blanks to white, the screen isn't centered and black color peeked from the edges.
- Restored default screen values after shaking.
- Added code to play samples more loudly on 8580.
- the Vice seems to distort but plays ok on real hw.
- TNT helped with proposing packing Elvin Atombender gfx
- TNT supplied packed data and unpack-routine
- 1k color info now takes only 157bytes
- File saving simplified
- The original file save was overcomplicated.
- first, it saved "HI2", then deleted "HI" and renamed HI2 to HI
- new one uses overwrite
- IRQ and File-saving routines moved lower in memory
- saving works now with action replay active
- FC3 corrupts the screen after saving, but save works and you can restart the game using RUN/STOP, RESTORE or both.
- the time-out game over scene, bugs and features.
- the last byte of the bank is visible
- elevator sprites make the scene look broken
- the last byte of the bank is now cleared during the screen shake and restored afterward.
- the elevator wall sprite is turned off and the ceiling sprite is moving with the screen
- the scene looks now much better
- Rooms 15 and 20 were incorrectly assigned hires color to MC tiles
- Changed the color code showing tiles as MC
- This can be argued if it is a bug or an intentional choice.
- My take on this is that it was a bug, which is now fixed.
- If a room has been emptied by searching, it is hollow on the player map.
- This makes the game a little bit more comfortable to play
- this was surprisingly difficult to add
- If the player falling accelerates above a certain threshold shake the screen
- 5 frames random $d011 shake implemented
- Avoiding the last byte of the bank is needed again, I should look into skipping that byte for code.
- no sound fx for the falling thud
- there was also a bug in the original game, the falling byte wasn't set on the death event which caused a lot of unnecessary processing of the hero.
- The game clock is now in a 24-hour format
- I don't believe agents/military/whatever officials use am/pm time to avoid confusion.
- Note puzzle rooms are also marked on the map with a checker pattern
- Screen shake after the player falls from a high place now also moves the sprites along the screen shake. looks much cleaner now.
- Sound effect added for the floor hit.
- Also the door to Elvin's lair is marked on the map, but you need to collect the items first.
- Sprite clock code is done, it shows hours and minutes.
- displaying the clock on the playfield is another pain in the butt
- WIP
- I ran out of memory again.
- now more of Elvin's end screen is packed
- large code blocks moved under IO which are mainly responsible for randomizing the game on init.
- The game now has 32 different passwords
- One gets chosen randomly on the game start
- The game clock is now rendered in characters in normal rooms
- the clock is at the upper right corner of the screen
- it cannot be shown when a player is searching for items as it uses the same characters.
- it cannot be shown in note puzzle rooms, as the GFX uses the same characters.
- it doesn't show up in the elevator room, as you can activate the clock by pressing the fire button.
- New bot animation frame sprites by Trurl
- you can now see the backside of the bot if the game randomly chooses so.
- it was a true pain to add these, the game had its own logic tuned pretty hard into just 6 frames of robot animation, peeking etc..
- we have now a total of 12 frames of robot sprites, and still have some memory left!
- a lot of problems caused here, I hope I fixed them all which I caused myself.
- Fixed a color bug in the phone user interface from the "orientation corrected" message.
- 32 passwords were a little too much, back to only 24 which will fit in one page of memory.
- Excellent suggestion from a test user the wolf from the lemon64 forums
- make the clock run from 12:00 -> 18:00 so the semicolon can be fitted cleanly.
- There are 2 characters of space, 16 pixels in total.
- Number font is 3x5 pixels and when you want to show 4 digits, it takes 3+1 pix (we want to have some space between digits)
- 4*4 digits is 16 pix, so no room for a semicolon.
- We can LSR the last 2 digits to get 2 pixels of space between hours and minutes.
- Number 1 is special because it's just 1 pixel wide, so if we ASL hour digits also we can have a 3 pixel wide gap for the semicolon.
- Usually, the simple solution is the best, too bad it's often hard to come by yourself when you are fixated on thinking about something else.
- Preparing to change in-game Commodore ROM font to something else
- a to z and 0 to 9 needed
- The font called 7-up from https://home-2002.code-cop.org/c64/ is selected into the game.
- Extra robot sprites moved to even Sprite Pointer number
- The game uses the first bit of the pointer when peeking behind its back
- An uneven pointer number caused me some days of pain because I wanted to save 64 bytes.
- Modified puzzle stencils to change the challenge with the puzzles
- done, more challenge added
- Fixed score calculation to calculate seconds on 0-6 hours instead of 12-18.
- A small cosmetic change to the char clock shown in the rooms.
Traditional tools used list:
64tass
Ghidra
6502 Bench
010 Editor
Spritepad Pro
Charpad Pro
VSCode editor
Retrodebugger
Vice
Exomizer
CC1541
Dart
DirMaster |
|
|
|
| Search CSDb |
| Navigate | |
|
| Detailed Info | |
|
| Fun Stuff | |
· Goofs · Hidden Parts · Trivia
|
|
| Forum | |
|
| Support CSDb | |
|
| |
|