Richard's C64 game projects:
Prepare to be a movie stuntman in this action packed game:

Ultimate Speed Boat Challenge

The Ultimate Stunt Boat Challenge Team:
Richard Bayliss - Programming, compiling, disk/tape mastering)
Richard Bayliss - Music
Frank Gasking - Graphics


I have been leaving Ultimate Stunt Boat Challenge for too long, and have decided at the end. This game shall be cancelled. This is mainly due to lack of motivation, loss of source code since a major PC fault (Which was unrecoverable). The game project had been held back for too long. What could have become a fun stunt boat shoot 'em up has sadly drifted away.

SUMMER 2010 - Exclusive playable demo of USBC:
Click on disk to download preview.

Wow, another main C64 game project as well as Up in the Air? The answer is YES. If you remember some of the classic games from different software publishers that involved jumping over ramps and avoid crashing into things like that, then this game will probably be right for you (If you are a fan of those kind of games of course). I saw many amazing classic stunt style games, like LED Storm, Mean Machine, Power Boat Simulator, etc. and I thought to myself. Since I have existing graphics from one of my old game projects which got scrapped (Real Speed We Need), I should try a stunt boat style of game, that involves shooting enemies to bits and jumping over ramps :o)

The Concept/Story line

You play the role of an action movie stuntman, and you have been hired to participate in a new action spy thriller. You are hired to get your stunts performed correctly and blast a load of things that get by you. While you are being filmed, you have to get you job right. There are spies in helicopters out to shoot you down (If the enemy touches you, you will lose a boat), also there are enemy boats and air craft, to make this move a real big action packed stunt movie. You have been paid £1,000,000 to take part in the movie, but if you waste all you stunt boats you will lose everything.

The game diary:

Friday 10th April 2009 - Ultimate Stunt Boat Challenge

What a boring day today was so far. So I decided to make a new C64 game. Well, I got started on it really. Earlier on in the week I asked Frank if he could send me the Real Speed We Need graphics data for this game project. As I thought there may have been some boats and other action movie style enemies and obstacles. I sure was right.

Most of this morning I worked on the map graphics using Charpad V1.0 to build the level map and then later on I dug out the old Real Speed We Need source code and modified it a little, and got the new map working nicely with the scroller. One major problem for me was that the map scrolling was just too fast. So I slowed it down a touch and it looked fine.

My next task was to sort out some sprites. So I copied some of the old
RSWN sprites which Frank had done before, and I paste them. For this game I wanted enemy air craft, boats and also some ramps, that the player could jump over to try and get over the bridges on later levels. I also grabbed some other sprites that I thought would suit the game.

Here is a video of the scroller in action

Although in its early stages yet, and more work to be done. I was dead chuffed with the work done so far. I added some routines to get the player's sprite on to the screen, and also get the player moving as well.

Hopefully tomorrow or Sunday, I should be ready to add some additional routines to get the player shooting and also the enemies starting to take action.

Saturday 11th April 2009 - Enter the Choppers

Yesterday I mentioned about the Ultimate Stunt Boat Challenge game. Well, today I have been doing a little bit more on the project. Before I could do any more to the project I converted the test run file on to a C64 tape using the WAV/PRG program and loaded the test file in to my Commodore 64. Damn, there was a major problem. The player's boat (when expanded MSB for the sprites) screwed up the scrolling engine. So now I have to work out what was causing the problem. Fortunately I figured out what was causing such a disturbance to the scrolling engine. It appeared that I used an insufficient area for the artificial sprite positions. So I altered the OBJPOS label to a different memory location. Crunched it all with the Exomizer and tested it on my real C64. RESULT!

Now that I was happy with everything, It was time for me to add some data tables and program some additional routines. I created some data tables for the sprites, and programmed a sprite animation routine. After that I worked on a small, but very easy routine, where the player can now shoot bullets. Then I started working on getting the enemies to move. At the moment they are the same enemies moving across the screen in the same place. However I can work more on making better movements and behaviour of the enemies next time I go on to this project. Which probably might be tomorrow morning.


Unfortunately disaster had struck, and code graphics was lost. Thankfully in November 2009, I asked Frank for the RSWN graphics and project source files. The good news is that it was found. So I have the RSWN source and graphics, made major adjustments to choose appropriate sprites.

Tuesday 1st December 2009 - Map making

Well, I got back to this project, and I want to do a special 4 level full game of this production. So I opened Sprite Pad on the PC and loaded up the RSWN sprites. I removed the sprites that I did not need and flipped the sprites, so that we have them going two different directions. The sprites facing left and also sprites facing right. After I finished with the sprites, I worked on the level maps, using Char Pad  for all 4 levels. Yes, I had time to do all 4 of the level maps. I was happy with the work done here.

Wednesday 2nd December 2009 - Programming - phase 1

I dug out the Real Speed We Need source code, and copied it into the Stunt Boat folder. This game of course is going to be programmed with the DASM cross assembler. I loaded up the source code and created a new assembly file, which was called "StuntBoat.ASM". This is the file which will link the old/modified RSWN source code (Map scroller) and include binary files into the source. Those of which are the music, character set for the in game graphics, the block data, map data and colour data and also sprites. I assembled the file, but needed to update the code, so that the old RSWN enemy attack waves, and other bits are disabled.

Saturday 5th December 2009 - Programming - phase 2

Not much (a lot more like) has been done today. I have been doing some tidying up, where I can remove all of the RSWN game attack waves code, and add new routines. After successfully removing the RSWN code I got the player sprite to show up on screen. Unfortunately when the player sprite was in the code, it was flashing. Oops, I have forgotten that this map scrolling routine uses double buffering. So to fix the problem, I fixed the sprite type at $47F8 and  $53F8, where $47F8 is the front buffer for the sprite, and $53F8 is the back buffer for the sprite. I can use $47F8-$47FF and $53F8-$53FF as both buffers for all of the sprites. As soon as I was happy with this, I added a routine which moves the player around the screen. Then I added a routine for giving the player the ability to shoot. I also created test tables and got enemy sprites to move depending on which direction they are to move.

Saturday 5th December 2009 - Programming - phase 3 - Enemy Movements and animation

Now is the time to get those sprites moving and positioned in different forms. I created yet more tables, to set up the enemy position values, the direction triggers (per enemy) and also animation tables. I tested the enemy movement for the first level and noted down what the enemies could be when they are moving across the screen. There are only three types of enemies I am using for this level. Those of which are helicopters, enemy boats and also enemy jets. After testing the enemy movements and starting positions (for the next bit of the enemy movement phase). I added subroutines to create the correct type of animation for the enemies. Then I added the RSWN text char set and made my own status bar. After successfully assembling and using PuCrunch for fast compression of the source. I got a nice result. Looks like level 1's attack waves are now finished - but I need to add collision next so that the player can fry those baddies. I will also need to add ramps for making the player take off into the air for a short time, then land back down again.

Here's a video of the latest test run. The music is by Fanta/Plush

Tuesday 8th December 2009 - Explosions

I programmed the sprite to sprite collision and also the explosion animation routine. I had to create some variables, so that logically during the process of a collision. If an enemy is alive, the enemy is normal. Otherwise if a collision has been made, the enemy will die. I also added a routine where an enemy/bullet collision is disabled if the enemy is dead and still exploding. I also added a routine that disables the UP/DOWN control of the enemy after it has been shot by the player. This took some time to create and ammend, but I got it to work at the end.

Sunday 6th June 2010 - Preview time

Aren't I kind to you eh? A sort of playable preview of the first level of USBC has been uploaded on to this page. There is no proper sprite/background collision or properly playable game, but I thought I share the work that has been done so far with this project. Enjoy!