
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:
- More levels
- Better music
- Options screen for
music/sfx
- Animated sprites
- Nebulus style
scrolling
background (Fake parallax)
- High score table
- Better sfx
- A variety of
enemies
(rather than just two)
- End sequence
- Graphics by Frank
Gasking
- +More
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:
- Player to enemy collision - If the enemy hits a player, the
player should die and lose a life
- Player to swimmer collision - If the swimmer hits the player, the
player has rescued it, so more points scored and also a diver appears
on the indicator
- Player bullet to enemy collision - If the enemy collides with the
player's bullet then points will be scored and the enemy dies
- Player bullet to swimmer collision - If the diver is hit by the
player bullet. it dies and the player does not score points.
- Enemy to diver collision - If the diver gets hit by one of the enemies, it will
die.
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! ----------