NESmaker 4.5.9 Tutorial Videos (Unofficial)

Do you want to learn how to make a NES game in NESmaker? Then watch the new tutorial videos (unofficial) on board-b’s YouTube channel.

Let’s make a NES game and have fun doing it.

5 thoughts on “NESmaker 4.5.9 Tutorial Videos (Unofficial)

  1. Rocky Helton

    I wanted to thank you for your comment on YouTube, I managed to get the projectile to come out of the right spot when he’s facing right now by changing the numbers you mentioned. For some reason when he faces left it shoots from the top right of the sprites (it doesn’t seem like it is observing the player facing). Thanks for all the work you’re doing on these videos. I finally feel like I’m getting somewhere in my game.

    Reply
    1. baardbi Post author

      I’m glad to hear that you feel like you’re making progress. So if you’ve been following the steps in the video and have made a player sprite that is 2 x 2 tiles big, then it should work if you make sure your shootProjectile script looks like this:

      LDA powUpGhostbullet
      CMP #1
      BEQ hasGhostbullet
      JMP +canNotShoot
      hasGhostbullet:

      ;;; Create a Projectile.
      ;;; Assumes that the projectile you want to create is in GameObject Slot 01.
      ;;; Assumes variable called myAmmo exists.
      ;;; assumes myAmmo is in hud element 8.
      ;LDA myAmmo
      ;BNE +canShootMega
      LDA #$01 ;; assumes normal projectile is in 1
      STA tempz ;; we will use tempz to hold which type of projectile.
      ;;; if I had no special ammo, i’ll just use normal projectile
      ; JMP +shootThing
      ;+canShootMega:
      ;;; but if i DID have ammo, I’ll shoot mega shot!
      ;LDA #$02 ;; assumes mega projectile is in 2.
      ;STA tempz
      ;; there is ammo here.
      ;DEC myAmmo
      ; UpdateHudElement #$03 ;; change this to which element shows myAmmo.
      ;+shootThing
      TXA
      PHA
      TYA
      PHA
      LDX player1_object
      LDA Object_x_hi,x
      CLC
      ADC #$04
      STA tempA
      LDA Object_screen,x
      ADC #$00
      STA tempD
      LDA Object_y_hi,x
      CLC
      ADC #$04
      STA tempB
      LDA Object_direction,x
      AND #%00000111
      STA tempC
      CreateObjectOnScreen tempA, tempB, tempz, #$00, tempD
      ;;; x, y, object, starting action.
      ;;; and now with that object, copy the player’s
      ;;; direction and start it moving that way.
      LDA tempC
      STA Object_direction,x
      TAY
      LDA DirectionTableOrdered,y
      STA temp1
      TXA
      STA temp
      StartMoving temp, temp1
      PLA
      TAY
      PLA
      TAX
      +canNotShoot:
      RTS

      It’s important that you only change the numbers I have marked in the attached picture (if you need to change them at all).

      Reply
  2. Rocky Helton

    My player sprite is 3 wide x 4 high, I changed only those two numbers and it only fixed it when I’m shooting to the right. I don’t know if it’s because of the larger player sprite or something else. I’m using the shootprojectile script from the Base 4.5 inputs (I’m making a single screen platformer, similar to Battle Kid with no scrolling) and I modified those numbers if that helps.

    Reply
    1. baardbi Post author

      I see. That’s pretty big for a NESmaker sprite. I would recommend something like ADC #$0B (the letter B for HEX 11) for both numbers. That should make it come out of the middle of the sprite. Also make sure the bounding boxes of your player object and the projectile object looks OK. If you have more issues with this you should definitely post it at the NESmaker forum. There are a lot of great people there who are willing to help with stuff like this, and the solution will be there if other people have the same issue.

      NESmaker forum: http://www.nesmakers.com

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

The maximum upload file size: 256 MB. You can upload: image, audio, video, document, spreadsheet, interactive, text, archive, code, other. Links to YouTube, Facebook, Twitter and other services inserted in the comment text will be automatically embedded. Drop file here