Jump to content

  • Log In with Google      Sign In   
  • Create Account





A C64 Game - Step 61

Posted by Endurion, in C64 28 July 2012 · 1,154 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






May 2016 »

S M T W T F S
1 2 34567
891011121314
15161718192021
22232425262728
293031    
PARTNERS