A downloadable game

Introduction:

I was a huge fan of the Dizzy games on the C64, after a friend introduced me to Dizzy 1 and 2. As soon as he showed me how to kill all the enemies, suddenly the whole game opened up, and I beat it over and over. For me, Dizzy 1 is still the best.

My intention for this prototype was to see if it was possible to make a platform game in CanDo. I know that this sort of game would be ideal for Scorpion, or some other Backbone games creator (or even Blitz BASIC), but I wanted to code it myself in CanDo and learn how to make my own routines like the old days. I'd learned so much about character movement and collision detection after making my Cancer/Battle game and Monkey Eye demo, that I knew it was possible. This was NEVER meant to be the full game; as making the full game would take too long; but just a demo to see if I could make a 64 colour version or even a 16 colour version using just a few screens.


Aims:

1. To make a 11 screen Dizzy 1 prototyle, with a few working puzzles.

2. To make a 11 screen 64 colour version, with digitized in-game music and SFX playing together!


Requirements

  • Any PAL Amiga with Kickstart 3.0+  (does NOT work with KS2 roms).
  • 0.3MB spare memory (16 col ver), 1.5MB spare memory (64 col ver).
  • Any CPU, but 030+ is recommended.
  • 2.2MB free disk space.
  • Optional: A way to copy the files onto a real Amiga hard drive.
  • (Optional: H/V Centering on?), (Filter:Auto-scaling??).

Features:

  • 11 Screen from Dizzy 1, in either 8 or 64 colour modes.
  • 1 Digitised 64 Col EHB Screens - the Title screen
  • Digitised Music and Sound effects
  • Day to night palette change on first 7 screens. (64 col ver)
  • Three and a half working puzzles!
  • Kill Zaks to complete the demo!


Install and Loading

Copy the contents of the ZIP or LHA to a suitable Amiga hard drive setup. It doesn't matter where you put it. Then double click the RUN.ME.FIRST icon to assign the paths first. Then double click on the icon you want; which starts the game.


Game Versions / Modes

Mode 0 - This is passive mode, and is the one I used to code the game. This has no active joystick polling, so everything should be responsive, but enemies stop when the player stops.

Mode 1 - This is active mode, every 16 jiffies and every 2 seconds. That means the player must hold their controller to actvate movement, and there is a delay in response time. Sometimes there is a small roll-over of input commands with this mode. It is hacky, but playable, especially with a very fast CPU, or Cycle Exacts off. (It helps to tap the controller for each movement)

Mode 2 - This is active mode, every 32 jiffies and every 2 seconds. This means enemies are slower when the player is not moving, but response time might be quicker? This is a test mode, and to be honest, seems broken.


Playing The Game Instructions

After loading, pull the controller up and down to select your mode, and then press fire. To quit, use the mouse pointer on the Title screen, and click the Quit option. During the game, move the controller in the direction you wish to move the character. Dizzy will jump with the diagonals. To return to the options, use the mouse pointer and click 'Exit' in the bottom left corner of the game screens.


Assets Used:

CanDo V3.0 from INOVAtronics (Dallas,TX) - from EAB file server.

Dizzy: The Ultimate Cartoon Adventure (C64 port) - By The Oliver Twins (c) Codemasters.

intro1.Mod - by wotw of modern rhyhms/supplex... (Eleftherios Tsiroudis)

Faith Crack 02.Mod - by Snoopy.

Dizzy (C64) Hard Rock Medley. https://www.youtube.com/watch?v=HEPE4TH6x8c

https://cdn.mobygames.com/covers/11231461-dizzy-the-ultimate-cartoon-adventure-antstream-front-cover.jpg

https://www.worldatlas.com/r/w768/upload/50/44/bd/adobestock-602779977.jpeg

climber-on-a-steep-snow-and-ice-mountain-side

Sprite Sheet

https://retrogt.com/img/blogImages/general/Dizzy%20-%20Zaks.gif

Google Street View

PPaint 6.4, Dpaint 4, and ImageStudio. (GIMP on PC)

MegaloSound SFX editor, and Octamed 4. (Goldwave on PC)


Editing the Source

1) Load up CanDo V3, making sure Setpatch is running.

2) You must Assign Dizzy1: to the place you installed the game first. Either by using CLI, or run the 'RUN.ME.FIRST' tool. Then you can load up the source in Cando with the path now set to your HDD.

3) When the file loads, you will have to sit through the intro sequence a little, and then the game will stop. This is normal. From here, click on the stack of cards icon and Edit to see how the game starts. Click Edit and Button to look at all of the buttons, or click Routines and a list of routines will appear (double-click them to edit). There is also a joystick icon on the main panel. Click this to change jiffies and response.

4) If you want to switch on the joystick polling active modes, go to the 'Variables' routine and change mode to = 2. Then go to the joystick and change jiffies and timings. Then click Save As.. and use a different name. Quit CanDo and launch the icon of your new version to test it. DONT EVER save the code with polling active unless it is a final test, and never load up any code which has polling actived already, as this will just crash CanDo. Instead, make sure you load up the non polling source first, change the mode, and then change the polling if needs be.


Bugs List

  • Sprites flickering - I'm not sure how to stop it.
  • No Crowbar.
  • Bird seed kills everything - this is by design due to lack of items.
  • No harm from rain drops - because there is no raincoat.
  • No side jump or roll in tight areas.
  • Dizzy only walks 5 pixels at a time.
  •  2 Screens missing in the mountains - I felt these screens were unessessary.
  • Dizzy can get getting stuck in walls, which reverses the controls.
  • Dizzy always standing still and doesnt roll. (16 col ver)
  • Moving platform in ice pool can be fallen through.
  • One platform missing in ice pool - no spare hit blocks.
  • Dizzy hovers above the top left platform in ice pool
  • Dizzy hovers one line above some platforms when standing.
  • Can get stuck in the floor jumping into, and walking out of, the grass in Room 5 - the rain room - from the left.
  • Wrong sound effect when killing enemies.
  • Dizzy does not bang his head on sign in the mine entrance room.
  • Dizzy can stand up for a frame as he jumps and hits the sides of some screens.
  • Screen can flash for a second on the title page if all lives are lost.
  • In-game music can be out of sync if game launched too quickly.
  • The Joystick polling still needs repeated movement fixing
  • Walking off the end screen causes issues.
  • Picking up and drop animation now broken

Making of Diary:

V0.1
27 Dec 2023.
Changed my Move Test program to a Dizzy backdrop, and added interaction with blocks E, D, and B. (see V0.1 image on right panel)

V0.2 - V0.3C
28 Dec 2023 to 29 Dec 2023.
More work on the Check Move routine. It was important to get the hit detection working before anything else, and adapting the joystick routine to jump. Some success, but too many bugs, and so I gave up, and abandoned this, and went off to create my Jari-Matti Rally game instead.

V0.3D - V0.3T
8 Jan 2024 - 19th Jan 2024.
After the Rally game was done, there was no other choice but to come back to this game. Movement and joystick co-ordination had to be hammered in place with a bunch of Exception rules. So for example, if Block E is hit on the Right side, the player can move Right, but they cant move Left. Most of the joystick was done, and Fall Left and Right routines. But V3 was basically bodged and hammered together, just to get a demo working.

V0.4 - V0.4D
Fri 19th - Sat 20th Jan 2024
This one went a bit crazy. To give myself time away from the endless bugs, it was time to put a 64 colour scrolling backdrop in. But the flickering eventually meant I gave up on the idea. The backdrops came from a Google Maps view over Great Harwood from Clayton-le-Moors. It took a lot of time to remap all of the screens (10) in the demo to 64 colours, with transparency (see V0.4 image), but in the end I had to reluctantly rip all of that code out, and go back to using boring 16 colour images. :(

V0.4E - V0.4I
21 - 22nd Jan 2024
Added the title screen, and slowly added a second and third room. This also meant making some room changer code (the Flip), and a whole bunch of variables for the hit boxes per screen. I used Buttons to plot out the hit box, and transfered the co-ordinates into variables (I forgot there is a co-ordinates button!). The hit detection is fairly hit and miss, and most of the time, my sprite ends up stuck in a wall, or falling endlessly off the screen in a non-breakable loop; - which meant having to reset the frozen emulator again and again, and again, with every mistake. It was some time later that I discovered the "StopScript" command was the culprit, and I changed it to ExitScript instead.

V0.5 - V0.5F
23 Jan 2024 - 25 Jan 2024
The old exceptions list had to be totally removed, even though I tried to fudge a 'step up' exception for low lying platforms, this didn't work, so removed that as well. The exceptions list came back again later on when I realised that some screens exit top and bottom, and not just left and right, and some screens have two exits.  Plotted in some more platform coordinates for some more screens. Finally got the diagonal jumping to stop going into walls, and also made sure the Fall Left and fall Right routines continue from screen to screen, so that the players jump is continuous. Temporarily fixed the 'out of bounds loop' bug, by forcing the game back to the title screen if there is an error, and a simple out of bounds fix was also added. The game now plays, and the player no longer climbs up sheer walls. But still lots of work to be done.

V0.6 - V0.6D
26 - 27 Jan 2024
I took a break from adding the boring screens and platforms, and instead added in the enemies and items. The spiders now move up and down, and the apples fall after a delay. Also made some progress on picking up and dropping items. The mushroom now works, and players can step on it to bounce up to the right, as I made use of my old 'step up' routine and combined it with Jump. The game feels more alive now, but slows down a lot with three items on the screen at once, due to having to redraw everything with each cycle. The items are also all transparent, so they flicker like crazy, but this actually looks similar to the original game. Sampled some music as SFX, and played about with in-game music for a high colour version of the game. The 16 colour game now starts with the title music and a 'game start' jingle.

V0.6E - V0.6H
29 - 30 Jan 2024
Added two more screens to the game, and a moving platform in the ice world section. It now goes to game over if all lives are lost, and plays another jingle before returning to the titles. Spent most of the time trying to iron out some bugs, some successfully, but others not. I'm going to try a hidden platform 'G' to act as a step up on screens which really need it, as I'm struggling to get the 'step up' working on actual platforms?

V0.6I - V0.6L
31st Jan - 1st Feb 2024
Spent some hours converting the loading screen, options screen, and adding some new 64 colour (non-scrolling, non-transparent) backgrounds to rooms for an Enhanced version. I used Gimp to auto crop the border, (optional Mode colour indexed to 26 colours???), and Scaled (no interpolation) to 320 x 256.PNG; which was loaded in PPaint in 64 colour mode. A transparent 8 colour room brush was loaded, and the Palettes Merged, giving a 64 colour combined image. Then I loaded up Image Studio on the Amiga in AGA mode, and used the colour Swap function to swap the 8bit primary colours back to be the first 8 colours again, and then remapped the image to use the new palette. Hopefully it means the sprites and backdrops (which use the first 8 colours) will still work as normal?  I also added the rain drops on screen 4, and a zoom effect on the options screen.

V0.6M - V0.6O
2nd Feb 2024
Spent a couple of hours adding the final room (hopefully?) in the game, and trying to get the character to negotiate it. Also managed to add some basic sprite swapping for the main character, so that his arms wiggle up and down when standing.

V0.6P - V0.6S
4-5th Feb 2024
Added flapping wings to the birds, and gave them a random flight pattern. Finished the final room, so hopefully they are all now done. Added some 'loading' music; my first experiment with the CanDo PlaySong function (it's not as versatile as BastyPlayer!). Added Score and Lives counters, and some basic Hit Detection for the birds. The seed now kills Bird #2.

V0.7 - V0.7G
7-8th Feb 2024
Added the final 64 colour backgrounds. Got the items to display in the inventory. Mine cart puzzle now works (sort of). Also added scrolly text in room 10, and fixed the scrollers. Finally stopped the character from breaking out of the screen area! Switched off all the help buttons. Switched on all bird collision. Fixed a few more bugs.

V0.8 - V0.8B
9th Feb 2024
First experiments with the auto joystick poll function. Not so great, but it works. Switched on collision with all enemies. Respawning now depends on where you died, and the character now has a 'Corner Reveal' similar to the original Dizzy 1. Greatly improved the collision detection for the birds - which are now deadly! (See V0.8 pics).

V0.8C - V0.8BF
10-11th Feb 2024
To remove the colour clash, the next step was to add a fully animated character to the 64 colour version, using a sprite sheet I found last week of Fantastic Dizzy on the Sega Master System. This mean't totally overhauling all of the joystick control routines for Up, Jump and Walk to make this happen. A huge headache. Lots of new bugs created, due to collision with the ground during the walk now being broken. Redrew some of the items with the 64 colour palette to minimize colour clash.

V0.8G - V0.8J
12th Feb 2024
Finally added the last (10th) 64 colour screen, and also got the left and right rotating jump working for the 64 colour version. The wall climbing function is back just to help people climbing over low walls from a standing start. The character is now getting stuck in walls again, but apart from that, the game idea is now 95% done. Just the small matter of clearing up the last few bugs before release.

V0.9
14 & 16th Feb 2024
Went through the game and fixed most graphical bugs due to the graphics themselves being slightly stretched from the C64 original. Extended the trees in the background a bit to break up the horizon, and made the cave area darker. Spent some while trying to make a real-time memory monitor tool called Consumer; which doesn't auto-poll yet, but basically works if used in manual mode. I used it to find out how much memory the game uses; about 2MB Fast Ram in 64 colour mode.

V0.9A - 0.9B
19 & 20th Feb 2024
Spent a bit of time looking at fixing some bugs. As one thing is fixed, it can break something else.

V0.9C - 0.9D
21 & 22nd Feb 2024
One step forwards, and often 4 steps back. The bugs are multiplying! The character is now stuck in the drop animation when falling, and was getting stuck when walking from screen to screen, so another fix, which means Dizzy stumbles onto some screens. Added Raindrop in the ice caves. Added Day to Night palette change for some screens.

V0.9E - V1.0A2
23rd Feb 2024
Cleaned up a few more bugs. The music in the 64 colour version now only loops if you lose a life, otherwise it stops the music after one loop. Added some transitions between options and title screen. More tedious and miserable experiments with the joystick polling, getting the demo ready for release on Feb 27th. Moved some of the larger sub-routines from the Joystick section into their own routines, to improve polling speed.

V1.0B - V1.0D2
25th Feb 2024
More time cleaning up some more bugs! The limit of only being able to walk 5 pixels is appearant now that I'm finally adding the joystick polling, as he appears to walk very slowly, and not in line with his steps. I should have worked on this aspect first instead of last! The polling mode is stuttery and laggy, slows the whole game down.

V1.0D3 - V1.0E3
26th Feb 2024
Added a final ending room and Zaks. Mine entrance now allows the player to pass to the end screen if they are holding the One-eyed Idol. Zaks melts into the ground like an ice scuplture, which is a bug, but I left it in. The game then exits to the title page; even though this causes some screen flickering and loss of score. Fixed a bug with the mine cart hit detection, and redrawing of the Exit button. Now just the final LHA packaging for release.

V1.0E4 - V1.0F
27th Feb 2024
Final day with this demo. Moved the Quit button to the Options screen, as well as the titles. Fixed Dizzy disappearing (16 col ver) when joystick polling activated. Fixed Dizzy's arms moving up and down. Fixed Stand Up routine after jumping, so the character stands still on landing. Dizzy can get stuck in walls more regularly now, and seems to get stuck in odd places. The more I fix the bugs, the more it breaks the game, so I'm releasing the demo in this state.

V1.0G - V1.0G1
17th July 2024
Used my new experience with the Timer function to improve joystick polling, away from the broken gameport function. It is now activated every 3 jiffies, which means the screen refresh is fast, but the images are still flickering. Spent ages fixing Dizzys' arms moving up and down, and the repeated movement left or right still needs fixing. But everything feels better.


FAQ

Is this Prototype game 100% finished? - Yes and No. It is maybe 95% bug free, but I have abandoned it, because each small change I make to the code instantly breaks something else.

Why is movement so slow!? - The game will run a bit slowly on 020 CPUs, and I'd say 030 is needed. Emulation users can try it with both cycle exacts off. I tried the Mode 1 version with a PPC CPU and no lag!

I'm totally lost!! - The game is fairly basic. Go right and get the torch if you want to light the caudron, otherwise go left and use the bird seed to kill everything.

Are there any hidden secrets? - Not this time. I left the collision display code inside the game, but it is REM'ed out with ';' because to add the code needed to enable it would increase the 'checkmove' routine's runtime footprint, and slow everything down.

How Do I Win?? - Find the Yellow Idol Eye and take it down the mine shaft to kill Zaks with it. The game should end after he melts.

How do I QUIT? - Use the mouse pointer to click on the Exit button within the game. There is a Quit button on the Options screen and also the title screen of each version.

Why does this game need 1.5MB for 64 col ver? - To be honest, most of that memory is needed for the digitised in-game music, 0.7MB. With SFX and music combined it is almost 1MB. The demo will flush the main image with every screen change, so only the sprites, the frame, and the current screen backdrop need to be in memory. Dizzy takes up 27K, but I didn't bother to add the forward roll, and some of the other stuff from the sprite sheet. Title music is 68k, and the largest main image is 30K.


Download

Download
Dizzy Proto V1.0G1.lha 1.1 MB
Download
dizzy1.0G1.source 93 kB

Development log

Comments

Log in with itch.io to leave a comment.

(+1)

Looking forward to a little demo release :)

(+1)

very good