Progress Thread - Flappy Jack

Moderator: Moderators

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

Progress Thread - Flappy Jack

Post by dougeff »

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.
Attachments
flappy7.png
flappy7.png (2.02 KiB) Viewed 22891 times
flappy8.png
flappy8.png (2.62 KiB) Viewed 22891 times
nesdoug.com -- blog/tutorial on programming for the NES
User avatar
dougeff
Posts: 3078
Joined: Fri May 08, 2015 7:17 pm

Re: Progress Thread - Flappy Jack

Post by dougeff »

My very humble music 'studio'. Time to write some songs.
Attachments
20161019_100845_resized-1.jpg
nesdoug.com -- blog/tutorial on programming for the NES
User avatar
dougeff
Posts: 3078
Joined: Fri May 08, 2015 7:17 pm

Re: Progress Thread - Flappy Jack

Post by dougeff »

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.
nesdoug.com -- blog/tutorial on programming for the NES
User avatar
dougeff
Posts: 3078
Joined: Fri May 08, 2015 7:17 pm

Re: Progress Thread - Flappy Jack

Post by dougeff »

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: Select all

	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.
nesdoug.com -- blog/tutorial on programming for the NES
User avatar
Jedi QuestMaster
Posts: 688
Joined: Thu Sep 07, 2006 1:08 pm
Location: United States
Contact:

Re: Progress Thread - Flappy Jack

Post by Jedi QuestMaster »

Cool! Can't wait to play it. :)
User avatar
dougeff
Posts: 3078
Joined: Fri May 08, 2015 7:17 pm

Re: Progress Thread - Flappy Jack

Post by dougeff »

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...
20161201_085602_resized.jpg
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.


20161201_085728_resized.jpg
nesdoug.com -- blog/tutorial on programming for the NES
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Progress Thread - Flappy Jack

Post by tepples »

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?
User avatar
dougeff
Posts: 3078
Joined: Fri May 08, 2015 7:17 pm

Re: Progress Thread - Flappy Jack

Post by dougeff »

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.
No yellow bird? No yellow mole?
For legal reasons, I'm claiming that any similarly to popular games with similar names are purely coincidental.
nesdoug.com -- blog/tutorial on programming for the NES
User avatar
dougeff
Posts: 3078
Joined: Fri May 08, 2015 7:17 pm

Re: Progress Thread - Flappy Jack

Post by dougeff »

It looks like 30° angle to me (angle of phosphor dots on CRT).

https://www.google.com/search?q=crt+tri ... c61880M%3A
nesdoug.com -- blog/tutorial on programming for the NES
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Progress Thread - Flappy Jack

Post by tepples »

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.
User avatar
dougeff
Posts: 3078
Joined: Fri May 08, 2015 7:17 pm

Re: Progress Thread - Flappy Jack

Post by dougeff »

Which is better? (16 wasn't working...too close to pancake color.)
Attachments
flappy11b.png
flappy11b.png (2.53 KiB) Viewed 22357 times
flappy11.png
flappy11.png (2.52 KiB) Viewed 22357 times
nesdoug.com -- blog/tutorial on programming for the NES
User avatar
dougeff
Posts: 3078
Joined: Fri May 08, 2015 7:17 pm

Re: Progress Thread - Flappy Jack

Post by dougeff »

Or, maybe this...16 mixed with 06. (Nestopia with NTSC filter). Dark enough that the pancakes show up fine.
Attachments
Flappy12.png
nesdoug.com -- blog/tutorial on programming for the NES
User avatar
FrankenGraphics
Formerly WheelInventor
Posts: 2064
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: Progress Thread - Flappy Jack

Post by FrankenGraphics »

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?
User avatar
dougeff
Posts: 3078
Joined: Fri May 08, 2015 7:17 pm

Re: Progress Thread - Flappy Jack

Post by dougeff »

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.
Last edited by dougeff on Sun Jan 08, 2017 9:35 am, edited 1 time in total.
nesdoug.com -- blog/tutorial on programming for the NES
User avatar
dougeff
Posts: 3078
Joined: Fri May 08, 2015 7:17 pm

Re: Progress Thread - Flappy Jack

Post by dougeff »

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)
Last edited by dougeff on Fri Sep 08, 2017 11:13 pm, edited 1 time in total.
nesdoug.com -- blog/tutorial on programming for the NES
Post Reply