JamesNES
Well-known member
incredible. HOW DID YOU DO THAT?
Just X and Y values flying around the screen basically. Way less processing time when you aren't doing all the NES Maker object stuff
incredible. HOW DID YOU DO THAT?
Just X and Y values flying around the screen basically. Way less processing time when you aren't doing all the NES Maker object stuff
Thanks, it's like, find the bat's centre x/y point then see if it's inside the player's bounding box. So it's a point vs a box rather than two boxes intersecting.That is truly impressive. Can I ask you for some details on how you are handling the player collision with those X and Y coords?
checkPlayerCollisions:
txa
pha
LDX #$00
LDA particleXHi,y
STA tempA
LDA particleYHi,y
STA tempB
LDA Object_x_hi,x
STA tempC
LDA Object_y_hi,x
STA tempD
;;tempA = particleX
;;tempB = particleY
;;tempC = playerX
;;tempD = playerY
;;centre coordinates
LDA tempA
CLC
ADC #$04
STA tempA
LDA tempB
CLC
ADC #$04
STA tempB
LDA tempC
CMP tempA ;;is px < x?
BCC +
JMP +noCollision
+
CLC
ADC #$10
CMP tempA ;;is px+16 > x?
BCS +
JMP +noCollision
+
;;so x value is in range
LDA tempD
CMP tempB ;;is py < y?
BCC +
JMP +noCollision
+
CLC
ADC #$10
CMP tempB ;;is py+16 > y?
BCS +
JMP +noCollision
+
;;has collided with player
GetActionStep tempG
CMP #$07
BNE +
JMP +noCollision
+
+deleteThisParticle
jsr particle_bumpPlayer
+noCollision
pla
tax
RTS
Wow... I'd love to have a small tutorial for your vertical scrolling. Looks very nice!
Thanks!THIS GAME IS FREAKING AMAZING!!!!!
This is so cool, I haven't seen this before. You've gotta make some tutorials for the menus and text scrolling in the first post, that's so clean. Keep up the fantastic work.
This is shaping up to be the most technically impressive game! I hope you release physical copies when it's all done.
I bet you freed up a ton of space by wiping out the textbox code. That nametable stuff is some very complicated code to get into for me. I was trying to figure out a way of pulling the tile # and pallette for particular x/ y coords and had to backburner it so my brain didn't melt. Are you just restoring the covered up bits, or the entire screen?
SwitchBank #$16
LDA camScreen
TAY
LDA NameTablePointers_Map1_lo,y
STA temp16
LDA NameTablePointers_Map1_hi,y
STA temp16+1
ReturnBank
;;find and switch to the screen bank
LDA camScreen
LSR
LSR
LSR
LSR
LSR
STA temp1
SwitchBank temp1
;;load a tile from the original nametable pattern
;; y is the coordinates of the metatile to load like #$YX
LDA (temp16),y
STA tempA
;;now you can use a macro or subroutine to load it into the update ram to be drawn
That's very nice of you! I haven't had a go at it actually playing with another person since I broke half of it when I started overhauling it and adding new modes, so hopefully it will be fun when I try it properly.I’m constantly amazed by your coding skills. This game looks like so much fun!