Well, me and my production team are trying to minimize the budget, and need to complete the project in time for Christmas season, to fill all the pre-orders from K-mart, so unfortunately, quality will suffer.
In all seriousness, I do appreciate the input.
nesdoug.com -- blog/tutorial on programming for the NES
It's risky to do a hyped November release as your company's first product. Hyped November releases should be total conversions of an existing engine that has proven itself in your company's previous product. If there is a hyped November release on a new engine, it'll usually be a launch title on a new console by a company that has produced hits on a console of the previous generation, and its architecture is likely to resemble that of a previous game from the same developer. For example, look at the parallels between the level formats of Super Mario Bros. 3 and Super Mario World: both are a list of 3-byte objects.
I believe I've corrected all the bugs with walking and jumping and sliding under things. And I added the real level songs. And I changed a dozen other details that you probably won't notice.
Some of these fixes were very easy (fixing slide was just add another collision above check, add a bit to the auto-slide count if under a block). Some were annoyingly hard (I had to rewrite basically all the button handling, add several flag variables, tons of conditional branches, move the jumping subroutine, etc, etc, very ugly code)
(LINK REMOVED, OLD)
Last edited by dougeff on Sun Feb 07, 2016 8:59 pm, edited 1 time in total.
nesdoug.com -- blog/tutorial on programming for the NES
Yeah, I know about that one. I find it only happens about 1 time out of 100, and I haven't been able to correct it yet.
I think it happens because I only do a collision check (R or L), and eject, when R or L buttons are pressed, and if you are moving R or L due to the last frames button press, and stop pressing it exactly when he's at the top left or top right corner he can slip into the block ... and if R or L are not being pressed it never does the R or L collision check, so it doesn't eject.
I might have to add an "always check if I'm inside a solid block" routine.
nesdoug.com -- blog/tutorial on programming for the NES
Why not just do the check whenever you are moving left or right? (Why would you check based on input if it doesn't match the actual motion? Do collision based on the movement.)
And, done...here is the "official demo" of Vigilante Ninja 2, Level 1.
(EDIT, REMOVED LINK, OLD VERSION)
I'm going to take a short hiatus, since I've done little else with my free time for the past 2 months than work on this game. Some small details might change from this demo to the final game. Thanks for all your input, guys.
If anyone out there is able to test this on a real NES, please let me know, I'd like to find out if it is compatible (though it seems to play fine on the 4 emulators that I've tested it on).
Last edited by dougeff on Mon Jul 11, 2016 8:41 pm, edited 4 times in total.
nesdoug.com -- blog/tutorial on programming for the NES
Hey I got around to playing this and it was pretty cool. Nice start! I really liked the white enemies with their mouths wide open and the boss rabbit. Cool characters.
My biggest suggestion would be something with the jump mechanics. I'm not sure exactly what, because I see that the way he jumps is the a part of the game design, but it feels a little funky. The first time I jumped an entire screen distance I thought I broke the game.
Maybe, he just needs a visual indication that he's going extra fast like Memblers suggested.
Other things I think are entirely related to the fact that this is a demo version. Jumping down off a platform would be nice, but you've already mentioned that. Unlimited special weapons means no reason to not spam the crap out of them, and whether intentional or not, the fact that you can always shoot again when your weapon leaves the screen means you can do the mega man trick where you close in on your enemy and blast at a super fast speed. This may have been intentional, and is characteristic of games from this time, just didn't know if you'd thought of that.
Thanks for the suggestions. I have a few other things to tweak too. I'm taking a break currently... Learning Python, cc65, ca65, etc. I friend who has a band invited me to jam with them, so I got to practice the old guitar a bit, get some of the rust out, first.
nesdoug.com -- blog/tutorial on programming for the NES
Main changes...
Smoother walking/running
Can go directly from slide to run (or to full jump)
Getting over 50 coins no longer resets to 0, but rather subtracts 50 (letting you keep a few if you just picked up a pink coin)
If falling, horizontal speed slows down gradually
Edited down the excessively long / wordy second title screen.
nesdoug.com -- blog/tutorial on programming for the NES