• entries
104
102
• views
259231

# A C64 Game - Step 50

2164 views

In this step the powerups for range increase and decrease reload delay are made permanent. They won't fade with time.
You can also collect up to five extras to reach the maximum. And the powerup stays even when you get killed. (Don't you hate it when you die in Bubble Bobble and you're slow again).

Previously we had a flag that stored the time left of a faster reload. The max times are now kept in a table, and a faster reload step value is stored instead.

The speed table RELOAD_SPEED_MAX and other counters for this update:

PLAYER_RELOAD_SPEED
!byte 0
!byte 1,1,1,1,1
!byte 40,35,30,25,20

Initialising on game restart:

          lda #0
sta PLAYER_RELOAD_SPEED

During standing still the reload speed value is now used to count down the time.

          ldy PLAYER_RELOAD_SPEED
lda PLAYER_STAND_STILL_TIME
clc

sta PLAYER_STAND_STILL_TIME
jmp .HandleFire

lda #0
sta PLAYER_STAND_STILL_TIME

During pickup of the increase reload speed the counter needs to be updated:

          lda PLAYER_RELOAD_SPEED
cmp #4
.SpeedHighestAlready 

Making the force range increase permanent is even easier, we simply remove all instances where it was reset to the start value on respawning and starting the next level.

Looks great, reminds me of good old Ghosts 'n Goblins. I tried running the game but couldn't get it to start up. After Load "..",8,1 Ready, Run... then nothing happens.

Sorry, I just saw your comment.
The .prg extension is a fake emulator medium. Usually you can attach it via the tape (or drag/drop the .prg file onto your emulator). It should autostart then, you shouldn't have to manually load something.

## Create an account

Register a new account