Saturday 29th April 2017
Here comes yet
more progress made with this great Commodore 64 game project. The
game is starting to work out much better. The player / enemy bullet
collision finally got implemented. I did have a few issues with the
sprite/charset collision subroutine, so it was time to take a look at
that. There were some missing values, so those got fixed in. This
took some time and I felt quite frustrated with the sprite/background
collision subroutine. I decided to take a look at the source code of
X-Force to see where I actually went wrong. Sometimes it is always
good to have backups of older game projects, when in doubt :)
After fixing
those. I decided to work on a few additional background tiles, also
swapped colour attributes. This is so that on later levels, all 3
colours of the background ($d021, $d022, $d023) can be different. The
additional tiles build are power up tiles. The tiles got exported
into the source code. The tiles made were a shield for player's
invincibility – for a temporary moment of time, rocket tile – for
increasing the player's laser speed and a bomb – for a press space
bar smart bomb feature (not implemented into the source yet). I tried
reading the player ship to background collision, it read fine for the
shield and laser. Strangely enough however when I tried to call the
collision test to the bomb tiles, the code seemed to have read the
wrong part of the background, which caused a wrong area disappear.
This will be looked at some time next week.
You may also
remember last week I added a player death subroutine. There wasn't a
lives indicator. So that got implemented today. The yellow diamond
characters represent the number of lives (including zero) which the
player has. After the player explodes, the yellow diamond becomes
red. The player has 4 lives at the start of the game, and will
eventually be able to get extra lives later on in the game – Not
implemented yet. A Game Over jingle was produced for the game.
I also implemented
a STAGE CLEAR message at the end of the level. Before the message
appears on screen, I made it so that the player moves up.
Anyway, time to
backup this project and show you yet another video preview. Yet some
more bugs in the code, but this is still a WIP anyhow :)