SUB HUNTER
page 1 of 6
Page 1 / Page 2 / Page 3 / Page 4
/ Page 5 / Page 6

The Sub Hunter Team:
Richard Bayliss - Programming, compiling, disk/tape mastering, sound effects
Thomas (Drax) Mogensen/Maniacs of Noise - Loader, intro and game music
Frank Gasking - Graphics, Ideas, Playtesting


Note: This game project has finally been finished and is now avaiable to download. Either visit the games page
 or download the full game, directly from this page.

To support, Psytronik Software, we have included an extra demo disk, which features playable previews of various games. Or if you wish to buy the game for your real C64 on tape or disk, visit the Psytronik Software web site.


Do you remember the classic C64 game called Sub Hunt released way back in 1984? Well I regret to say this, but I think it is purely crap and unplayable. Especially considering that the game was released at a sum of £1.99 and wasn't properly programmed. Someone just used a games creator. I was really disappointed with this conversion of the classic Vic 20 game. Yes, it's true. The Vic 20 version rocked and the C64 version sucked. Something for the hall of lame I think :)

Last Sunday, I had an email from Frank Gasking, asking me if it would be possible for me to do a C64 conversion of the Vic 20 version of Sub Hunt. It seems to me that Frank also dislikes the C64 conversion of Sub Hunt. I mentioned that I'm very busy on game project, Real Speed We Need, but will put it in mind. However, I also mentioned that the name would need to be different, so I called it Sub Hunter. Also on that day, I worked on a small prototype for this game, using some prototype graphics and sprites. I then showed the preview to Frank, and he liked the conversion I did.

However today, I received some feedback about this game. Frank suggested that I should work on the full game and music, while he offered to do the game graphics and screens. This means that this game will look even better than ever in the future. Looks like I'm working on two big game projects at a time. Heh, heh. Anyway, below are some screen shots of the prototype. You can also download the prototype and be sure to look forward to the full game.


The concept:

You are on a rescue mission, where various divers are stranded under water. They are losing oxygen. That is not the only thing that concerns you. There had been a radioactive oil spillage, which turned all the harmless sea creatures into giant mutants. These mutants roam the sea, and can stop divers at any time.

Your mission will be to control a submarine under the water, rescuing divers, stranded through several levels. Because the water is surrounded by mutant fish and deadly mutants your submarine is charged with infinite torpedoes, which you can zap the mutants. Be warned though, if you zap the divers, you will kill them. You'll also kill the divers if the top or bottom of the submarine will touch them. A diver can also die if a mutant scoffs it. Once five divers are rescued, your submarine needs to reach the surface, and then you move on to the next level.

If a mutant touches your submarine, a life will be lost. If you zap a mutant, it dies. I think that's enough instructions for your blessed little cotton socks :)

Planned for the full game are as follows:

Monday 6th August 2004: Prototype planning

I prepared the prototype sprites, and I also coded the game prototype using the Turbo Assembler on my C64. This is mainly because Philip, my brother was on his PC at the time. I spent nearly a whole day coding this prototype and preparing the game graphics. I then sent the preview to Frank Gasking to see what he thinks. Still awaiting response.

Tuesday 7th September 2004: Emails & more ideas + planning

I received an email from Frank, regarding the game. He was impressed and come up with some more better ideas, which I could code for the game. I also decided to do a first release of the preview as a Civitas release, write all the docs and announce that another new game is under production as well as real speed we need. Frank offered to draw game graphics using the Multi Screen Construction Kit, and also create the game sprites using the Spritepad64. We talked more and more about the game idea, and I was impressed with so many of his creative ideas, that this game could actually be a commercial release for Cronosoft & Commodore Scene magazine cover disk. But we will have to wait and see.

I was also discussing about finding people to beta test the game, when finished. But that will have to wait until I think that the game is finished and 100% bug/crash free.

Wednesday 8th September 2004: Sprites

I received a .spr file, which contained some of Franks sprites, which he has drawn for the game. I was impressed, I let him progress further with the sprites. There's going to be a variety of enemy sprites for this production. Including enemy subs, sharks, fish, etc. Please check out those images below :) Why not take a look and see what you'll see in the full game. I wont show all of those sprites, I want to make it a surprise.



Thursday 9th September 2004 - Talks about graphics and sprites

I received a few Emails from Frank. He mentioned that he'll draw some more sprites and he come up with an idea, which was to introduce a jellyfish, like in Blood Money. Hmm, jellyfish eh? Maybe if I implement the jelly fish, I could introduce it on later levels to make game play more hectic and fun :) Frank also asked a few questions regarding block sizes, as the character set graphics are currently being drawn in Charpad V1.0 and later on will be ported to the C64 to be used in Multi Screen Construction Kit (Not available on the web) where the main game graphics and screens will be developed, and also I can build the finished library, once satisfied (More on that on a later date).

Tuesday 14th September 2004 - More game ideas and sprites

While I was talking to Frank about the surprise, I ended up with yet more updated graphics. Great. Frank showed me a preview of the unfinished game screen, which looked nice. Later on, I received some graphics for the surprise feature (for after the game is complete). I won't tell you what it is, because after all it is top secret :)



Wednesday 15th September 2004 - Yet some more sprites & graphics

I have been very impressed with the graphics Frank had done, and yet more sprites were produced. Now it seems that this game will consist of a whole variety of sprites. He's drawn some additional explosion sprites, some crabs and other sprites. Some great stuff. I also received a snippet of the game's graphics, which Frank done using the MSCK.

I got working on the code for this little surprise for the game, when the last level is complete.

Sunday 19th September 2004 - Coding frenzy

I coded the little surprise, still a bit more to deal with, including fixing the sprite/sprite collision co ordinates, and also fixing the randomized positioning for the enemy sprites. I won't say much for this surprise feature, because after all, it is:

Monday 4th October 2004 - Introducing those baddies

It appears as if I have forgotten to update this page, while I had loads of e-mail from Frank Gasking about the game project. Sorry to keep you all waiting. Here's what's happened. I have received even more & more sprites, in fact 16K of sprites. That's hell of a lot of sprites. Really good ones too. Crabs, enemy subs, fish, and much more.


We also talked about taking a look at the sprite animation. (Using SEUCK). Frank will be preparing the sprite animation demo, using the SEUCK and then mail me the animation of all, if not then most of the sprites, moving across. First, I have to turn the sprites into SEUCK sprites format, which should hopefully be no problem. Then email the sprites in .prg form to Frank :) At last, something for me to do heh, heh. By the time you read this, it has actually been done and e-mail to Frank :)

Finally, today, Frank has emailed me a .PNG the char set designs for the level graphics, captured in WinVICE :)


As well as sprites, Frank also showed me the game graphics char set, and also an earlier design of the level screen. (Level 1 screen on this site is the incomplete version, as I seem to have lost the picture, which had the complete version of the level 1 background. Yet again, it is me being clumsy emptying unwanted files from my desktop.)

Unknown date:
Frank emailed me the animated sprites, as another Vice snapshot. The sprites were animated  using the SEUCK editor. I'll have to keep these with me for when the main game is under construction :) Heh, heh.

Sunday 31st October:  Return of those raster splits again :)

At long last, I have done something useful. I have started to code the game. Erm, not much happening though. First of all I build a game library for the Sub Hunter background graphics. Once the background graphics got saved on disk (or D64 as we call it on PC), I extracted the library file using the D64 Editor and put it into the Sub Hunter project folder. Once that was done I programmed some routines, to display the background graphics, using Relaunch 64 and DASM. I created a batch file that will put all the source together, with CBMCombine and compress all these, using PuCrunch, due to the really fast crunching speeds - and then test the program in WinVICE.

The background displayed o.k., but my next trick was to really sort out some rasters, and add splits to alter the colours of the level's background. Well, simply enough, I programmed an IRQ routine, which will display the game graphics, and colours, according to the raster splits. This has worked perfect for me, but what about the Nebulus - style scrolling for the background? Well, all I can say is that I will work on that, but not today. :) I have also emailed Frank Gasking what had been done so far, I'm awaiting response, should get it soon :)

Tuesday 3rd May 2005: Making Waves
After over six months hard work at the warehouse, without any leave, I am on annual leave, which means that I can continue with my C64 activities this week. Today I thought because of the problems I have had with Real Speed We Need, I decided to work on Sub Hunter. I have mainly been working out where to put several raster splits so I can do the parallax scrolling of the waves and try to do a parallax scroller for the seabed as well. Although it was around about October 2004 I was working on such a project, I decided to re-program the raster splits routine using additional IRQ routines, which helped really great. So I wrote down the values for each split and the worked on the multiple IRQs, which include those splits :) And so, it worked. Great :)

The next step for me today was to work on the parallax routine for the waves and also the sea bed. Before I have done this, I created some new variables, which were TEMP (1-6) and DUMMY (1-13). Those are the variables to be used with the parallax routine. However, I had to calculate the char set positions, so I made a new variable set at $0400 called CHAR. This was used for calculating the position of the waves. Because I want my game to be based on the classic Vic 20 game called "Sub Hunt", I want the scrolling direction to move right, therefore I have to reverse the process of the scroll routine. Sounded quite simple. Not really, because although I created the routines for the waves. I stumbled across another problem. This problem was that I could not add speed to the scroll, when I used:

SEA1:               LDA TEMP1
                         CLC
                         ADC #$01
                         AND #$07
                         STA TEMP1
                         BCS ENDSEA1

How dumb or stupid I was to try and use this routine to make a reversed scroll. It never worked properly with my main code. So I dug out Grid Zone Remix code to check out the reverse scroll routine. To my surprise, I did the code in SEA1 incorrect. Doh. Anyway I wrote down how the reversed scroll routine should work on to my notepad paper. Which should have read:

SEA1:               LDA TEMP1
                         CLC
                         ADC #$01
                         STA TEMP1
                         CMP #$08
                         BNE ENDSEA1
                         AND #$07
                         STA TEMP1 ;Heh, spot the difference :)

.... and it worked. Yes, it worked. However, although I did to get this routine to work, I come across another problem. I tried to change the speed to (Where it says ADC #$01 to ADC #$03), but the scroll halted and went all gobbledegook. Oh dear. I was also on instant messenger speaking to Merman/POL, and advised me what to do. There was no way that changing the value of the scroll speed higher than 1. He said, I'd need to repeat this process a few more times to get the scroll to speed up. I added 3 JSR SEA1 routines in the main loop and hey presto, it worked, except that the scroll routine used two extra chars, which I definitely will need to sort out myself. Hmm, strange that is, so I took a look at the Grid Zone Remix code to find out where I had gone wrong, and make notes carefully how I implemented the chars routine. Yep, I saw where I went wrong, but now I remembered to correct it :) Works nicely.

The next thing I have done is the Parallax of the Sea Bed. Not that hard really. It is basically the same step used like I did for the scrolling waves. Simply done. There's still a problem though. I need to implement more IRQs to get the seabed to scroll smoothly. Heh, this should be no problem anyway. It is just a bit of trial and error with calculations :) I also managed to kill off some of those annoying killer bugs. Raster flickering of course.

Saturday 7th May 2005: Scuba diving
I received a few emails from Frank about the game's scroller. He liked what he saw, but more work had to be done with the waves and the seabed. So once again I have been fiddling around with the raster splits. I turned those coloured border strips back on to help work out the raster values. I added a bit of grey to the bottom of the waves, as suggested by Frank. I was pleased with the result. So I emailed him the update .PRG of the project. I tried testing it with the next level screen, it went all crap. So I mailed Frank and showed him, what happened.

Sadly, just as I thought that I had finally finished with this scroller routine. I received more mail from Frank, regarding this project. The rasters were positioned at the incorrect position, so I will need to work harder with those waves and seabed scrollers properly tomorrow. Frank also send me some helpful hints on how to solve this problem. I'll read the advice tomorrow and also get everything correct Wish me luck :)

Sunday 8th May 2005: A weird morning and - REEEESULT!
I pushed myself a bit further to read what Frank expected and I decided, if that is what would look good, then that is what we'll have :) So I dug out the cross assembly tools, my game code and also the batch files to execute, to pack and compile everything together. But first, I had to re-write the scroll char routine. So I did. This time, I changed the char scroll routine to how Frank wanted to see it. Take a look at the table below :)


No. of chars
Speed of scroll
1
1x
2
2x
3
3x
4
4x

So this meant I had to make additional routines to calculate the speed of the parallax scroller. Executed by a certain amount of JSRs. Once I worked on the routines, I turned off all raster splits and made only 1 raster and test run everything. There were chars out of place on screen, so after a few major fix ups, I managed to get those chars rolling nicely. Despite working on those IRQs, my brother came up and told me about how far he got in his new PSP game, but I just took no notice and just got on with the raster coding.

The next step was to create the smoothness of the scroll, using raster IRQs. I had to make loads of IRQs to build up the smoothness of the scroller. First my raster splits were in wrong place, but luckily I had some test colour splits to help me work out which raster needed to be moved slightly, to get a positive result. I tested this with the level 2 graphic. Looked kind of tacky at first, but after I moved those raster splits to appropriate places, the scroller worked fine - well, sort of. My next problem was some pesky flicker between the background graphics, but thankfully, I managed to time it nicely and the scroller looks nice and professional.

I never done one of those mega scrollers before in my entire life, and I have to say how pleased I am with the result. :) So another morning with the project ends, and I continue some other time. But not tomorrow, because I'm going out to meet a nice friend who is a nice caring young lady. And I have a nice birthday present and card waiting for her - oh and me of course :)


Update: I had emailed the second scroller to Frank. He told me the sea bed was fine, but the sea scrolling, itself was still incorrect, mainly because I had used 3 chars instead of four for the fastest portion of the sea. So this evening I quickly fixed my code to get it working right and mailed Frank the preview. So why not check this pic out below, and download the V3 scroller. Looks even cooler and more accurate. :)

Thursday 12th May 2005: A perfect scroll
I received another email, from Frank. The scroll looked better, but the scroller needed a little bit of an amendment so that it mirrors the seabed correctly. This did not take me long to concentrated with, and I was pleased with the final result. I emailed Frank the .prg file and he said that I have done an excellent job and the scroller is perfect :) ... but you can't have it =-))

Sunday 31st July 2005: Been a long time huh, and I'm back in action - naturally!
It has been a long time since I last done something on the games front, especially this one. After loads of laziness and (just wanted to spend time playing C64 games, & PC games) could not have been asked to do more on my project. UK Television on a Sunday night is really that shit, so I thought that I would randomly carry on with one of my TND game projects. Today, it is Sub Hunter, as I'm pretty fond of this one. So then, what has been happening today?

Well, I took a look at the spritepad file and converted Frank Gasking's sprites for this game. I tried using Star Commander in XP many times, but it kept freezing (Now that is strange). However, I dug out the XBox and threw it out the window (You don't even own an XBox Richard, you liar :oP). Sorry, I meant I dug out the DosBox program (Which was given away in a retro-gaming commercial magazine) and I use Star Commander in DOSBOX, and this time, it never frozen. This made me much happier. I went to the directory, where the sprites.spr lied, in the SUB_HUNTER project folder. I highlighted the sprites file and the hex-edited it so that the sprites can display perfectly on the Commodore 64. :o)

After hex-editing the sprite file, I wanted to display the player ship on screen, so I dug out Relaunch 64, and got DASM ready. I also adjusted the TEST.BAT file, so that the sprites get linked using CBMCombine. After this, I worked a bit more on the game code. I wanted to display the sprites in the game scroller. So I created a routine that will display the very first sprite. I also added a routine to increase the MSB size for the sprites, using a simple routine, which I had always used for many of my TND games (Ha, because it is so simple to remember, and for me to use also :P). I test the code. Sadly it did not assemble. So where was my problem? Well, the error message said "Source not resolvable", with a label called D000. Oh silly. That should have been $D000. Typo errors hmmm? Well, after changing this routine, I successfully displayed the player sprite on screen.

The next thing that I suggested I should do was build a multi-purpose sprite animator routine. So I got started with the routine, to only animate the bullet and sprite at the moment. But later on this routine can be adjusted even more, for the divers and all those enemies, etc for the game. I coded the routine, tested it. The animation seemed to have been too fast, so I slowed them down a little, by adding an additional timer routine, which of course was not a problem one bit :)

After completing the animation, the next thing which I wanted to do was get that player moving and shooting missiles. So I simply added some more routines that can move the player across the screen and when the fire button is pushed, the player fires a missile. There was another problem which occurred with the bullet routine. The bullet kept visibly flying across the screen, but I soon fixed this problem, by adjusting the stopping position, mathematically. However, after sorting this problem, I noticed that there was also a problem with the sprite positions. But that can easily be fixed :o) After a quick fix up of the player movements and positions, I saved everything and emailed my progress to Frank Gasking.





Maybe later on this week, I can put in some enemies for the player to attack, bounce them about and things like that :o)

Monday 1st August 2005 -  More animation, some enemies and also music

I had a couple of hours to spare for this game project, so I thought that I should make use of the two hours available. Yesterday, I had mainly the player ship and bullet animation working. Today, I added some more animation to my code. This time it is for the enemy fish, and enemy subs. Not all sprite animation though, as I need to think harder with the game project, before I can actually do this sort of thing. I added some more data tables for the enemy sprite animation, etc. Then I created a table for the positions of each of the sprites (as this is going to be an 8 sprite game, like the vic20 Sub Hunt as I am useless at multiplexors :P.

After I coded more sprite animation, I wanted to add those enemy sprites and get those enemies moving across the screen, which was simply done. I added some more routines to put the animation frames to those enemy sprites and also the swimmer, who also swims across the screen. Of course there is a whole lot more work to be done to the sprites, as I will want to see those fish sprites bobbing up and down using a simple byte sinus table. Which should hopefully be easy enough to implement.

After I finished with the animation for the sprites, I thought I try a bit of music composing, so I tried out Goat Tracker V2.1, which is pretty more advanced. However, I managed to get a tune composed (Using the usual Bayliss-80s-style rhythm) and I was pleased with the tune, so I thought I could implement this tune to the game, itself. So after composing the music, I adjusted my TEST.BAT, so that it would compile the music as well.

Finally I went back to the game source code and added the music initialize and play routines and had the whole thing playing music, which all the game routines are in action. :o)



Well, when will I do more work to this game project? It depends. If I find that television is going to be that bad, and I have nothing else to do, then there *is* a possibility that I will work with this project even more. Including the fish bobbing routine and maybe introduce some collision detentions as well :o) Wish me well folks!

15th August 2005 - More coding due to sheer boredom

It is so nice today, I been stuck indoors at work, and also I have nothing else to do. No place to go whatsoever, so I though, now I done a little project called Jeffy, I jump on to Sub Hunter. But once again not much have been done today as I got so bored with it, and decided to do something else. I loaded up the relaunch 64 program and I coded a routine to make those fishes bob about a little, by creating a simple sinus table. At first the routine was playing up a little. I got peeved off, as the sinus routine would not work properly. All I had to do was move the sinus table, and funnily enough, it worked. I don't know what the hell happened there. Is the DASM bugged assembler? Apparently not. The byte sinus table tried to overlap another byte sinus table, after assembly. Later on, I decided to call it a day.

20th August 2005 - Weekend once again. An email from Frank & more coding.

I received an email from Frank Gasking, regarding the level 1 prototype preview. I had a response from his email. The preview is starting to look more like a game, but there are still some more amendments to be made for level 1, before I work on things, like the collision detection routines (i.e. fish or submarines killing the divers), player/enemy collision, player/bullet collision, etc. On Monday, I worked on the routines which made those fish bob up and down in a sinus sort of way. Frank saw the preview I emailed to him and he thought that the sinus movement for the bobbing fish was too much and too fast, and also the fish's speed for level 1 should be slowed down a bit, and that the enemy sub is to go at the speed of the bobbing fish. The sinus movement for those fish need to be slowed down as well.

I also see that there is something wrong with the game. I noticed that the sprites for the swimmer is incorrect. The swimmer is facing the wrong direction. In fact the original Sub Hunt game for the Vic 20 had divers appearing from the left, and moving to the right and my divers were going from the left of the screen to the right. No if that had happened, the game would become too easy. So now, I need to flip the sprite, so that it moves the correct way. So I dug out the sprite editor and flipped the sprite over to face the correct direction, using the Sprite Pad 64 program. Then I corrected the sinus movements.

Well, that's all I'll do for today, but I should hopefully be ready to do the collisions, random positions for the enemies and basically have the whole of level 1 working way before October :o)  I wonder what Frank Gasking will think of the updated preview I have emailed him :o)

21st August 2005 - Head on collision

I received an email back from Frank about the preview I showed him. He was again impressed, but asked me to slow the sprite sinus down a little more. So after I slowed down the sprite sinus, I created a routine, to randomize the positions for the enemies, according to the byte table value, calculated in a variable. This took a short while to code, however, I managed to get the thing to work and the sprites can now reposition themselves, according to the variable (randpos1), once off screen.

Once I done this, I worked on the collision detection routines, for the following:

This is the theory for me. However, I did some collision detection routines and I managed to get all those routines working. Although it did take a bit of time to get everything up and running. Especially when I kept making a label in the routines, and called a label that did not exist, resulting in "Error: Source is not resolvable", but hey. That's me. I corrected those problems. I done some temporary additional routines, which halts the game for the player to enemy collision. The scoreboard and status bits are not working at the moment, as I have done nothing about those. However, maybe by the end of this coming weekend, I will probably have a whole level ready to be played. We will have to wait and see about what will happen there.

24th August 2005 - You drowned my fish!

A further more coding today. I have been working on the game score. I needed to take a look at the MSCK char locations, so I took a look at the value of each char, where the score was. I then managed to code the score adding routine. 10 Points for a fish shot and 50 points for a diver rescued. I also fiddled around with the randomizer a bit more, but funnily enough strange sprite dissapearences occurred. So now, before I finish the first level with cool animations, etc, I have to do a lot of major bug-fixing. (Especially when I want to release the first level demo as a playable preview for all my contacts :))

27th August 2005 - Email to Cronosoft

I emailed to Simon, at Cronosoft to show some of the work done so far with Sub Hunter. .....  Now awaiting response.

28th August 2005 - You drowned my fish again!

I've had an email from Simon, about the game project. He seemed interested and the game is starting to look great. :o) Most of the time with this project, I was fiddling around with the random position tables and routines, because I still wasn't happy with those routines. Anyway, after a lot of tampering about with my routines. I managed to get those to work. The next thing for me to do is the main touches for the first level, to ensure that this game will of course play properly :)

Until next time :o)

25th September 2005 - Back in action

After a month's rest or so, I decided today to do more with the game project. First of all I removed the music from the game, as it was beginning to annoy me, especially when it comes to testing the game. Music will be the last thing for the game. I loaded up the assembly code, and this time saved it all as a new file called "level1.asm". This is because for each level, the source code will be changed and will be packed with the Exomizer. Especially if there is going to be more than just a simple classic-style shoot 'em up. I have not got round to the "Shark Attack" level 2 stage, yet, but there is plenty of time. I've also killed off the unecessary flashing border routine.

Today, I have been working more on the divers to save routine, only on the diver indicator routine that is. I wanted to make use of this routine, so I created some variables that would blank the bottom right of the status bar, and hide the divers. Then after that was done I created a routine, to display a diver on the bottom right of the status panel, for after each diver is rescued inside the submarine. :)

Next time: The enemy explosions routine.

26th September 2005 - A fishy routine fixed

I recieved an email from Frank Gasking, regarding the positioning and random new positions for the fish and the enemy subs. There was still something wrong with the tables, as the enemies seemed to have moved in groups. Well, after reading this email I fixed the enemy positions and the random table, so now they group in the same position less, to make the game more fair.

Now I fancied doing something quite funny. Since the position tables had been sorted out. I wanted to add a little fun to the game itself. The explosion generators. But before I actually do that, I fancied doing something cruel to the diver. Let the fish actually eat the diver, by using a death animation. So I dug up the sprite pad to take a look at the sprites and work out which sprite values are the diver's death frames. I had to change a few of my routines in the bullet/diver and enemy/diver collision, so that I could disable it when the player bullet or enemy sprite is going past the diver when the explosion is in progress. :) After a bit of hardcore coding with this routine, I managed to get a good result. So now, if the enemies or the player bullet hits a diver, it will die in an unpleasent sort of way. Heh, heh. Shall I tell you what happens?  Oh and I fixed the score to work properly :)

Well, what happens is when the diver is dying, you see the skin tear off and then all the bones snap :) Whoohooo. Scary stuff!

It was pretty easy to code, but was hard work I tell you. Anyway, I bung it off to Frank, to show him what has been done.

Now what next? Just wait and see.

2nd October 2006 - The player sub's head on collision

I am still concentrating with the sub's collision with the enemies. Actually this did not really take long to work. I had to swap some of the routines over so that not all parts of the game jump, when it comes to calling a routine for the enemy sprite to player collision being turned on. I created a variable called PLAYER_SHIP_DEAD, and as usual, I used the simple routine switches where LDA #$00 turns the death off, and LDA #$01 switches it back on, followed by STA PLAYER_SHIP_DEAD. When the collision occurs in the game, I haulted the player's control and collision detection, while the enemies and divers are still in motion. Because I had not yet set the explosion animations (but it will be done today) I made the border flash continuously in a controlled loop. Thankfully the routine worked a treat. Now that works, it is time I changed the routine, to make the player's colour turn yellow and explode.

After being happy with the INC $D020, working in the game. I decided to add the explosion animation routine. When I added the explosion animation, unfortunately the speed for the player explosion was way too fast, so I had to code a little additional routine, which would slow down the duration of the explosion animation. Well, thankfully this worked a treat, and I was very happy with the result :) The player explosion had just about right timing. The next task today is to subtract the amount of lives to the player's sub. Which hopefully should be no problem :)

After the explosions were added, I added a small counter to deduct the amount of lives the player has. What happens now, is when the player loses a life, the counter calls a routine to remove the sub icon from the status bar (lives). It works out very well, and I am impressed with the result. Also when it comes to the last life being lost. I just made a simple routine, which will just continuously flash the border, and stop the game completely. Of course this is only a temporary thing.

Now, the next task will be the enemy explosions. Unfortunately this will mean that a lot of changes will need to be added to my code. But it should be easy enough though :)

I had to re-arrange my code a bit more, for the enemy explosions. I had to make some new collision routines, which have worked out nicely. The enemy fish die using bubbles for animation and the enemy subs use a different explosion for the game :)

I also added the countdown on the Oxygen timer, got the lives to work and also added a routine for where the level is complete. (When all divers are saved and the player moves on to the top left of the screen, all divers are saved, and the preview is complete,. I converted the preview to my C64 looks good, and I even showed my brother, Philip the preview. He was impressed. He said to me "Richard, this game is beginning to look superb! Nice graphics, and music". Well, the music was the in game tune from my "Sharkz 2" game, but I can of course alter the tune if I wanted to :)

This preview is nearly complete, but before a 1 level preview gets released, I have emailed the game preview for play testing first, as there may be a bit more work to be done on this project as well. :o)

This pic below shows the result of level 1, which is yet to be finished off  :o)






----------- To the next page! ----------