Sunday, 2 January 2022

Looking back at 2021

 2nd January 2022

This blog highlights my C64 activity in 2021. It has been a fun year on the C64 games development side. Let's take a look at the highlights of what happened in 2021 on the TND Games front. - This time it is more C64 focussed!

A fatal PC accident and the death of Cruiser-X 79?

In January 2021 my old PC which I was using to develop C64 and Unity games on had been slowing down too much. I did a backup of all of my necessary work, projects, etc onto cloud drives. Then I did a re-installation of Win 10, hoping my files are still on the HDD and hoping to boost the speed of the computer.

It took several hours to re-install Win 10 on my old computer (Which I had in 2009 with no hardware upgrades, as I felt I did not need those for C64 programming and game development). After Windows was installed, shock horror. My files had gone missing. The disk was completely formatted. I also tried to re-install my files the next day from cloud drives. Sadly only the folders and document files existed. Game binary and source code, etc had completely gone. Everything had gone ...  but did it all go? No, thankfully some of my game projects, tape mastering tools and other bits were actually stored on my Ultimate 64 or the TND web site "Assemble It" section.  I did however have to restart Cruiser-X 79, but I managed to make a better version of the preview, with better attack waves. I ended up with a new system for development two days later.

The Official C64 SEUCK Compo 2021

The Official C64 SEUCK Competition was launched in 2021, and once more the competition has been quite successful for the C64 community. 2020 mostly saw space shooters, but 2021 had a lot more variety. The idea as usual for the competition was to create and develop a decent shoot 'em up (or whatever you could) with the SEUCK. Enhancements were also allowed in the competition if you wanted to enhance the games. The prizes were enhancements for the top three winners of the compo. I created a special SEUCK game called Ray Fish, which later got enhanced in December 2021 and had a full release.  Out of all of the 9 submissions, the winner of the competition was Droid Rumble, by the SEUCK master and book writer, Alf Yngve. A fantastic futuristic beat 'em up, created using the sideways scrolling SEUCK where you are a SWAT agent, who has to shut down a factory being operated by malfunctioned robots. In second place was RoboformX-2 by Pinov Vox, a push scrolling cybernetic adventure, where you had to control a droid, in search of a deadly computer virus, and fight against the enemy droids. Ironically the 3rd place winner was Space Eggs, a game in which you play a mercenary soldier who has been transported on board a space ship and must save birds from the evil space eggs. I originally made Space Eggs as a little joke, but funnily enough it did really well. 

Now to end with a downer but with plausible good news. After many years of hosting the competition I have decided to step down as host for the Official C64 SEUCK Compo. There could be a new host for the compo later on in 2022. A real legend also, if you read Zzap 64 or Commodore Force back in the 1990s. :)

The CSDB Fun Compo 2021

I hosted the CSDB Lockdown fun compo in 2020, where the C64 community got to write games, demos or intros, which was themed to lockdown, or not themed. The competition was a success, and a new CSDB fun compo had taken place in 2021. This time it wasn't a lockdown compo. People could submit what they liked: games, intros, demos, music. There was a category for each. Although I hosted the competition. I also participated in the competition, teamed up with Ax!s and we created a winner Gyro Run. It made first place in the competition.

theC64 Programming Challenge

In April 2021, I decided to set myself a fun programming challenge, which was mostly done on Retro Games' theC64 full size computer. I picked out some of my favourite tools for the project and worked on Para Lander DX. A fun parachuting challenge for the C64. The game was mostly programmed in Turbo Macro Pro. Things did not go too well on theC64, due to some small bugs I made, that crashed theC64 where memory was concerned. Luckily plan B came along. I transferred all of the files I saved, and exported them to 64TASS and finished the project off on my PC. Then I turned them back into C64 assembly source and re-aligned the code so it would assemble in Turbo Macro Pro. The game project was then put together, complete and released. 

Shock Raid - What a shocker !!!

Shock Raid was first being written on theC64 but sadly it wasn't shaping up well. So I decided to just work on the project in C64Studio. This was perhaps one of most favourite titles in 2021, as I always wanted to make a full vertical scrolling shoot 'em up, without SEUCK. This made my dream come true. With Ax!s on my side doing the graphics, we managed to come up with a really stunning shoot 'em up. What was the shocker about Shock Raid? ... The game was made for several months, and it was pitched for issue 14 of Reset's Mix-I-Disk. Sadly the free magazine was delayed for several months and I was given the OK to release the game.

Star Hawx gets Zzapped 

Another highlight (and nearly to the end of this chapter) was Star Hawx. I was writing this game over the summer. I was a fan of the classic arcade games like Space Invaders, Galaxians, Galaga, Gaplus, etc. I was thinking, wouldn't it be fun to make something pretty similar just for fun. Star Hawx was one of those type of gems, which I didn't only have fun programming in C64 Studio, but I also had loads of fun playing this game and trying to beat my own score. Being a bad gamer, I never managed to complete the game, but Star Hawx was great fun to play on theC64. After the game was finished, it got submitted to the new Zzap 64 Micro Action covermount and then released 2 weeks later as a free download. (TND is non-commercial!!!). There have been some great reactions about the game. People seemed to have loved it.

Rocket Away 2

Outside TND, I did a co-op production with demo group, Blazon. I remember in 2020 I did a game for the Cassette 50 Charity competition, Rocket Away, and I wanted to make a sequel with better graphics and smoother game play. I teamed up with Baracuda/Blazon and a few of his friends from other C64 groups, and we worked on a brand new party game called Rocket Away 2. I did the programming, map design and sprites, while Firelord/Excess did the main graphics and tape loading picture. Logiker/Vintage Computing Carinthia did the directory art, while the rest of the team did the testing and feedback. Things went pretty well with Rocket Away 2

We all played our part in producing and developing a quality game production as a team. People seemed to have enjoyed this game also. I had loads of fun and sure would love to do that again with Blazon. - Actually we have been doing something over the Christmas holiday. You'll see :)

Ray Fish DX and Cosmic Combat DX

TND closed 2021 much earlier with a deluxe release of Ray Fish DX. I put a lot of effort into making the game earlier in 2021 for the Official C64 SEUCK Compo 2021. Sadly it never made it into the top 3 position. However Alf Yngve and I teamed up for the very last time to make a special edition of this game. I pushed Ray Fish to its own limits, where design was concerned. Alf focused on the game play. I worked on the remixes of the original music and imported those into the game. Ax!s also got involved with this project, and developed a lovely front end logo and also a brilliant piece of art for the tape loader. The overall production was more polished than previously. We also released Cosmic Combat DX.


SEUCK Title Screen Maker

I always wanted to make a handy little utility for the fans of the Shoot Em Up Construction Kit. I spent a few weeks working on a possible solution to help gamers be able to enhance SEUCK games with aid of no programming knowledge. The SEUCK Title Screen maker had features that allowed the gamers import a bitmap logo, custom character set, and music, (yes that is right) music into their own game creations. I worked hard on making it possible to add front end animation, scroll text and hi score table. There were also some options to select whether or not the SEUCK user's game is 1 or 2 player game. A manual was also written to help the user put a new front end onto the game. Included were example SEUCK games, enhanced with front ends. 

Well, 2021 was quite an active year for me on the C64 front, however later on in 2022. Things could possibly become more quieter on the TND C64 production front. We will just have to wait and see.

My main focus is to get Cruiser-X 79 finished in time for later on this year. There are bound to be projects in between. I have been waiting ages for missing assets for the game, but sadly there has been no time for them. Fingers crossed, that this year could be the year of the full game. Although I cannot promise that :).

All of the projects I have mentioned on this page are available on my to download in VICE, theC64, Ultimate 64, etc or even play online at:

The New Dimension

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 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:

Have fun and happy blasting.

Sunday, 20 June 2021

Cruiser X-79 June Update #2

 20th June 2021

Since I have more or less run out of other C64 projects to work on, and pretty much up to date with everything. I decided to work a bit more on Cruiser-X 79. It has actually been a whole day's session. Yes, that's right, about 8 hours or so. I needed to get a lot of things done today and I had nothing else to do. Considering the weather has been rubbish today also.

The first part of today's session was working on the music and additional jingles. I loaded up Goat Tracker and I experimented a little with the music to come up with some suitable in game music. I ended up doing 3 different tunes. The initial  plan is for the game to have only 4 different in game tunes. All of the tunes turned out more upbeat, and the well done and game over jingles sound familiar to the level 1 jingle. 

The next part was slightly more painful. The easiest part was to setup the filename properties. The second part actually gave me a real headache to work on. The disk access multi-load system. I tried compressing the test level graphics, character set and map as well as the music for the game. Unfortunately, however the de-crunch routine was crashing all the time. 

I discovered that the music memory is at $1000, and I cannot unpack a music file at $1000 when it loads to that address with Exomizer. I also had issues with memory management. I had no spare memory to place packed data. So I decided to leave out the Exomizer level compression for the time-being and load the test files as unpacked data. The program worked, but loading time takes a bit longer. 

I might need to find some alternative to the mem -l packing in Exomizer. If there is a load and decrunch on the fly method, then I might consider using that method. Otherwise I might have to do the level packing the more slower way, using a Level Squeezer and unpack from the level unpacker code. We will have to wait and see.

Update 21/06/2021 - I scanned through the memory area using the Action Replay Machine Code Monitor, after testing the game and found there was plenty of memory where I could load the packed data and de-crunch the data with the Exodecrunch wrap.s. Since the size of each packed file was less than 4K, and there was just over 4K memory free. I used the memory nearest to the last $100 bytes at the end of the game memory for loading and de-crunching the data. Everything seems to be working fine, although bugs in the title screen and the game still remain - but they should not be a problem to fix.


Thursday, 10 June 2021

Cruiser-X 79 - June Update: 1

 10th June 2021

Over the past few months. I mainly worked on a few small game / demo / intro projects. There have been times where I have been doing more on my game project. I noticed that it has been a few months since I last did some more Cruiser-X 79. This was because I was literally unsure what to do next after the alien movement patterns. The main game engine is more or less finished (except for the bugs that are still left in the game). The only thing that is missing for the main game code are the level graphics. That is up to Saul :). 

Okay, so if I cannot code any more on the game, what shall I do now. I decided to work on the front end for the project. The title screen graphics are still there. So it wasn't much of a problem to import them into the game project. I also did a mock-hi score table. The front end is not 100% complete yet, but it does look quite nice (and erm - green, ha, ha.). The title screen also uses the same music as I used in the playable preview. Since the music was made for the title screen anyhow.

The title screen appears to look nice, but it does need some kind of action in the scene to make it look less boring. The game is supposed to be a space shoot 'em up so I might add some kind of star field like I did with Zzapped in the Butt DX. There are characters free for this cool effect.

Another thing I need to add, which I decided to do this hot and sticky afternoon is add a disk loader system to load the main game. This is only for testing purpose, as no level packing has been done yet. The game currently loads through the SFX de-crunch routine from Exomizer. Eventually changes will take place in this project because I will need to make alternative plans.


I took note of all of the memory which current data from the title screen and the game used. I need to do this in order to  allow the loader system to load the data to a range in memory in the game, where it cannot overwrite important data or code. Then the data can unpack from that area to the target memory at range. The game loader will need to be split into 4 different files. They are as follows:

- In game graphics charset
- In game graphics tile set
- In game graphics map
- In game music

Each of these files (once received) will be fed to the Exomizer using the mem -l  prefix. The Exomizer de-crunch source (which I used on Starfysh Remix) will be used to unpack each file respectively to the correct memory bank of where the original charset, tile set, map and music lies. 

More on this next time I get onto it :)

Friday, 16 April 2021

theC64 Challenge #6 - Para Lander DX - Part 3/3

 16th April 2021

This is the final chapter. So what happened then? Well, in part 2. I assumed the game was perhaps ready, but there had to be a couple of adjustments made to the game. Here is what happened:

Levels - now what happened?

I had a test of the game and it appeared that the level counter wasn't working. I had forgotten to increment the level pointer to read the next level. Thankfully it worked. There was also a suggestion that I removed the two digit counter from the screen. This level counter was indeed meant to be for testing that each level was working and should have been deleted after the levels were working. I removed the digit counter.

Unreadable character found

The letter "Q" in the text on the title screen / hi score looked too much like the letter "D". Rather than use theC64 and Multi-Screen Construction Kit just to fix up a character set. I decided to export the character set to my PC and re-import it into Charpad V2.7 then I re-imported the charset into the game code in 64tass as a raw file. The letter looked much better.

Flashing status looked a bit off

The Well Done and Game Over sprites looked off with the grey pixels around them, so I set the colour for each flash as just a single colour. Like with the Charset, I imported the sprites into Sprite Pad to do a fix up of the sprites. Although the "well done" and "game over" text were still displayed as multi colour sprites, they both looked much better and more readable.

The count down was unfair

Para Lander DX had scenes where the player was jumping for joy, but it appears to be unfair for the player. This is because the clock was still ticking down while the player was jumping for joy. The problem was solved by stopping the timer.

I wanted to be oldschool, but I felt had to use Exomizer

With the test build of "Para Lander DX" I had to put up with having to link, pack and crunch several times while using ECA Compactor V4S and Cruel Cruncher V2.5. The oldschool packing and crunching was a lengthy process. I decided at the end to just use Exomizer and disguise the de-cruncher as some of the old favourite crunchers from back in the 1980's. I went for disguising the Exomizer depacker as the Matcham Speed Packer V1.2 (pictured). Considering that I used Future Composer V4.1 to do the intro music (Or ripped it from my previous intro for Ray Fish) ;). I thought it should have an 1980's feel to it :)

Finally the game is finished and mastering is done. I will be releasing the game next week. For now, here is a video of the final production. This is the digital tape version:

The game is intended to be released next week on 23/04/2021 at The New Dimension or Para Lander DX page

Wednesday, 14 April 2021

Cruiser-X 79 - April Update #1

14th April 2021  

Previous update was deleted along with the Para Lander DX blog entry. This entry from 3rd April  is what has been remembered from that day.

3rd April 2021

Last time I was dealing with alien patterns. The next task was to put these into levels. I also was setting up the colour settings for each level table. Of course, last time all aliens were put into order of sequence and were being tested.

That week (for this part in the development) I mainly focused on the level alien attack patterns. Instead of all aliens being in sequence 0-40. I setup alien selection tables for each level. The idea was to ensure that each table has a specific level of difficulty. There are 40 different alien tables (some of which are duplicated enemies doing different things). The idea is that the harder faster enemies get used after a few levels. There are 16 levels in total.

Now that all the alien patterns are in place for each level. There is not really much I can do to the game right now. Although I will need to work on doing different tunes for each level of the game. 16 different tunes might be too many to compose, so maybe I do a few tunes and then create a table to load specific music files. Still, that will do for now :)



Tuesday, 13 April 2021

theC64 Challenege #6 Para Lander DX - Part 2/3

 1st April - 13th April 2021 (Continued)

Last time in my blog I mentioned about the Para Lander Mini, and also how I thought the game was finished. Things did not really go according to plan. In this next part, this is where I decided to stick to 64tass instead of using Turbo Macro Pro. 


Last time

I prepared, designed and developed an enhanced edition of Para Lander DX on theC64 with aid of an Action Replay cartridge plugin, some C64 applications, including Turbo Macro Pro. I worked my socks off on the game project and finally came out with a working game. However things did not turn out how I expected. Although I had a fully working title screen, hi-score table and game. There were some elements missing in the game. So here is what happened.

A new intro - Nice

Friday last week I ended up with a new picture for a TND intro by Hugues. I worked on programming it, added a Future Composer soundtrack, and the result turned out great. I then packed and crunched the game with the Sledge Hammer II and Cruel Cruncher V2.5+ to continue with the old-school theme. Then I wrote the game documentation. Unfortunately however the game was still not ready to release. So it was back to the game code once more.

Random situation

The game was working out quite well, but the main problem was the game play. The zeppelins were moving slow across the screen but the game was just too easy to play. I decided to create a random table of speed and I set random speed timers and pointers to the zeppelins. Unfortunately however I was unable to continue using Turbo Macro Pro as once again, the bottom area of the screen messed up and this time it crashed. This de-motivated me more from using Turbo Macro Pro for this game. I must have used all the memory perhaps?

As a drastic measure I decided to from now with the project use the 64tass on my PC. I created the random tables, generated them and compiled the game (and crunched it with Exomizer) and run the game in VICE. It was working quite nicely. After I completed the first round, Zeppelins randomly changed their speed. I came across another issue. The zeppelins were going past too fast. 

This resulted to only setting the speed of the zeppelin to the slowest speed, and play with the drag rates, between 0 and 3. After compiling and sharing the build with Hugues and another tester. They felt that the game would be better off using levels. So ...

Rank up

I felt there was something missing in the hi-score display. The title and game have music, but the hi-score display re-uses the title music. I felt that there should be at least one more tune for the game. For this, I decided to browse through the HVSC under my name, and I found a tune I feel that would have been great for the high score table. Feel Great. As a bonus this tune was also composed in DMC V4.0. I relocated the music to $8000, and placed it into the game project c64 folder and re-built the source. It worked. Excellent.

Level up

Random zeppelins in the game code didn't really work out, so it was time to make levels. Actually that was pretty much simple. I deleted all of the random tables and I entered the drag speed value for each level. The table for each zeppelin's drag rate was 16 bytes. The drag rate was still set between 0-3. Although setting the drag rate of 3 to 2 sort of looks as if the zeppelins are moving at the same speed, but in fact the speed is actually set to faster. After setting up the last level the game should loop. I then re-linked the game to the TND intro and prepared for a release candidate on my Ultimate 64. Yet again I used the native C64 tools to pack and crunch the game, like it would have been back in the 1990's. I then sent the game to testers. Some bad news - there were still bugs.

Stop bugging me

I decided at the end that I'll just stick to using 64TASS and Exomizer for all the packing and linking of this project, but I can disguise it to look like some of the old memorable packers . This saves me having to mess about all the time using old packers and crunchers just for the sake of old-school - then finding out something else gone wrong with this project.

The bugs in the game were that the hi score name entry routine allowed unwanted characters, which made a mess in the name entry. This was supposed to allow alpha-numeric characters, delete, space bar and return keys only It turned out I had set an incorrect range value (perhaps a typo) that read from number 0 and all the PETSCII character code before shift+A. Pah!

The second bug was that the total number of levels = 15 instead of 16 before looping back to 01. I set an incorrect value in the level compare code. It should have read 17 as the max value instead of 16, otherwise it would have been 15 levels. I re-compiled the source and fed the project through Exomizer, and after a few seconds, the game was working. The game has now been sent to the testers. Hopefully this could be a better result. We'll have to wait and see.

Update: Still not ready yet, but nearly there. Fingers crossed ;)