Sunday, 29 August 2021

The story of Shock Raid

29th August 2021

Back in December 2020, I felt like setting myself up with another game programming challenge using theC64, and its cartridge supporting firmware update. I have always owned the classic Action Replay MK VI cartridge and used it quite a lot in the 1990's - present year for saving code. Then processing it through a packer and  cruncher, which I randomly selected from my collection.

I wanted to try and code a new C64 game, but unlike some of my previous games, where they were one-screen wonders which suited the use of Turbo Assembler. I wanted to try and attempt to write a vertical scrolling laser gate space shoot 'em up called Shock Raid. I used my PC and Style's Dirmaster to setup a utility disk, and also some work disks and put them onto my USB stick I used for theC64.

I got started on working on the game project. I created all of the graphics, prepared some music and also started programming the game engine using native C64 utilities. It wasn't intended to be an advanced map scrolling game at first. It was supposed to be a simple no thrills vertical scrolling shoot 'em up. I programmed the player's movement, the player's bullet.

Next I worked on making a simple scroll engine. The first part was to manually create and design the walls and then the obstacles. I did this by creating my charset using Dunex's char editor. I saved my complete charset. Then I did a hard reset. Attached the Action Replay MK VI and used fast load to load in my charset.  Next I pressed the freeze button on the Action Replay to go into the freeze menu and I selected the Edit Screen option and I manually created some walls and other things. Then I transferred the screen objects to memory location using the Action Replay machine code monitor. I took note of the memory location and then I saved the data to disk.

Next I generated some tables in which allowed to work out what can drawn. This did take me some time. However, although the first part of the project was going quite well. - Well not 100% well. I decided to call it a day on this version of the project and attempt to make a better Shock Raid. I felt that on theC64 I just wasn't getting anywhere with this project. So I considered this challenge a fail, or perhaps a prototype. So I decided to move onto finishing the project using cross-assembly.

At the start of January 2021, I copied the graphics data and sprites to my PC and then I continued programming the project in C64Studio. I did some enemies, had them moving and also made better progress with the program. However late January 2021 - disaster struck. My PC literally ground to a halt and deemed unusable. I had to re-install the operating system. I made backups of my necessary files to cloud drives which I was fully registered with. I downloaded the operating system onto a USB Zip drive and Then I re-installed the operating system from that drive. (Which was originally used as the backup drive for my work).

Even more disaster struck ... I spent hours downloading all of the backup files, which I tried to restore onto the computer. It included all of my other C64 projects I worked on in the past, finished off and released. Although the backups were being written back to my computer, the source and binary files all disappeared. The only things that exists were the file's folders. I was very gutted and spent most of the Tuesday night trying to save my projects from disaster. Even the Cruiser-X 79 files were completely lost from there. - but that did not force me to cancel the project. I actually started from scratch.

Luckily 2 days later, I ended up with a different machine, and I tried again restoring the cloud backup files - but the same problem persists. I re-installed all of the applications and decided to continue work on Shock Raid. However, I felt that what I did with Shock Raid previously just wasn't working out. I had to start again somehow.

I ditched the old version and I worked on a brand new version. First of all I created test graphics using CharPad V2 and a test map to ensure the game map was scrolling smoothly. Then I used C64Studio to program the map scroll routine, and get the test map scrolling. I then exported the test sprites from the files from theC64 challenge to Spritepad V2 and exported them to my C64studio projects. Then I added the sprites into the game program. Next programmed the player control to get it moving and shooting. Then it was time to draw a test map. After I was happy with the test map I did for the game project. I worked on the enemy sprites, and worked on the main game engine. Then more graphics were being made.

A 4 levels were in place, and just the player sprite, but the enemies needed to be put in place. So I loaded in my Alien Formation Maker V1.0+ tool to make some custom made movements for aliens. Then I exported the data to C64Studio and processed routines and macros for the aliens to move. Then I processed alien shooting and collision. This is looking wonderful, I have a working scroll field, moving aliens, and collision. Then I programmed an end screen. I was very happy with how the game was turning out. However, I wasn't happy with my graphics. Luckily I had some kind help for this part.

Although the game was more or less complete. There were still a lot of adjustments that I felt needed to be made. For a start off the graphics didn't look how I wanted them. Thankfully, Ax!s/TND popped by and agreed in helping make graphics for the game project. This was one piece of the jigsaw puzzle that was missing. After receiving a major overhaul of the game graphics, the game looked much better. There were still some more graphics to be made for this game, but it didn't take all that long to get them.

I worked on the sound effects and music. I used the SFX Editor V3.2 by Achim when I wrote Killer Saucers and Zzapped in the Butt DX for a TND Christmas release last year. I decided to use the sound effects editor again to make the in game sound effects. Then I used Goat Tracker V2 to make the music for the production. I put everything together and had a positive result.

All the music and sound effects were in place. I needed to deal with the front end presentation. There was a hi-score table missing. Also add a hi score saver, so that if the game was being loaded from a disk or a disk image, the hi score saver can save the list to the device. If detected any other device, such as a C64 tape deck for example, hi-score saver is ignored. Talking of tape. A new TapeToolBuild loader was made specially for this game.

After finishing off the front end complete with hi score saver. I was preparing a new tape loader system for the digital tape version of Shock Raid. I always chose the black and blue stripes, like the Enigma tape loader system in the late 1980's. However I opened the borders and added something slightly different to the loader. An 8x8 zoomed scrolling message. Then I added Ax!s loading picture to the loader system, along with loading music. The result was pretty cool. I loved it. 


After doing the final mastering, we spent a few weeks beta testing the game, and doing a lot of bug hunting. After all, you don't want to play game which would crash or corrupt graphics, or anything would you? :) I sent the game to my regular testers, who really test hard on my productions. In March 2021, I submitted the game to Reset for inclusion on the Mix-I-Disk (Which it will of course), but a delay had taken place. I was given the go-ahead to release the game onto my itch.io and TND web site, before the Mix-I-Disk (Which sadly is not ready yet).

Now you can enjoy the final result, either online or as a digital download. The game, Shock Raid has 4 levels, but if I were to add more levels, it would have had to be a multi-load. However I think each level is long enough, and the game should be hard enough, unless you are really good at these type of shoot 'em ups :) I hope you have fun playing it:

Here is the video footage of the game in action:



Shock Raid is available to download free from these two web sites:

https://richard-tnd.itch.io/shock-raid-64
or
https://tnd64.unikat.sk/s.html#ShockRaid

Have fun and happy blasting.



2023 at a glance

2024 is here, and 2023 has been a really quiet year on the production front due to everything that had gone back to normality. The year has ...