Tuesday, 29 December 2009

Bah, Humbug.

21st-24th December 2009
Christmas is coming and it is time to do something of a novelty. I did want to do a game in time for Christmas 2009, but unfortunately because of less spare time, I had my own limitations. Well, I suppose I could have done a 1 level preview of Ultimate Stunt Boat Challenge but I would not have had that one done in time. I was hoping to have a new game produced this Christmas, so I decided to do a quick small game called "Bah, Humbug". Because of my own limitations, it took a a couple or 3 days to produce. I mainly worked on the game code first, before I did the in game graphics, music and SFX.

Bah, Humbug!
is a game, in which you are Mr. Frosty, a snowman who has be sent out to the freezing cold places to collect presents for Santa (As he has had a bit too much to drink the night before). Mr. Frosty discovers that the only way he can gather presents is by bouncing on a spring board. Mainly because some idiot has laid down candles on to the ground. So it was up to Mr. Frosty to jump and grab presents, avoid falling into the candles. But the idea was just too basic. So I decided to make additional characters to the game to make things more interesting and fun. Each character was given a different feature to enhance game play. Here's what I did:

Present - Scores 300 points (Collect enough to complete level)
Humbug - Scores 200 points
Pudding - The brandy makes Mr.Frosty drunk, so controls are reversed for a short period :o)
Grinch - Swipes 200 points off your score
Smelly Stocking - Swipes a chunk off the bonus timer (The higher the bonus timer, the more points awarded to the player)
Candle - Kills Mr.Frosty

At the end of the last level, I could not resist to add a little joke reward, which the gamers would need to play hard to find out what this little reward could be. It was quite funny.

As soon as the game was finished and the front end was done, I decided to do some tape mastering. So I dug out Martin Piper's IRQ tape loader source from Codebase, made some interesting alterations (No more Dance-A-Load now. I got fed up with it for the time being) and I made a nice black & blue flashing border with loading picture and music. The loader also uses a flashing tape sprite at bottom left corner. This is to represent a positive load, just like what Cyberload did back in the 1980's. Final result looked pretty nice, but why the heck did I add a noisy load on boot up and while loading the music data? Bah, Humbug!

Monday, 7 December 2009

Care to be a stunt man?

7th December 2009
Programming C64 games has been a major hobby of mine. Even if it is programming C64 games using a PC. For the past 2 months or so, I have been very busy with the co-op production with Wayne/Art Ravers' game called "Up in the Air". So far 4 levels have been done, but I have decided to put this on hold until after Christmas is finally over. However, I decided that rather than do nothing, I thought I should dig out one of my old unfinished games and create something new out of it. This is where Ultimate Stunt Boat Challenge came.

I was actually going to call this Professional Stunt Boat Simulator, but Ultimate and Challenge sounds much better, compared to Professional Simulator. Don't you agree? Plus professional and simulator kept getting used time and time again. We know who the culprits are, but the games were pretty good. I'd have to admit.

Anyway, my general idea for this game is somewhat different to what some people would expect. USBC uses the code and graphics from my scrapped Real Speed We Need project, and over the week I have been busy reorganizing the type of sprites, and redesign the level map designs. Also yesterday I have been organizing the enemy sprite types and also sprite movements. I was impressed with the work done so far yesterday. All I will need to do is add sprite/sprite collision, sprite/background collision, add the ramps for the boat, so that it can go over the background in some levels. I was very determined to get a special 4 level version of this game done in time for Christmas Day, but I best not rush it for the sake of Christmas. Plus my full time job takes over most of my time. I do miss the good old pub sessions since I was made redundant at my previous workplace in the end of July 2009.

Here's a video of the game in action:




Wednesday, 21 October 2009

Treasure Hunt


21st October 2009

I thought I have a go at transferring some of my Commodore 64 disks over to PC. Many of my old disks are unlabled, so I don't really know what was on each disk. Many of the old disks are either formatted or corrupt (Except for the ones I have bought of PD libraries in the late 1990's). Now while I was trying one or two disks out on WinVice. I first tried a disk which was labelled in red writing"Assorted Charsets". The disk contained the charsets that were saved from the " 99 Charsets" program by Danish Gold. While browsing through the directory. I came across some particularly weird filenames (File names were the track and sectors of the disk which were recovered with "Dir Master V7". With curiosity, I decided to load the file from disk on to WinVice V2.1 and then typed in run. I run the program, and it defrozen (as in those days I used the action replay MK VI cart for my stuff). I was presented with the C64 BASIC screen. What a waste of time that was.

BUT Wait. There's more. I browsed through the memory with the M/C cartridge and entered the fastload reset mode. Then I entered OLD: and typed in RUN. Well, seems I have unearthed an old unreleased SEUCK game of mine which I have never released. I typed in RUN, but the BASIC did not work for me. There was also some music at $1000-$1xxx, which I did using Music Mixer that I also forgotten about. Although the game itself is crap. It is a mystery unearthed, but the game is not good.

Tuesday, 18 August 2009

Up in the Air - Relocate, relocate. Ooer!

17th August 2009

Today, Andrew passed me another .D64 with the Up in the Air prohject graphics. This time yet more great sprites, and a new version of level 6, which I could implement into the game's code later on this week. Anyway, I loaded up the sprites. So many of them, in fact too many of those. It did not put me off though. I decided to relocate the graphics data and use BANK 2 instead of BANK 1, as that way it would make things much easier for me, as the sprites overlapped if loaded at $2000. So now the game source has changed its memory. Here's what we have so far:

$0800-$1000 - Spare memory (That could possibly be used for extra variables, or maybe additional code for the title screen.
$1000-$2400 - The music (Although if the music is larger, as some music editors players like DMC, I could expand it more, otherwise, I could add the exomizer decrunch code in this place)

$2400-$2800 - Decrunched screen data
$2800-$2c00 - Decrunched screen colour data

$2C00 - $4000 - Spare memory, maybe for crunched screen data and exomizer decruncher

$4000 - $7300 - Game sprites data (Bank #$02). Wayne filled a lot of memory with various sprites. Perhaps he got carried away here. Heheheh. Still not to worry, that's where I have placed them.

$7400-$7800 - That will be for the actual screen used!

$7800-$8000 - Game charset

$8000-$C000 - Game code. I am not too sure how big the game code will be, but I have switched the Kernal off by setting #$35 at $01. Which hopefully means I can add further code here. Good eh?

$C800-$CC00 - Title screen logo colour RAM data
$CC00-$D000 - Title screen logo video RAM data
$E000- $FF70 - Title screen bitmap data.

Sadly I did not get round to doing the randomizing of data, scoring, etc but I can continue with that later on this week. So stay tuned. :o) Okay. Now for a can of Foster's lager and a spot of C64 gaming! :o) Oooh, nice!




Tuesday, 4 August 2009

The darkness arises. Baphomet has risen.


Tuesday 4th July 2009
Don't panic. Darkness has not arisen. Friday last week, I had received another C64 game by Anthony Burns (Created using the Sideways SEUCK) called "Baphomet". The game was deeply inspired by some art by H.R.Giger and also the book "At the Mountains of Madness", by novelist H.P.Lovercraft. Anthony made a few H.P.Lovercraft games in the past, two of which were The Call of Cthulhu and also The Dunwich Horror. I was very happy to add music on to this game as well. But I wont be talking about my activities on this game, just some general information about how this game was made.

Anthony has been working really hard on this game. I am not too sure how long it has taken him to make a game like this, but I was well impressed with the in game graphics. The game starts with the usual SEUCK style title screen (or front end or intro as we all like to call it) with some instructions on what to do to play the game (I done a note file on the disk as well) and the game starts of where you should stand by and not do anything. If you move your player, you will end up crashing into the background which is deadly and die. I did something silly once by starting the game with a joystick in port 1, where the player just could not move - how silly was that eh?.


The game is split into 2 parts. The first part is where you are on foot, fighting against enemy guards and also having to smash some of the cannons (except for the flame throwers). The player could collect the spinning star emblems to boost up their score. The major drawback to this mission is that when the player touches any part of the background, they will die. The background is very deadly, which can be tough for the gamer, but it is a good idea anyhow. When the player goes on to the top part of the screen. It wont be able to move any further than about an eighth of the screen at the top (If I have calculated this correctly that is) . The player has to face two different boss enemies. The first of which are some heads shooting bolts. Later on, an evil skull-type of demon. Once past that stage it is then time to switch the joystick port over to port 1 (as prompted by the message).

Joystick port 1 controls the flying character, who has to fight against various enemies. Instead of this part being a push scroll, it is a continuous scrolling game so there is no need to try and push yourself across the screen. There are enemies that will self-destruct if you can't kill them in time. This is a very clever and probably new idea, which Anthony came up with in SEUCK. At the end of this level, you have to face a big demon, Baphomet and shoot hell out of it :o)

The graphics in this game is well drawn, very nicely detailed. Although it uses the black, white and grey mood. But that does not really matter. The only drawback to this scheme was that the walking player had a *red* score, while the flyer has a *white* score instead. I guess the red score did spoil the theme a bit, but I noticed that with SEUCK or sideways SEUCK, the player's score sprites have always been red if the changable sprite multicolour of the player's object was black. Back to the graphics ... The theme was well detailed and the mood of the game was dark. The theme was based in darkness, and the graphics really suited the theme. What a masterpiece Anthony :o)

This game would have been nicer in SEUCK Redux source, but I did not use it this time, due to the bugs left in the source, which unfortunately crashed the game (I did test the redux version with infinite lives, and not all was working. Player 1 score was black instead of red, the sprite/background collision animation was bugged and also the game crashed somewhere in part 2), but I will release this game on to the friends and contributors page of my web site, as soon as the original, but clean and compressed version is uploaded on to The SEUCK Vault.

Below you can see a video footage preview of Baphomet for the C64. This only features the start of the game. Well, I don't want to give too much away do I?

Monday, 3 August 2009

Up in the Air - Come Fly With Me

Sunday 2nd August 2009

Well it has been yet another busy afternoon, and still a lot of work is to be done before I can get a fully working level. Last week I was working on preparing the labels for the enemy parameters. Well, today I have done some programming, using parameters and it took a long time to prepare and program, but it was worth the Sunday afternoon for 3 or 4 hours or so.

First of all, I created the data tables (!byte tables) to represent the behaviour of enemy's movement. The movement tables will later on be put inside a timed loop, so that we can vary the enemy's directional movements. Each table will consist with only '0' and '1'. '0' represents the selected direction the enemy moves is switched off, and the '1' represents the selected direction the enemy moves is switched on. For example if I wanted one enemy to move to the left, directions UP, DOWN and RIGHT will be switched off and LEFT will be switched on. Or if I wanted an enemy sprite to move upwards and left, UP and LEFT will be switched on and DOWN and RIGHT will be switched off.



However, I wanted to get this routine working in a correct possible manner, and it took lines of code to program. I had to make an enemy direction store value, so that the directional table that is switched on will make the active enemy sprite move a specified direction. I had to create a LOT of routines to get this to work properly. Mainly comparing the value of the stored direction. If the stored direction label equals 1, the enemy can move that direction. Otherwise the enemy cannot move the specified direction. To make sure the enemy could or could not move, I tested each enemy by setting the first value of the 60 bytes for each table (according to the direction I wanted the enemies to move) and then I assembled and test the movement. Fantastic, it worked. Okay, so it is not ready yet, but it was a good start for enemy movements. My next task will be to vary the movements of the enemies, and then get the floating balloons animated.

Sunday, 19 July 2009

Knight 'n Grail

Sunday 19th July 2009

Yesterday after I got back from my 2 week holiday, I found a package in the porch and I wondered to myself, did I order anything? Yes. I sure did. I opened the package to find a new C64 game disk called Knight 'n Grail. Yesterday I had no time to play it because of the excessive new C64 releases on the internet and also because of excessive email messages.

Anyway, today I got to play it on my Commodore 64 (The real machine, not the emulators). After a short delay loading, I used the basic RUN and the front end decrunched with some funky music. Then I started playing the game. The graphics was nice, and the music was okay as well. The game itself was awesome. I just could not believe how hooked I was to this game. Could this game win the best C64 game of 2009? I hope so, as this game is now near to my favourite C64 games of all time. :)

Sunday, 21 June 2009

MERCS gets SEUCK(ed) in 1917

Sunday 21st June 2009

Wow what an amazing treat I had today. I was checking my email and then Anthony Burns mentioned that he produced another sideways scrolling shoot 'em up with the Sideways SEUCK. I just could not resist to try his game out to see what it was like. Anthony told me that the game was inspired on the Capcom classic on the SEGA Master System (as well as Commodore 64) called MERCS, but based in 1917, during the First World War.

So I checked through Anthony's game and played it all the way in cheat mode from the SEUCK editor. I was well impressed with the game, especially the end of level boss stages, which must have took some time for Anthony to master. I specially liked it where the huge battleship scrolls across the screen, then stops at one position and then scrolls across again. I even liked the ending of the game. Overall this game was amazing and probably was one of the best games I have ever seen done with Sideways SEUCK.

After getting impressed with the game production, I decided to add some music to the game and also import it into Martin Piper's SEUCK REDUX source. For the music, I could not really think of any new combat style tunes, so I dug out my old tune, I died at War and imported the tune into the SEUCK redux source. Also I altered the colour bars for the front end as well, from the green+yellow crap scheme into a nice blue raster bar scheme. Looks much nicer.

Once the SEUCK REDUX version was done, I decided to also do a version of the original sideways SEUCK source, but with the same front end music. The reason for why I done this is because there are NTSC users who would probably enjoy this game, and sadly REDUX doesn't cater for the NTSC machines. The normal sideways SEUCK scrolling engine uses PAL/NTSC. As I noticed with the comments section on CSDB for Trash Course.

Finally I stored the SEUCK source files and also a RAW version of the sideways SEUCK game on to my disk. Bolted the TND intro into both music versions of The Push and then uploaded it all on to the TND web site.

Saturday, 20 June 2009

Loading ... Please wait!


Saturday 20th June 2009

I seem to be trapped in a world of loaders, where I have been mucking around with the Martyload Tape loader source for Trash Course. I just could not make up my own mind how the loader should operate and which tune of mine I should have used. So at the end I decided to stick to the default loader (Black screen with white text) and then crack on with adding the tape master to the Trash Course disk.


Instead of wasting time with stuff like this, I should really be doing some serious stuff, Flippin' heck!

Sunday, 24 May 2009

Menu Please

Sunday 24th May 2009

It was another programming session for me today. But I can take a break from it tomorrow :) This time it was for me to program a disk menu for the disk version of The Last Amazon trilogy. The first thing I had to do was import all of the data which I was supplied, into the cross-assembly project. Before I could do that, I had to invert the 2x2 font, as the letters are going to be using raster colour bars.

As soon as all of the data was converted to the ACME cross assembler project folder. I started working on the code. The first thing I did was a simple test, which was to display 2 splits. One of which was for the bitmap and the other which was for the 2x2 charset. I put those inside an IRQ interrupt and then assembled those. The split worked.

Now my next job was to put all the raster bars over the 2x2 text. Which I managed to do. So now my next job was to get those raster bars straight by using timing tables. This took some time to do because when I tried to time the rasters, I ended up with the flickering moving all over the place. Once all the rasters were timed, I could add a scroll text routine in to the code and get it scrolling across smoothly.

Then I added a subroutine to read the keyboard, then routines for turning off the IRQ loader, etc and loading in the game, using a black screen and thin blue stripes - to show the disk loading. I was happy with the final result.

Update: I got an email about this menu and Psytronik Software was impressed with the work I done with this menu. I bet they were surprised at how fast such a menu project was. Just a few hours or so :)

Saturday, 23 May 2009

Bang, Bang, they shot me down.

Tuesday 19th May 2009 - Thursday 19th May 2009

I have been working on the Game Over sequence and also updating The Last Amazon 2, because I recieved the final version of the original SEUCK game with additional enhancements. I played through the whole game in cheat mode. I like it. Amazing new weapons, and even shields.

Now it was time for me to work on the game over routine. I was given a mockup and idea of what the game over sequence should be. So I worked on the gun shot idea which Kenz + Alf came up with. First I drew sprites, then I made some new music..

I programmed the Game Over routine by using 3 IRQ routines (Two for different sized chars and three for colours inside text) and then I created delay routines that will delay game and then delay over. Then the bullet holes come on screen one by one using a faster delay. Then we got a good result.

Friday 22nd May 2009

Back from the pub this evening - 3 pints. When I got online to check my email I was asked if I could put final scores on to the game over sequence for Last Amazon 2. So I converted SEUCK score data into text data and added the scores to the Game Over screen.

Last Amazon - Tape Mastering+Linking

Saturday 23rd May 2009

Weather is ever so nice today, but I had nothing to do, nowhere to go to meet people. So I decided to do some more of The Last Amazon trilogy project. This time something completely different. I took a look at the latest IRQ tape loader source code by Martin Piper and decided to alter it to make the loader slightly shorter and also base the loader on the same loader I used for Joe Gunn tape version.

I dug out the ACME cross assembler and first of all, I altered the loader's flashing border methods. Rather than have the classic cyber load colours, I wanted something much different. So I changed the Cyber load colours to something like this:

COLOURBASE: LDA #$06
STA $D020
LDA #$00
STA $D020

then I changed the INC $D020 where the check sum counts, to INC COLOURBASE+1 so that after each check sum, the loader will change the colour of the thin stripes per load.

Once I done this, I decided to make some additional features to the routine. Starting with altering the speed of the tape loader to medium/fast speed, because duplication can be a problem if the speed of the loader is too fast. Secondly I updated the scroll text routine, and removed the on screen messages "NOW LOADING LEGION OF THE DAMNED" to shorten the loader in size.

Also to shorten the size, I deleted the routines that saves and loads the loader's flashing sprite, and the counter routine. Both of those were not required for this TND/Psytronik loader. I linked the program files of the music, picture data and then game data and assembled the source to get a tape master.

Now I test the assembled tape master file and assembled it to a .prg file and run it in WinVice. I created a test .tap (or tape image as you would prefer to call it) and started to extract all the data on to the .tap image. I tested the loader, and it worked nicely. So I did the same mastering for different games. Then created a disk menu for the master.

The other job which I did was linked all the loader pics (With press space message) to each Last Amazon game. So I created my very own Picture Linker program, which will link pictures made with the Vidcom to TNDPic converter (Only for my personal use :o)). Then I inserted all the TNDPic files into the directory of my Picture Linker source. Then I added all the C64 files (Music, the games, etc) to the source. I assembled the source and linked the picture to each file successfully. Those featuring the linked pictures (With the press space message) will only be for the disk version.

This Last Amazon Trilogy project is nearly finished, all I need to do is program a special disk menu for the disk version of the game and then that's it :)

Saturday, 16 May 2009

Trash Course - Finished at last (I think)

Saturday 17th May 2009

Man, what a mammoth of a programming session I had today. First of all I decided to update the second page of the front end for Trash Course. I done this by changing the top 10 ranks into the top 5 ranks. Then I added the end screen message and linked the end screen text to the end screen message display routine. Then linked the Game Over routine to the end message routine (Because even if the game is complete, the player should get a high score if achieved).

Now my next task was to program in the high score routine. So straight after the Game Over screen, I decided to add jump routine that will jump straight to the high score detection routine. Nice!

Now it was time for me to program in the actual high score check routine. I programmed a check routine for each of the 5 positions for the player's high score. If the player reached a high score, according to the rank position. The player's score will be placed there and so will the player's name. Just to make sure this routine was working. I did a test name (As there was no name entry routine added yet). I played the game to try and get a high score and it worked. The test name "PLAYER 1" score hit the high score position along with the high score. Now it was time for me to add a name entry routine.

The name entry routine gave me a bit of a headache, because for some reason after programming all joystick control, etc. I seem to have had no action happening whatsoever. It appeared that where I was trying to reset the default char/screen position for the first char, I poked the low byte twice. So instead of pasting the new char to $7E90 +, it pasted it to $8F8F. And that was completely wrong. After correcting the joystick controlled name entry routine, all worked quite nicely. So now I can update the routines so that it will work with player 2 if he/she scores a high score. After a bit of fiddling around with the code, I got it all to work. Fantastic!

My final job was to update the graphics, as the options screen looked too plain. So using SpritePad V1.5, I drew new sprites for the game options and also I drew a 4 sprite logo for Inferior Software and then I added the logo in to the bottom border, and positioned all the sprites. This looked miles much better than my previous version of the front end.

Now the game production's programming has finally finished (I think). It is time for me to send this final production to Thorsten and Stefan for testing.


Tuesday, 12 May 2009

Playing with SEUCK Redux



Sunday 10th May 2009

Martin Piper had updated his SEUCK Redux source code, and it worked pretty nicely with Legion of the Damned. No flickers or SEUCK slowdown syndrome, and sprite/sprite collisions were pixel perfect. So this morning I have been busy updating the game a bit. First by working on the in game music for the game. I used the original LOTD title music work tune in DMC V5.0+ and then I worked on the second song of the same LOTD music and worked on with the in game music. The in game music starts off sounding sort of a bit like the introduction of a Metallica sound track, but it's not. Then the Matt Gray style drums and beats come one. Making the tune pretty atmospheric. After I done the tune, I packed it with the DMC V5.0 packer.

Now music was done, I worked on the LOTD front end. I felt that it needed a good rework, so I redesigned the front end character set from scratch. Some of the characters form swords and others formed bones. So I built the logo using swords and bones, while the rest of the stuff was done as plain text. Then I saved the final game work file and imported it into the SEUCK redux source. The front end came with a nice result. I was happy with what I done. With all music and working collision/improvements, which Martin spent a long time trying to solve. I was really pleased with the final result.



Now that was done, before I uploaded the game on to my TND web site. I decided to program a brand new TND intro. So I prepared the the source files (Char set, TND Logo bitmap data, Music, etc) and put it all together with source code. My intro looked ever so nice and quite professional (although plain) and I bolted it to the LOTD game and then uploaded on to my web site.

Fredrik the Ball is Back: Spider Maze 2 in progress

  11th January 2026 First of all, a belated Happy New Year to all C64 and retro kind.   At last, a new blog update and a new C64 project is ...