Vigilante Ninja (edit)

A place where you can keep others updated about your NES-related projects through screenshots, videos or information in general.

Moderator: Moderators

User avatar
dougeff
Posts: 3079
Joined: Fri May 08, 2015 7:17 pm

Re: 2 nes homebrew games finished

Post by dougeff »

I would also lose the hearts at the top of the screen if you assume a loss of 16 pixels from the top. I notice on Super Mario that the text at the top starts at the 16-17th pixel down and the floor goes 2 full metatiles up, 32 pixels up from the bottom. I had no idea you lose so much of the screen. 2 questions...
1. Can you simulate this overscan loss in an emulator?
2. Would a modern TV (digital) have the same edge loss with a real NES?
nesdoug.com -- blog/tutorial on programming for the NES
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: 2 nes homebrew games finished

Post by tepples »

dougeff wrote:1. Can you simulate this overscan loss in an emulator?
In FCEUX for Windows, Config > Video has two fields for NTSC scanline range, defaulting to 8-231. When testing for overscan compliance, set it to 16-228, or just run your games in the scaled mode of PocketNES (which is hardcoded to 16-228).
Would a modern TV (digital) have the same edge loss with a real NES?
My Vizio VX32L shows roughly lines 8-231, the same lines that NES emulators show by default in NTSC mode.
Attachments
Screenshot of FCEUX video configuration in Wine
Screenshot of FCEUX video configuration in Wine
User avatar
dougeff
Posts: 3079
Joined: Fri May 08, 2015 7:17 pm

Re: 2 nes homebrew games finished

Post by dougeff »

Thanks.

So, if I want to make a game that will play on all devices, like old TVs, I need to not put anything important in the top or bottom 16 pixels, nor the side 8 pixels. Also, I noticed that old TVs displays are round at the corners - so, I might lose a few pixels in the corners too. Good to know for future games I work on.
nesdoug.com -- blog/tutorial on programming for the NES
User avatar
dougeff
Posts: 3079
Joined: Fri May 08, 2015 7:17 pm

Re: 2 nes homebrew games finished

Post by dougeff »

I've had some progress on Vigilante Ninja 2. I worked out most of the game mechanics for the hero. Here is an updated demo.

(LINK REMOVED, OLD)

I'm going to change all the background graphics still, and redo the font. And, there will be multiple throwing tools you can equip - like Castlevania or Ninja Gaiden. I don't have them programmed in yet.

I think I'm going to use MMC3 and have multiple background ROMs to swap out at the start of each new level, and after the title screen. Not sure how detailed the title screen will be at the end.

up + B - throw
down + B - slide
there are 3 speeds of running and 3 heights of jumping (depending on how fast you are running). Everything seems to be working for me. I corrected all the bugs I saw. In my experience, it's about 40% writing code, and 60% trying to figure out why it isn't working the way you expected. I use the debugger in FCEU/FCUEX.
Attachments
vigilante8.jpg
Last edited by dougeff on Sun Feb 07, 2016 8:57 pm, edited 1 time in total.
nesdoug.com -- blog/tutorial on programming for the NES
User avatar
dougeff
Posts: 3079
Joined: Fri May 08, 2015 7:17 pm

Re: 2 nes homebrew games finished

Post by dougeff »

Hey all,

Update!

After working on Vigilante Ninja 2, I went back and played the first game, and realized just how slow it played. Ugh. So I rewrote the code so it now plays twice as fast, and has better jump mechanics. And I edited the levels since you can now jump almost twice as far.
And I fixed a few bugs. It's been reposted at romhacking.net, the link is on the original post.

(oh, it's listed as Purple Cape Man)
nesdoug.com -- blog/tutorial on programming for the NES
User avatar
dougeff
Posts: 3079
Joined: Fri May 08, 2015 7:17 pm

Re: 2 nes homebrew games finished

Post by dougeff »

Made some progress on the new game. Changed all the graphics, and completed level 1-1 except for the enemies.

For the demo, you can press 'select' to get a throwing tool upgrade. In actual gameplay, you will have to collect '?' boxes after killing enemies. Also, for the demo, press 'start' to spawn a square (the stand-in for enemies until they are programmed).

Up + B - throw weapon.
Down + B - slide.

ps, the song in the background will probably not end up in the final game, but it does test the sound engine nicely.

(LINK REMOVED, OLD)
Last edited by dougeff on Sun Feb 07, 2016 8:57 pm, edited 1 time in total.
nesdoug.com -- blog/tutorial on programming for the NES
User avatar
dougeff
Posts: 3079
Joined: Fri May 08, 2015 7:17 pm

Re: 2 nes homebrew games finished

Post by dougeff »

Here's a screenshot
Attachments
demo13.jpg
demo13.jpg (51.16 KiB) Viewed 5596 times
nesdoug.com -- blog/tutorial on programming for the NES
User avatar
dougeff
Posts: 3079
Joined: Fri May 08, 2015 7:17 pm

Re: Vigilante Ninja (edit)

Post by dougeff »

Level 1 design completed, except for the enemies. I added a lot of features and fixed a lot of bugs. The only bug I still see, is...you can jump when your feet are a few pixels below a platform (you should only be able to jump if you're standing on a platform).

Start - spawns 4 'enemies'
Select - shifts between tools that you already have, you have to hit enemies to get '?' to collect a tool.

Feel free to give constructive criticism.

(LINK REMOVED, OLD)

Also, I know the ninja can jump way up into the HUD. I prefer that to having him disappear.
And, Level 1-7 is where the boss is supposed to appear, that's why scrolling stops.
Last edited by dougeff on Sun Feb 07, 2016 8:58 pm, edited 1 time in total.
nesdoug.com -- blog/tutorial on programming for the NES
User avatar
Memblers
Site Admin
Posts: 4044
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Re: Vigilante Ninja (edit)

Post by Memblers »

It seems a little odd that he can do the walking animation while falling. It also looks a little awkward that he runs as fast as he does while standing completely upright. I was thinking it would look a little better if he leaned forward slightly when he gets up to speed. And when I got to the part where you have to slide under the blocks, intuitively I was trying to press down+jump to make him slide, until I realized it was down+attack. Though now I see that slide actually seems to be a type of attack, so it does makes sense. I would probably go with the jump button (or either button?), if it was me.

Looks like a nice start to a game.
User avatar
dougeff
Posts: 3079
Joined: Fri May 08, 2015 7:17 pm

Re: Vigilante Ninja (edit)

Post by dougeff »

thanks, I'll review the animations.

Yes, the slide move is an attack...though I probably should make the ninja immune to injury while he's doing the slide, because otherwise you won't be able to use it against any bosses without taking damage.

It occurred to me the other day that I'm 2 months into this project, and still working on level 1. And I have 5 levels planned. This is going to take me 10-12 months to complete. And probably 2 more months of gametesting/bugfixing. Sigh. And, I'm trying NOT to get sucked into another project...like reprogramming SMB1's walk/run physics engine - as I already started to do (along with the other dozen changes I already made to it just for fun).
nesdoug.com -- blog/tutorial on programming for the NES
User avatar
dougeff
Posts: 3079
Joined: Fri May 08, 2015 7:17 pm

Re: Vigilante Ninja (edit)

Post by dougeff »

Here's the latest update of my new game. I added all the enemies for level 1, and fixed about a dozen bugs. There is still one unresolved bug, but it only happens about 1 out of 100 times and I came up with a crude fix for that.

Still need to write the boss code, and rewrite the music. Not sure what I'm going to make the boss. It was going to be like a big guy with a sword or axe, but now I think that would clash with the cartoony nature of the other enemies. Hmm.

(LINK REMOVED, OLD)

Let me know if it's too easy / too hard / other problems. Thanks.
Last edited by dougeff on Sun Feb 07, 2016 8:58 pm, edited 1 time in total.
nesdoug.com -- blog/tutorial on programming for the NES
User avatar
Kasumi
Posts: 1293
Joined: Wed Apr 02, 2008 2:09 pm

Re: Vigilante Ninja (edit)

Post by Kasumi »

I think something needs to change about how you're handling input. Pressing up or B while rising from a jump immediately makes you fall. This makes it hard to jump up and throw a projectile at something. He has a sliding attack that I assume is meant to be press B while crouching. But holding B, then pressing down makes him slide as well. He can even interrupt his sword swing animation to do this.

Holding up and then B activates a special power. If you hold both down, you can slide around with the ninja's arm extended.

You can't slide while holding left or right (or A button).

If you slide under the walls that you need to slide under while not directly next to them, and then stop crouching you get visually stuck inside them. (You can still slide again to get out.)

There are areas in the game where if you fall you can't get back up. (But the fall itself doesn't kill you. You have to walk off the side to kill yourself. That's annoying game design.)

Pressing left and right at the same time begins a very fast walk in place. (Maybe you don't want to fix that, but I recommend it.)
User avatar
dougeff
Posts: 3079
Joined: Fri May 08, 2015 7:17 pm

Re: Vigilante Ninja (edit)

Post by dougeff »

Thanks for your suggestions. When I read this, I thought, wow, I have a lot to fix...why did I never notice these things during the 100+ run throughs i did? But, now that I tried them out, they don't seem so bad, more like funny quirks. Like pressing L+R makes him run in place...it doesn't affect gameplay and it looks amusing. The same with holding U+B while running...I don't see it as a problem because I don't usually run around the stages holding those buttons down all the time.

I do agree with the jump being cancelled by other button presses -- and -- sliding can get you stuck in a wall temporarily. That sucks for gameplay and will need to be fixed.

There are only 2 places you can be alive and can't progress and have to walk off the edge to kill yourself. I will edit them so there is a way to survive.

Thanks again. Honestly, I'm new at this, so I'm just happy things are working. It's a great learning experience for me.
nesdoug.com -- blog/tutorial on programming for the NES
User avatar
Kasumi
Posts: 1293
Joined: Wed Apr 02, 2008 2:09 pm

Re: Vigilante Ninja (edit)

Post by Kasumi »

dougeff wrote:The same with holding U+B while running...I don't see it as a problem because I don't usually run around the stages holding those buttons down all the time.
It doesn't matter if you usually do that or not. If absolutely nothing else, your game looks unprofessional whenever it's found. It's unintended behavior. Say it crashed the game. The response wouldn't be, "Well, just don't do that." You'd fix it. Fix it.

It's true a lot of games don't handle left and right at the same time. I understand the thought of, "Well, the hardware should prevent those buttons being pressed at the same time!" But I can beat Yoshi's Island in less than 10 minutes from a new file on the actual console specifically because they don't handle it properly. These kinds of things are exactly what people look for when they're looking to exploit the game, so even if the look doesn't bother you perhaps that might?
User avatar
dougeff
Posts: 3079
Joined: Fri May 08, 2015 7:17 pm

Re: Vigilante Ninja (edit)

Post by dougeff »

Another 'quirk' is that if you throw a tool and immediately press select, the tool disappears. That's because I added the select='switch tools' very late, and it caused the onscreen tools turn into other tools and behave wrong - because I define their movements and tiles by what tool you currently have selected. In retrospect, I should have defined them differently. My quick fix was to move them off screen on 'select' presses, but it looks stupid if done quickly. I may not fix this one either.
nesdoug.com -- blog/tutorial on programming for the NES
Post Reply