Progress Thread - Flappy Jack

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Progress Thread - Flappy Jack
by on (#181026)
Here's my late entry...

Flappy Jack. I wrote most of this last year, and never finished it. I've been touching up a few things, adding a few new features. All that's left is to redo the music and do some play testing.

You have to catch the pancakes as they fall from the top of the screen. As your stack gets higher, it's harder to catch them. As the levels progress, it gets faster and faster.
Re: Progress Thread - Flappy Jack
by on (#181061)
My very humble music 'studio'. Time to write some songs.
Re: Progress Thread - Flappy Jack
by on (#181340)
I tried to edit the source code of (famitone) text2data, to allow lower notes, which worked fine for everything except DPCM channel. The table of DMC offsets was wrong, had to manually edit :P
Then I was getting a weird bug with Noise channel sound effects, that I've managed to fix, but somehow related to the fact that famitone only once writes to $400f, and assumes always a constant note to be playing (sometimes with a volume of zero). Somehow my sound effect (or something) turned off the constant note, after which no noise channel played. Took me an hour to debug and solve. =(
Anyway, it's 99% done, just need to fine tune a few things.
Re: Progress Thread - Flappy Jack
by on (#181409)
And, I'm done.

I thought I would share a tiny bit of code. To play the same famitracker/famitone2 song at different speeds...

Code:
   lda level
   cmp #$10
   bcs +
   lda #9
   sta FT_SONG_SPEED ; levels 1-9 slow music
   jmp Game_Music
+
   cmp #$20
   bcs +
   lda #8
   sta FT_SONG_SPEED ; levels 11-19 medium music
   jmp Game_Music
+
   lda #7
   sta FT_SONG_SPEED ; levels 20+ fast music
   
Game_Music:   
   jsr FamiToneUpdate ;MusicEngine


And, yes, level $10 is level 10 in my numbering system.
Re: Progress Thread - Flappy Jack
by on (#181429)
Cool! Can't wait to play it. :)
Re: Progress Thread - Flappy Jack
by on (#183738)
I've been doing endless testing and rebalancing. Now I have a weird issue. The word "Flappy's" in the background looks weird on a CRT. It is clearly not dithered on its edges, yet I get this...

Attachment:
20161201_085602_resized.jpg
20161201_085602_resized.jpg [ 1.8 MiB | Viewed 12109 times ]

See the dithering on the letters? Also the pancakes (color 17) look like nearly the same color as the sign (color 16).

Compare to a random other game, and it has no dithering issues on the same TV.



Attachment:
20161201_085728_resized.jpg
20161201_085728_resized.jpg [ 1.66 MiB | Viewed 12109 times ]
Re: Progress Thread - Flappy Jack
by on (#183739)
Any color boundary with diagonal lines of slope 2 (26 degrees clockwise of vertical) has a potential for such artifacts on NTSC NES or Super NES because of how pixels line up with the color subcarrier. Unfortunately, this is the common amount of slant for cursive.

No yellow bird? No yellow mole?
Re: Progress Thread - Flappy Jack
by on (#183742)
Quote:
Any color boundary with diagonal lines of slope 2 (26 degrees clockwise of vertical) has a potential for such artifacts on NTSC NES or Super NES because of how pixels line up with the color subcarrier. Unfortunately, this is the common amount of slant for cursive.


That's a very good explanation. Did you know that using a non-round number in an explanation makes it 26% more believable. I just made that number up, but I'm betting that you researched your answer. Maybe I should try a non-slanted sign.

Quote:
No yellow bird? No yellow mole?


For legal reasons, I'm claiming that any similarly to popular games with similar names are purely coincidental.
Re: Progress Thread - Flappy Jack
by on (#183749)
It looks like 30° angle to me (angle of phosphor dots on CRT).

https://www.google.com/search?q=crt+tri ... c61880M%3A
Re: Progress Thread - Flappy Jack
by on (#183756)
If pixels were square, it would be arctan(.5) = 26.6 degrees. When corrected for the 8:7 pixel aspect ratio, it becomes arctan(.5*8/7) = 29.7 degrees, which I admit is easier to confuse with shadow mask artifacts. But I'm pretty sure this is an NTSC encoding artifact, not a shadow mask artifact, and would appear the same way on an LCD TV (which otherwise has a more Trinitron-like mask pattern). The easiest way to demonstrate that this is an NTSC artifact is to reset the game a few times until you get a different alignment between the pixel clock and the color subcarrier.
Re: Progress Thread - Flappy Jack
by on (#183946)
Which is better? (16 wasn't working...too close to pancake color.)
Re: Progress Thread - Flappy Jack
by on (#184021)
Or, maybe this...16 mixed with 06. (Nestopia with NTSC filter). Dark enough that the pancakes show up fine.
Re: Progress Thread - Flappy Jack
by on (#184112)
Flappy11 looks less monochromatic, which is a nice touch. Although i like the details on the last one, it may still be too close to the pancakes?
Re: Progress Thread - Flappy Jack
by on (#184709)
Here's (probably) the final cut...the full game, Flappy Jack.

(link removed, old)

Instructions -
Mostly L + R to move
Holding A or B will boost your speed
Catch Everything
Start to Pause

The game is considered 'won' if you score above 100,000 pts and see the 'good' ending.
You can cheat and press A and B and Start at the Title Screen to see the 'good' ending.
It is technically possible to reach level 99, but not very likely.

Let me know if you think it is much too hard or much too easy. Thanks.
Re: Progress Thread - Flappy Jack
by on (#184755)
Actually, I forgot, I wanted to add a final score on the Game Over screen...here's that version.


(Link removed, see page 3 for newer version)
Re: Progress Thread - Flappy Jack
by on (#184761)
Congrats! I had fun trying it out (emulator ntsc). My connection dropped while posting so i'm rewriting it here. I played four times in a row and got to 28.000 something. There's good room left for me to improve, so that's nice. I suspect it will be a little easier if i put it on powerpak and play it on my PAL unit.

The run mechanism seems geared towards later levels. In so far as i got this time, it didn't see much use. I was thinking that there could be two run speeds, maybe accessed through pressing one or both buttons at the same time (keeping the press whichever aspect). One that is the current maximum and one that is somewhere inbetween, so you can gradually get used to running at different speeds.

This is the sort of game that would've been perfect with the Vous, had that controller been commonly available.

Is the red face/hands palette change intentional for this pre-compo file?

The music speed up is great! I keep thinking it would have a little more psychological effect if it started att the level (x) title card screen.
Re: Progress Thread - Flappy Jack
by on (#184778)
Kaboom clones would also work well with a Super NES Mouse. Too bad the Hori Track never made it stateside.
Re: Progress Thread - Flappy Jack
by on (#184786)
Quote:
Is the red face/hands palette change intentional for this pre-compo file?


I don't know what you mean. His face is pink...pretty much the same color used for like 90% of Caucasian NES characters.

Quote:
run speeds


One technique, that will be useful, is...try to Tap the A (or B) button briefly. You'll get a short burst of speed, but then back to normal speed for better control at the point when you catch the pancake.
Re: Progress Thread - Flappy Jack
by on (#184793)
Nice leg animation for the walk cycle there. The stools in the background seem huge though. Your floor tiles are decreasing in height (but not width), implying some type of stylized perspective, but the stools are nearly as tall as the runner, even without perspective. So, with the comparative floor tile size, they look pretty massive.

Gameplay's smooth and fun, though. I dig it.
Re: Progress Thread - Flappy Jack
by on (#184794)
Here's my score. Finally lost it at level 19.

1. I kinda wish the difficulty increased a bit faster.
2. Some of the pancakes the cook flips end up changing to syrup or butter in midair? Felt kinda weird to me that they're still visually lead by a pancake.
3. Pressing SELECT seems to select in 10 level increments. Is there a way to select any other levels, or do you have to start on a 10N+1 level?
4. Might be interesting if pancakes stuck to the stack where they land, instead of snapping to a perfect stack. An uneven stack might look interesting visually, though I think at that point you have to "control" the top of the stack instead of the bottom, so if you made a really diagonal stack the human at the bottom might end up offscreen at the edges.
Re: Progress Thread - Flappy Jack
by on (#184818)
Nevermind, i forgot i had a really tinted palette loaded in from the rad racer 3D discussion. :shock:

Uneven staples could be great. It introduces an element of careful handling beyond the either or condition. It was the best feature of this great mobile game; tower bloxx. You got rewarded with extra accumulative bonuses for every perfectly stacked block (and it would also sway differently depending on which side it tilted towards the most). I suppose it would lend a varying sense of relief once a stack is reset; as a side effect. The uneven-ness doesn't have to be 1:1 with how the pancake lands; just enough to signal to the player if the aim was off.
Re: Progress Thread - Flappy Jack
by on (#184839)
The... great job you are awesome screen doesn't show your score.
Image

So... not sure what is was. Very near 150,000, but not sure if over or under.

Lost on Level 29. Too bad. Wanted to see the Level 30 speed up, but it was only a first attempt.
Re: Progress Thread - Flappy Jack
by on (#184841)
13 is the new version that shows score on Game Over.
Re: Progress Thread - Flappy Jack
by on (#184842)
Ah! Missed it because last post on page.
Re: Progress Thread - Flappy Jack
by on (#184849)
Thanks everyone for the good suggestions. I'm currently working on the final boss of my ninja game, and I want to focus on that for a bit...so I don't know if I will have time to make any changes before the deadline...but...maybe I will port this game to SNES. It seems like an easy first project to try for SNES. And, then, maybe I will make changes that didn't get into the NES version.
Re: Progress Thread - Flappy Jack
by on (#186973)
Does this look better? I've made a bunch of tiny changes, but I'm mostly asking about the color of the floor. Someone said the screen was too monotone before (I agree).
Re: Progress Thread - Flappy Jack
by on (#186975)
Changing the colours of the floor helped a lot, i think. Definitely better, imo. :) Besides being more colourful, it is also helping provide a sense of depth: the floor feels closer to the camera, and the bar is put in the rear end (an effect from having (1) colder colours that's (2) closer to each other in value, relative to the more vivid floor). It looks clearer.
Re: Progress Thread - Flappy Jack
by on (#187531)
Final version...

(Link removed, see page 3 for newer version)

Changes...
-Pause no longer resets the song
-slightly faster increase of difficulty between levels 1-20
-rising off pan...now looks like butter and syrup, if it will become butter and syrup
-Jack's acceleration now changes with the level...slightly slower on levels 1-10, with slight increase every few levels. (level...10 -> +4, level 50 -> +0x14, level 99 -> +0x26)
-floor color, and slight edit of the upper part of the floor
-pancakes caught off center will be placed 1 pixel to the left of right (does not apply to the first 4 pancakes...due to those being special, in order to reduce the sprite count, per scanline).
Re: Progress Thread - Flappy Jack
by on (#188972)
Played this one and enjoyed it. The visual style and gameplay really reminded me a lot of the first wave of NES games. I'm pretty sure if someone told me this was a game that came out during the early NES days, I'd completely believe them. (Well, aside from the date showing up in the game and all...)

I think I got to around level 30 on my first playthrough. Thanks for a fun game!
Re: Progress Thread - Flappy Jack
by on (#188985)
Quote:
if someone told me this was a game that came out during the early NES days, I'd completely believe them


Thanks. That's what I was going for. Or at least a game that someone would want to sell in a store.
Re: Progress Thread - Flappy Jack
by on (#189258)
This reminds me of an old arcade game,good fun.
Re: Progress Thread - Flappy Jack
by on (#189929)
I noticed that Flappy Jack is NROM-256, but roughly B560-EFEF,F3A0-FFF9 are unused. How hard would it be to rebuild the game as NROM-128 with the stuff at EFF0-F3A0 moved down to, say, B5F0-B9A0? This would allow it to share a 32K bank with another NROM-128 game. The more contiguous PRG ROM space we free up, the more category 2 bonuses we can include.
Re: Progress Thread - Flappy Jack
by on (#189932)
Took me about 10 minutes. NROM 128. Filesize 24,592 bytes. Does your mapper allow swapping the C000-ffff banks ?

EDIT: Oops, forgot you need $FFD0-$FFF9 blank. Give me a minute.

EDIT2: Done.
Re: Progress Thread - Flappy Jack
by on (#189934)
dougeff wrote:
Took me about 10 minutes. NROM 128. Filesize 24,592 bytes. Does your mapper allow swapping the C000-ffff banks ?

Yes. I can mirror either half of a 32K bank to both $8000-$BFFF and $C000-$FFFF by (ab)using its UNROM (2) and UNROM (180) simulation modes.
Re: Progress Thread - Flappy Jack
by on (#189935)
There is much more blank space in Rock Paper Scissors. Do you want an NROM 128 of that, or is that one not making it on the cart?

Never mind, you already answered it in the RPSLS thread.
Re: Progress Thread - Flappy Jack
by on (#195951)
Fun! The 32-wide protagonist feels un-NES-like, which is good. I like the slipping-on-butter and sticking-to-syrup bits, though it feels like missing them nigh-guarantees a later flapjack miss.

The hitboxes feel good. (The butter and syrup are narrower, right?) The music speeding up is nice. Does fall speed decrease as your stack grows, or are the last flapjacks in a stack just lower reflex time?
Re: Progress Thread - Flappy Jack
by on (#196069)
Quote:
Does fall speed decrease as your stack grows, or are the last flapjacks in a stack just lower reflex time?


The higher your stack, the less time you have to get in position (because the vertical distance from top of screen to top of stack has shrunk). Speeds don't change, due to stack size.
Re: Progress Thread - Flappy Jack
by on (#196087)
Yeah, I just didn't feel like I really had any problems there, so…I'd wondered if it did compensate.

Guess the difficulty sawtooths then!
Re: Progress Thread - Flappy Jack
by on (#214390)
Testing on real hardware there appears to be an issue on with the initial screens. There are some garbled graphics when switching between the first few screens, but it's only momentarily so not that big of concern. However on the "LEVEL #" screen there's garbage tiles scattered randomly through out the screen. I'm not certain if they're background, or sprites. But they stay in place the entire time the LEVEL # screen is displayed.

I'm not sure what may be causing this, but curious if you'd be willing to go back and attempt to correct this so we have a bit more polish for the action53 vol3 cartridge. Let me know if you need more info on the issue or help testing repairs.
Re: Progress Thread - Flappy Jack
by on (#214398)
It works on my machine.

That is...I've done extensive testing on a real NES without issue.

It might help if you provided me with a screenshot of the error. I'm not seeing one.
Re: Progress Thread - Flappy Jack
by on (#214399)
Could this be the problem?

My NMI routine consists of exactly this...

Code:
NMI:
   inc waitNMI
   inc framecount
IRQ:
   rti


And between levels, there are no writes to sprite DMA. For 4 seconds.

It's just a loop that calls a subroutine called "wait" about 200 times. All that does is wait for "waitNMI" to change.
Re: Progress Thread - Flappy Jack
by on (#214400)
So it’s only happening on the first “LEVEL #” screen which follows the instruction screen. Doesn’t matter what level I start at either (still happens if I skip to level 11). But it doesn’t happen on the level screen that displays after beating a level (ie LEVEL 2 displayed after beating level 1). So maybe it’s more related to the instruction screen, or the transition between instructions and level #, as the level screen is fine when beating a level.

I recall seeing this same problem when testing on NROM cart while judging the entries last year.

Additionally, I don’t see this issue on my cheap clone. Just original front loader.

Here’s an image. I checked and it’s identical between tries. So while the trash looks random, it’s the same exact trash in the same spots everytime.
Re: Progress Thread - Flappy Jack
by on (#214404)
Try this.

It's exactly the same, except the "wait" subroutine also pushes sprites with a DMA every frame.
Re: Progress Thread - Flappy Jack
by on (#214519)
Sorry for the delay on testing.. Looks like that fixed up the LEVEL screen issue. Although there is a bit of a new strange issue. On some cold power ups, and some resets, the back ground of the first 3 screens is blue instead of black. Seems like it's about 25% chance of this happening. Everything still looks okay, just not the color you intended I assume. Are you making pallette writes to the PPU overly early? ie not waiting atleast 3 NMIs?

The shade of blue doesn't appear to be the same shade as the background of the level screens. It looks like the same shade my NES typically powers up with when there's no cart inserted which leads me to believe your back ground pallette write isn't sticking.
Re: Progress Thread - Flappy Jack
by on (#214562)
I don't know about the wrong color, but here's a version with a few extra v-blank waits at reset before doing anything.
Re: Progress Thread - Flappy Jack
by on (#214563)
Now that I think of it, this bug didn't really matter with the action53 build as the menu boots at power on. And reset should send back to the menu..

But that fixed everything up! Good to go, thanks for taking the time with these improvements.