Jump to content

  • Log In with Google      Sign In   
  • Create Account





- - - - -

A C64 Game - Step 61

Posted by , in C64 28 July 2012 · 1,238 views

And a little gimmick: Did you notice the black sewage in some of the later stages? Now it affects everything that's inside, as it's slowing down enemies and the players.

Attached Image


The change is surprisingly simple. We have a function named ObjectControl, which is called every frame to update all objects. We simply check if an object is inside sewage. If it is, we skip every fourth update:

		  lda DELAYED_GENERIC_COUNTER
		  and #$03
		  bne +
		
		  ;check if we're in water
		  ldy SPRITE_CHAR_POS_Y,x
		  lda SCREEN_LINE_OFFSET_TABLE_LO,y
		  sta ZEROPAGE_POINTER_1
		  lda SCREEN_BACK_LINE_OFFSET_TABLE_HI,y
		  sta ZEROPAGE_POINTER_1 + 1
		  lda SPRITE_CHAR_POS_X,x
		  tay
		  lda (ZEROPAGE_POINTER_1),y
		  cmp #111
		  beq .NextObject
		
+		
		  ldy SPRITE_ACTIVE,x
		  ... update object


The update calls are still fast enough so no joystick movements are skipped. Yay!


Previous Step Next Step

Attached Files









Trackbacks for this entry [ Trackback URL ]

There are no Trackbacks for this entry

August 2016 »

S M T W T F S
 123456
78910111213
14151617181920
21222324252627
2829 30 31   
PARTNERS