(unknown title)-Development Thread.

First... I would like to thank baardbi for creating the NESMaker BBI Modules with the help of the NESMaker members' patches. Thanks to all of these members for patching the Nesmaker.

I had tried the original NESMaker Adventure Module and realized there is no save and load script. I played around with this in a simple demo and quietly left NESMaker until last July. I tried using BBI Modules 2.2.2. and watched Unofficial NESmaker Tutorials on YouTube. It helps me to get a better start on making an Adventure game. By far, BBI adventure modules 2.2.2. It is a big improvement. Every Sunday, I watch, learning, and spend time making it.

I am making a basic adventure game.

So far, progress.

The title is blank with two options to start a new game or load a game, both are working. Even saving the game is working too.

Both male and female are complete. Standing, moving, attacking, and being hurt. I have not decided which one will be the main character for this game.

The layout of the village is almost done; it needs to add more NPCs and move their furniture around randomly per house. (6 houses in total)

The layout of the first-level forest is done; it needs to add monsters and a boss.

Known issues.

If rapidly pressing the attack button causes the attacking animation to be cut shorter, and replaces the newer attacking animation sooner. It causes slow in the game speed. I need something that disables the input button when press an attack button, then enables the input button when the attack animation completes.

Solved: Thanks, dale_coop. When attacking 4 enemies get a greater risk of getting bounced the hurt coil back and forth between two monsters to death. I need something that the players won't get rebounced and won't be hurt more for a few seconds.

Gameover screen isn't working because I changed the bottom overworld into High Resolution mode on a row will allows placement of 8x8 pixel titles. I will rewatch the YouTube video to make sure I didn't miss anything.
 

Attachments

  • Screenshot 2025-11-02 214720.png
    Screenshot 2025-11-02 214720.png
    5.1 KB · Views: 9
  • Screenshot 2025-11-02 215005.png
    Screenshot 2025-11-02 215005.png
    36.5 KB · Views: 9
  • Screenshot 2025-11-02 215138.png
    Screenshot 2025-11-02 215138.png
    38.9 KB · Views: 7
  • Screenshot 2025-11-02 215758.png
    Screenshot 2025-11-02 215758.png
    31.8 KB · Views: 7
  • Screenshot 2025-11-02 215934.png
    Screenshot 2025-11-02 215934.png
    39.7 KB · Views: 7
  • Screenshot 2025-11-02 220325.png
    Screenshot 2025-11-02 220325.png
    23 KB · Views: 7
  • Screenshot 2025-11-02 220509.png
    Screenshot 2025-11-02 220509.png
    39.1 KB · Views: 9
  • Screenshot 2025-11-02 220630.png
    Screenshot 2025-11-02 220630.png
    37.5 KB · Views: 9
Last edited:

dale_coop

Moderator
Staff member
If rapidly pressing the attack button causes the attacking animation to be cut shorter, and replaces the newer attacking animation sooner. It causes slow in the game speed. I need something that disables the input button when press an attack button, then enables the input button when the attack animation completes.

When attacking 4 enemies get a greater risk of getting bounced the hurt coil back and forth between two monsters to death. I need something that the players won't get rebounced and won't be hurt more for a few seconds.

Gameover screen isn't working because I changed the bottom overworld into High Resolution mode on a row will allows placement of 8x8 pixel titles. I will rewatch the YouTube video to make sure I didn't miss anything.

- To prevent the attack animation from restarting while the player is already attacking, in your attack input script, find the line:
Code:
ChangeActionStep temp, #02
And change it to:
Code:
GetActionStep temp
CMP #02
BEQ +skip
  ChangeActionStep temp, #02 
+skip:

- For your player's hurt state, you could implement invincibily frames, like explained in this post: https://www.nesmakers.com/index.php?threads/adding-invincibility-frames-to-4-5-9.7220/#post-49793
 
- To prevent the attack animation from restarting while the player is already attacking, in your attack input script, find the line:
Code:
ChangeActionStep temp, #02
And change it to:
Code:
GetActionStep temp
CMP #02
BEQ +skip
  ChangeActionStep temp, #02
+skip:

- For your player's hurt state, you could implement invincibily frames, like explained in this post: https://www.nesmakers.com/index.php?threads/adding-invincibility-frames-to-4-5-9.7220/#post-49793
Add invincibility script works on Adventure BBI 2.2.2.

Attack animation is 50% fixed. It fixed the main character's attacking animation, but the weapon animation isn't fixed.

;;;; Attack

;;;;;; Set these values to correspond to the game objects
;;;;;; OBJ_AMMO_WEAPON uses ammo and can only be used
;;;;;; if myAmmo has a value of 1 or more.
MELEE_WEAPON_OBJECT = 3
AMMO_WEAPON_OBJECT = 1

;;;;;; Set these values to adjust the offsets for the player weapon
WEAPON_OFFSET_LEFT_X = 8
WEAPON_OFFSET_LEFT_Y = 8

WEAPON_OFFSET_RIGHT_X = 8
WEAPON_OFFSET_RIGHT_Y = 8

WEAPON_OFFSET_UP_X = 0
WEAPON_OFFSET_UP_Y = 8

WEAPON_OFFSET_DOWN_X = 0
WEAPON_OFFSET_DOWN_Y = 24

;;; If weaponChoice is 0 we can't attack
LDA weaponChoice
BNE +canAttack
RTS
+canAttack:

LDA #0
STA Object_v_speed_hi,x
STA Object_v_speed_lo,x
STA Object_h_speed_hi,x
STA Object_h_speed_lo,x

STX temp
StopMoving temp, #$FF

STX temp
;;; ChangeActionStep temp, #2 ;;; Attack(old version)

GetActionStep temp ;;; (newer version from dale-coop)
CMP #02
BEQ +skip
ChangeActionStep temp, #02
+skip:

LDA Object_direction,x
STA tempC

LDA Object_direction,x
AND #%00001111
CMP #FACE_LEFT
BEQ weaponLeftOffset
CMP #FACE_RIGHT
BEQ weaponRightOffset
CMP #FACE_UP
BEQ weaponUpOffset
CMP #FACE_DOWN
BEQ weaponDownOffset
RTS

weaponLeftOffset:
LDA Object_x_hi,x
SEC
SBC #WEAPON_OFFSET_LEFT_X
STA tempA

LDA Object_y_hi,x
CLC
ADC #WEAPON_OFFSET_LEFT_Y
STA tempB
JMP createPlayerObject

weaponRightOffset:
LDA Object_x_hi,x
CLC
ADC #WEAPON_OFFSET_RIGHT_X
STA tempA

LDA Object_y_hi,x
CLC
ADC #WEAPON_OFFSET_RIGHT_Y
STA tempB
JMP createPlayerObject

weaponUpOffset:
LDA Object_x_hi,x
CLC
ADC #WEAPON_OFFSET_UP_X
STA tempA

LDA Object_y_hi,x
SEC
SBC #WEAPON_OFFSET_UP_Y
STA tempB
JMP createPlayerObject

weaponDownOffset:
LDA Object_x_hi,x
CLC
ADC #WEAPON_OFFSET_DOWN_X
STA tempA

LDA Object_y_hi,x
CLC
ADC #WEAPON_OFFSET_DOWN_Y
STA tempB


createPlayerObject:

TXA
PHA

CreateObject tempA, tempB, weaponChoice, #0

LDA tempC
STA Object_direction,x

PLA
TAX

LDA weaponChoice
CMP #OBJ_AMMO_WEAPON
BNE notAmmoWeapon
DEC myAmmo
UpdateHudElement #5

LDA myAmmo
BNE notAmmoWeapon
;;;;; If we don't have more ammo we go back to the normal weapon.
LDA #OBJ_MELEE_WEAPON
STA weaponChoice
notAmmoWeapon:

RTS
 
Last edited:
Top Bottom