
SUB HUNTER
page 2 of 6
Page
1 / Page
2 / Page 3 / Page
4
/ Page
5 / Page
6
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.
16th
October 2005: The player invincibility and enemies
I have been quite busy today. O.k so it has been
since a couple of weeks, as I have been busy, out or just plain lazy.
Still, being that TV was crap today, and I had nowhere to go and nobody
to meet today, I carried on working on the Sub Hunter project. I dug
out all the resources and worked hard trying to finish off the first
level. So what did I do today? Well, generally speaking, I created a
routine which makes the player temporarily invincible. To make the
player invincible for a short time, I had to add some handy routines
which required some kind of logic thinking. This was done by creating a
controlled loop, and also a little counter to check how many times the
flashing of the player's sprite should take place before switching the
shield off. Once the shield routine turns off, the player is no longer
invincible.
So, how did I manage to make the player invincible for a few seconds?
Well, simply done, I checked whether the variable, which I had created
(SHIELD) equals 0 or 1 (Where 0 is off, and 1 is on). So if an enemy
touches the player when the shield is on, then the player will not die.
Else if the shield is turned on, and an enemy hits the player's ship,
then a collision is read, therefore the player loses a life and a life
is subtracted. Easy
The second thing that I done with this project is a bit of raster bug
fixing, as I noticed a blue flickering line above the game screen, so I
examined the code a little more, and figured out the trouble. So I
fixed it by adding a simple delay routine, and now the flicker has been
moved to where it cannot disturb the game itself much.
Finally, I assembled, compiled, and executed the the program, and now
it is working nicely. Good thing cross platform tools, don't you think?
17 October 2005: Finishing touches for
the WIP preview
After a very bad day at work, I was going to relax and not worry
about anything. One of my work mates asked me what was I going to do
this evening. I said, I'll relax and work on Sub Hunter project. Well,
I released a work in progress preview this evening. But before I done
so, I updated the game a little, to add the preview text. I done all
the serious packing and crunching business. I also composed music and
added it to the game. Converted the game preview to test on my real
Commodore 64 on tape, using WAV/PRG and a stereo (Which Phil uses on
his PC instead of PC speakers. (As my trusty 1541 is broken). I tested
the game on my C64 and it looked nice. So a released the preview on the
TND web site and also onto CSDB.
23rd
October 2005: More fishy coding
There have been some more red herrings left in the WIP
preview. But hang on, it was a "Work in Progress" preview, but was kind
of playable in some kind of way. However I read the feedback to se what
needed to be done about the first level with this project. Someone
pointed out that there were problems with the bullet/diver collision,
as when the bullet flies over the diver, it still kills it. There was a
bug with the collision coordinates, so I decided to fix this problem
today. So, I dug out my code and added an extra collision read routine
which reads the collision for the diver. I had to keep altering the
collision coordinates (or size) to make this collision a little more
fair.
Another thing which I have done today was to slow down the speed of the
enemies a bit by adding a delay control routine. Unfortunately on an
emulator, this looks very rough. Unfortunately, the result on the real
C64 also looked rough and dire. So I had to take a bit more action to
my sprite moving routine. I deleted the delay routine and copied it to
the diver moving routine then I went to the sprite enemy data tables
and slowed the enemy speeds down. Not only did I slow down the enemy
speed. I also slowed down the player's bullets. Looks much better now,
but I will need to play around more with the random position routine :)
I just email this preview to Frank Gasking now.
6th November 2005: A bit of fishy
business
I added a little
feature, which takes away the player's oxygen, for when the player
shoots a diver. (As the goal of the game is to rescue all the divers
and then reach to the surface). I also tried to add inertia to the
player's ship control. Sadly this did not turn out to be very good. The
inertia just would not work how I wanted it, so I decided to leave it
out for now. I also prepared another playable preview of the first
level of Sub Hunter. Intro linked it and uploaded it on to this page.
Next time I do this project will be next week, as I am on annual leave
from work from 11th November 2005 to 18th November 2005. Nice!
12th November 2005: A coding afternoon
hell!
I have been working hard
most of this afternoon trying to add inertia into the game, but sadly
no success. After what I have been through with this project I am
literally stuck with the inertia front. So if I don't succeed any
further, I'll forget this inertia idea. It is a pain in the backside,
and I lack good knowledge with high accuracy in game coding. I'm more
better being a C64 musician instead of game coder. So I emailed my
source code to Honesty/Covenant to see if he could help me out with my
problem with coding inertia. Fingers crossed.
14th November 2005: A sticky
situation, then a crash!
I was talking on ICQ to Honesty/Covenant. He has been
trying to help me out with the inertia routine. Unfortunately, there
has been loads of problems with the inertia routine. Instead of the
player moving at inertia speed, the player just halts. The second
thing is that the game crashes, after the joystick is held. This is
unfortunate. So looks as if I cannot go any further until this problem
has been properly ironed out.
17h November 2005: Inertia now
working - kind of
Honesty/Covenant got back to me, regarding the inertia problem.
He managed to fix the inertia routine. I tested the speed of the game's
inertia, but unfortunately the speed of the ship seems to be too fast,
slightly. I emailed the preview to Frank Gasking to show the inertia
that Honesty/Covenant was helping me with. Now awaiting reply.
18th November 2005: Reply back
Frank replied back to me regarding the game's inertia. He said
it looks good so far, but the diagonal control is missing. I emailed
Honesty regarding this issue. Awaiting response. I also been talking
about multiplexors to Frank. He suggested that the game would look even
better if more than 5 enemies are on screen. Now will I be able to code
this? Well, I have to get inertia sorted first.
3rd December 2005: Honesty replies back
I had sent an email earlier in the week as I never heard from Honesty
for a while. I got a reply back from him that he was unable to help me
with the diagonal inertia, and that he did not have the time, so it is
now up to me to sort of the Sub Hunter inertial for diagonal control.
So I replied back to Honesty to let him know that I'll give the
diagonal controls a go.
6th December 2005: Stuck like a jelly
fish.
Unfortunately not much is happening today. I got started with the
diagonal control for the player, but I lack in the knowledge of the way
Honesty had changed the joystick routine. I'm more used to using LSR
rather than AND #$xx. Maybe I could find something in the C64 user
manual on http://project64.c64.org probably might help. Well, I found
some handy help and noted dawn the joystick values to be read. Oh me,
oh my. What have I done? I done something even more stupid. I loaded
the wrong code file and cocked up again. I should have loaded the level1.asm
file to modify the inertia. Maybe I'll get on with it tomorrow evening
as it is getting late!
28th January 2006: No need for inertia
Well I am no longer stuck with the inertia. I asked Andrew (Merman) if
he could test the inertia preview. Sadly the inertia sort of killed the
play ability of this game, so I removed the inertia and worked on some
tidying up of the game code. I also added a new feature to home the
player's submarine for after a level is complete (when 5 divers had
been saved)
29th January 2006: Another preview is
born
Before I had finished off the first level, I had to make a lot
decisions with this project. One of which was to sacrifice a load of
sprites so that I could have 128 sprites in total. Most of the sprites
that I deleted (to make compact) were mainly explosions and assorted
deaths. I think for the game, I'll just use 3 explosions frames and
bubbles. Nothing else. I moved all the necessary sprites in place, so
that I could fill $2000-$3000 with sprite data that will be used in
the game. Once I replaced all those sprites, I saved those sprites,
then I took my notepad (paper) and a pen, and noted down the values for
the sprite frames.
After saving the sprites (one for sprite pad and another for converting
to a .prg style format), I turned off the PC, turned it back on and
entered MSDOS mode, so I could use the Star Commander (Mainly because
when I use Star Commander in WinXP it freezes. So after I adjusted the
file properties in Star Commander, I was ready to boot everything up
once again and continue with the project.
When I booted up relaunch64 and the other utilities (including Command
Prompt) I tested the game. Well, seems to have sort of messed up the
animation. The sprites were moved to different positions, so I
adjusted the enemy sprite tables. After saving, assembling and testing,
the game sprites worked fine.
After the fix of the sprites, I wanted to make a high score routine,
which can detect the player's score and then achieve the high score.
Well, it worked nicely. The routine was scanned from the Arrow Busters
game, and works a treat. As soon as I was happy with this routine, I
went for lunch.
Just after lunch I carried on more and made some additional sinus
patterns for the enemy fish. Once ready, I thought I give this preview
some finishing touches, by introducing the GET READY, GAME OVER and
WELL DONE sprites, which Frank Gasking drew. The GET READY, GAME OVER
sprites stay static. The WELL DONE sprites bounce. After those worked a
treat, it was time for some new music.
I loaded up WinVice, and DMC V4.0, loaded a tune called "YOU BE
MINE.DMC" and then used the same instruments and composed a different
tune, for the game. After saving the game, I converted it to the raw
prg format for use in the cross platform software. Then I took a tune
of mine called POSITIVE THOUGHTS from the HVSC, and used this tune as
the title tune (After being relocated with Syndrom/TIA's All Round
Relocator).
Once music was done, I prepared a temporary title screen, using the
char set from Frank Gasking's game Snazzy Snakes. I captured the screen
and colour settings and transferred those using WinVice's monitor, then
saved everything.
Finally I coded the title screen, and disabled the RUN+RESTORE keys for
the game preview. And.... that's it, my job for today is done.
You can
download this new and final playable preview here. Just click on the
disk icon to download :o)


11th February 2006
Nothing much has happened here. I forgotten to add an extra update to
this page, which is something as follows.
I had an email back from Frank Gasking, and I received the updated
sprites. Frank also wanted to show me something else, which was some
kind of hires object for the seabed. Looks pretty nice. I'll look
forward to seeing the graphics nicely implemented by Frank :) Apart
from this, nothing else has been happening, but will do some other time.
25th February 2006
Well, I guess I sort of had been lazy on the games front (Except
for the Primal Weapon game I
wrote last week :o)). So today I returned to this project from where it
was last left off. Frank Gasking had updated the sprites slightly, so I
had to adjust the sprite tables for when those updated sprites are
imported into the game. I viewed the sprites with Sprite Pad and then I
made notes of the frame values for each sprite.
Once I done this, I saved the sprite files and exported to the C: drive
on the PC. I turned off the PC, and then entered MSDOS mode to access
the Star Commander (In WinXP, SC seems to halt) and adjust the file to
make it into a C64 program file. Then I reset the PC and loaded WinXP
and the .D64 editor, created a temporary .D64 and imported the PRG into
this and exported to my project folder. I also updated the data tables
for using the new sprites. Removed the code of the playable preview
title screen and edited the batch file to link the updated sprites,
instead of the older sprites file. I also tested the game. Seems to be
working perfect. Now that's it. Level 1 most definitely complete.
Now that level 1 is finally finished and out of the way, the next thing
which I will do (possibly tomorrow or something like that) is the
second level (Shark Attack). (Which for now, will be using the level 1
background graphics as that is all I have at the moment) :o))
I also received an email from Frank Gasking, informing me that the
other levels for this game are nearly complete and should be ready by
Monday this week. I'll be looking forward to this :o)
Tuesday 7th March 2006 - File preparation
Because being a
weekday evening and TV is crap (I don't enjoy football). I decided to
do some more stuff for this Sub Hunter project. Frank emailed me a
specific documentation on how the graphics could be used and also the
settings for each level as well. This means a lot of hard work for me,
but I'm up to it. This spec doc will help out nicely. But I have not
done this yet
Frank had sent be a .vsf snap shot of all the level's graphics he done
using Jon Well's Multi Screen Construction Kit (I received those about
1 1/2 weeks ago and forgot to mention this in the diary). After viewing
all the level designs, I was very impressed with what I saw, done by
Frank. He deserves a good pat on the back for the job he done. I'd
better get my lazy arse off the internet, forums, etc. and concentrate
more on this game project as it is meant to be a belter of a release.
No, you lot can't have the MSCK it was commercial and it probably still
is :oP. So call me a tight fisted person if you want. You'll still wont
get it from me.
I prepared a .D64 image using WinVice V1.19 and saved the following
files from the MSCK, which are as follows.
SUBHUNTEROBJ - All stored object data for the screen's design (Which
Frank had already done)
SUBHUNTERCHR - All char set datas for the screen's designs
SUBHUNTERCOL - All colour data for the screen's designs
SUBHUNTERLIB - The final graphics library, stored specially for use in
the game
Later I got the .D64 editor handy and I transferred the SUBHUNTERLIB to
my Sub Hunter project directory and then done a test run of the updated
MSCK levels library file within my game code. Unfortunately it appeared
that my game code had messed up the MSCK data, so I removed stuff I did
not want. The screen comes on nicely, however there are some glitches
to the code. I need to fix a few things here. Should be no problem.
Once I managed to display the game's level graphics correctly, there
was something wrong with the game's code. This meant I had to modify my
settings for the game's scrolling. So I turned the test colour bars
back on, and done a bit of trial & error checking to see where to
set up the colour settings and new positions of the raster splits. Once
I set up the new settings and tested all the level graphics scrolling,
I noticed a flicker in the sea scroll. So I must fix that now :o (
After I fixed the raster splits I read more of Frank's documents which
mentions that the game should fade in at the start of the level and
also fade out after a level is complete. So I coded a fade in routine
for the start of the game. Looks kind of nice for the start. The screen
fades nicely and then the parallax scrolling begins. Now what about the
fade out routine? Well simple. All I would need to do is reverse the
process. Done. All work saved and I'll continue my work some
other time :o)
Yawn, bed time now I think
Friday 14th April 2006 - Rearranging a
sock drawer
I felt slightly
motivated to continue work with the Sub Hunter project. Well, level 1
has shaped up quite nicely, but there was a little more work to do for
this level. I really wanted to get started on the main code for level
2, which was supposed to be one of those depth charge type of games,
with rescuing of divers as well. Sadly I wasn't ready for this, because
all the code in the game was *that* disorganized. So I spent an hour
and a half, or something like that to reorganize bits of the game code,
and put those into separate assembly files, then added INCLUDE
(filename.asm) for assembly. I assembled the main code file, there were
a few errors that needed to be correct. So I modified some of the
mismatched bits of code and re-assembled once again. I got a result.
The code assembled worked fine. I should have *done* this in the first
place.
I'll send an email to Frank to let him know of my progress so far :o)

DOWNLOAD Sub Hunter Preview
Page 1