Home School

SciNEStist

Well-known member
I got through 10 levels and it went back to 1, so I think I beat it!
great job on the theme, I could recognize what everything represented.
The platform timing has to be dead perfect, so I did end up using save states to beat the last few levels.

The music could use some improvement, and adding some sound effects would make it much more polished.

It reminds me a little of doodle world, did you use it as inspiration?
Thank you for sharing!
 

Amune138

New member
I got through 10 levels and it went back to 1, so I think I beat it!
great job on the theme, I could recognize what everything represented.
The platform timing has to be dead perfect, so I did end up using save states to beat the last few levels.

The music could use some improvement, and adding some sound effects would make it much more polished.

It reminds me a little of doodle world, did you use it as inspiration?
Thank you for sharing!
Thanks for trying it out!!! im a speedrunner so i made it very simple but hard. lol the music was my firt try with famitracker. My kids are Home Schooled so that was the inspiration, i did see doodle world a few days ago... there is 20 levels, maybe i messed up the warp on lv10 ??? THANKS AGAIN!!!
 

Jonny

Well-known member
Brutal but great. Those hitboxes and timing are not forgiving at all but that's what makes it fun. The only thing I'd suggest is a small fix so player doesn't stop abruptly when jumping and hitting solid. I cobbled together a replacement solid tile script a while back...

Code:
;    LDA Object_flags,x         ;; CHECK ITS PLAYER        ;;
;    AND #%00001000             ;; MONSTER FLAG            ;;
;    BNE dontStopV
   
;;; SOLID FOR ALL OBJECTS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   
    LDA ObjectUpdateByte
    ORA #%00000001
    STA ObjectUpdateByte
   
;;; CHECK SOLID ABOVE ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   
    LDY Object_type,x
    LDA Object_x_hi,x
    CLC
    ADC self_left
    STA temp
    JSR getPointColTable
   
    LDA Object_y_hi,x
    CLC
    ADC self_top
    CLC
    ADC Object_v_speed_hi,x
    SEC
    SBC #$01
    STA temp1
    CheckCollisionPoint temp, temp1, #$01, tempA
    BNE dontStopV

;;; STOP VERTICAL MOVEMENT ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    LDA yPrev
    STA Object_y_hi,x
    STA yHold_hi

dontStopV:
Only a suggestion though. You may prefer it as it is. Let me know if you try it out.
 

Amune138

New member
Brutal but great. Those hitboxes and timing are not forgiving at all but that's what makes it fun. The only thing I'd suggest is a small fix so player doesn't stop abruptly when jumping and hitting solid. I cobbled together a replacement solid tile script a while back...

Code:
;    LDA Object_flags,x         ;; CHECK ITS PLAYER        ;;
;    AND #%00001000             ;; MONSTER FLAG            ;;
;    BNE dontStopV
  
;;; SOLID FOR ALL OBJECTS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  
    LDA ObjectUpdateByte
    ORA #%00000001
    STA ObjectUpdateByte
  
;;; CHECK SOLID ABOVE ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  
    LDY Object_type,x
    LDA Object_x_hi,x
    CLC
    ADC self_left
    STA temp
    JSR getPointColTable
  
    LDA Object_y_hi,x
    CLC
    ADC self_top
    CLC
    ADC Object_v_speed_hi,x
    SEC
    SBC #$01
    STA temp1
    CheckCollisionPoint temp, temp1, #$01, tempA
    BNE dontStopV

;;; STOP VERTICAL MOVEMENT ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    LDA yPrev
    STA Object_y_hi,x
    STA yHold_hi

dontStopV:
Only a suggestion though. You may prefer it as it is. Let me know if you try it out.
Thank You for trying it out!!! i will def check that out THANKS!!!
 

Amune138

New member
Brutal but great. Those hitboxes and timing are not forgiving at all but that's what makes it fun. The only thing I'd suggest is a small fix so player doesn't stop abruptly when jumping and hitting solid. I cobbled together a replacement solid tile script a while back...

Code:
;    LDA Object_flags,x         ;; CHECK ITS PLAYER        ;;
;    AND #%00001000             ;; MONSTER FLAG            ;;
;    BNE dontStopV
 
;;; SOLID FOR ALL OBJECTS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
    LDA ObjectUpdateByte
    ORA #%00000001
    STA ObjectUpdateByte
 
;;; CHECK SOLID ABOVE ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
    LDY Object_type,x
    LDA Object_x_hi,x
    CLC
    ADC self_left
    STA temp
    JSR getPointColTable
 
    LDA Object_y_hi,x
    CLC
    ADC self_top
    CLC
    ADC Object_v_speed_hi,x
    SEC
    SBC #$01
    STA temp1
    CheckCollisionPoint temp, temp1, #$01, tempA
    BNE dontStopV

;;; STOP VERTICAL MOVEMENT ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    LDA yPrev
    STA Object_y_hi,x
    STA yHold_hi

dontStopV:
Only a suggestion though. You may prefer it as it is. Let me know if you try it out.
just getting around to using this...
so i just replace the solid tile script with this?
sorry im very new to nesmaker. im gunna have lots of questions.
will this work in metroidvania 4.5.9 as well?
the dontStopV: seems to be giving me trouble ?
Thank You!!!
 
Last edited:

Jonny

Well-known member
I wrote it when using metroidvania module. Sorry, I thought it would work (as a solid tile replacement) but there must be other variables effecting how it works I guess. It should make player not stop abruptly when moving left and right jumping and hitting head on solid above. I think @9Panzer uses it but I'm not sure about that or if there was any problems with it ?
 

9Panzer

Well-known member
I don't remember having any issues - but I have to admit that was extremely early in my NESmaker journey. I would have Implemented it years ago.
 

Amune138

New member
I don't remember having any issues - but I have to admit that was extremely early in my NESmaker journey. I would have Implemented it years ago.

Thank You so much for looking at this!
dontStopV: the last line
this is what was/is giving me an error message... [think it said dontStopV: was already defined??? i could be wrong]
think it just needs something a + or : ???
thanks again!
 

9Panzer

Well-known member
If its says "Label is already defined" that means that "dontStopV:" is already being used somewhere else. I would suggest starting with a search for that keyword in your code. Odds are you copy and pasted it twice.
 

Amune138

New member
If its says "Label is already defined" that means that "dontStopV:" is already being used somewhere else. I would suggest starting with a search for that keyword in your code. Odds are you copy and pasted it twice.
even with a brand new nesmaker i still get Label already defined?
i think i got it to work but i was getting stuck on Left Side walls. [so undid everything] [it felt real nice to]
 
Top Bottom