I have a really early stage project attached that demonstrates some of the topics taught in the Nerdy Nights tutorials.
Those tutorials got me started, but a lot of what I understand is thanks to Tokumaru, Quietust, and anyone else who took the time to answer my questions. I've been busy at work over the last two months, coming home mentally exhausted, but now am trying to pick this project back up.
Some accomplishments:
- Used sprite 0 hit for a 2 name-table title screen.
- Stars (sprites) on title screen sparkle, because of a clock, which is a counter based on NMI hits.
- Music plays on the screens.
- When A is pressed a second "game screen" is loaded.
- CHR Bank switching; A new .chr file is loaded.
- A woman walks with some animation based on the clock.
It uses the entrances and exits to the sound engine - I don't understand the engine entirely. It is using the NN sample songs. My next goal is to write my own song. Also to make a text box appear when you press A over a certain area of the screen. Then get into multiple screens, NPCs, choices. I have a synopsis written for the game too. It's about personal stories of a few characters and some super natural topics like vampires, I think it'll be more like a story based game with some puzzle elements. Any tips or coding or suggestions would be appreciated. I'll update this as I hit more milestones.
Incandescent
Moderator: Moderators
- NeverCameBack
- Posts: 56
- Joined: Mon Feb 24, 2020 12:22 am
Incandescent
- Attachments
-
- Incandesant_Gaze_v0_20.nes
- (64.02 KiB) Downloaded 318 times
-
- Incandesant_Gaze_v0_20.zip
- (68.52 KiB) Downloaded 240 times
Re: Incandescent
I know it's early, but you're doing great! The title screen looks awesome, and the mid-screen bank switch is fabulous. You might be able to get away with fewer distinct tiles on the title screen by removing duplicates (e.g., using NESST or whatnot).
Not much to say otherwise - you've got a tree growing in the middle of the street, and the lady can walk on the moon, which feels like it should be kept in the final game as an Easter egg. But it's definitely an accomplishment!
FYI, your reset routine has something wrong with it - if you reset (not full power cycle) after starting the game, the title screen is garbled, and if you enter the game again, it sometimes works and sometimes crashes.
Not much to say otherwise - you've got a tree growing in the middle of the street, and the lady can walk on the moon, which feels like it should be kept in the final game as an Easter egg. But it's definitely an accomplishment!
FYI, your reset routine has something wrong with it - if you reset (not full power cycle) after starting the game, the title screen is garbled, and if you enter the game again, it sometimes works and sometimes crashes.
Re: Incandescent
nice start so far!
2 things i noticed:
little glitches around the titlescreen split (timing)
& I can make her walk on the moon!
2 things i noticed:
little glitches around the titlescreen split (timing)
& I can make her walk on the moon!
- NeverCameBack
- Posts: 56
- Joined: Mon Feb 24, 2020 12:22 am
Re: Incandescent
Hey thanks a lot for checking it out.
- I have to figure out how to get rid of those blue dashes flickering on the title screen. When I move sprite zero even 1 pixel in either direction, it screws up the "full screen" image.
- I'll still have to set all the limits so the character can't go into the sky. There is only one right now stopping her from going up in the buildings.
Right now I'm trying to come up with a way to condense BG data, because I'm realizing that I can really only fit 7 full backgrounds from $E000 to $FFFF. My sound engine is at $A000 to $C000, and my game code is at $C0000 to $E00. It looks like I have $8000 to $A000 empty, so maybe I can fit another 8 backgrounds there. I'm wondering how games seem to fit A LOT more than that though.
- I have to figure out how to get rid of those blue dashes flickering on the title screen. When I move sprite zero even 1 pixel in either direction, it screws up the "full screen" image.
- I'll still have to set all the limits so the character can't go into the sky. There is only one right now stopping her from going up in the buildings.
Right now I'm trying to come up with a way to condense BG data, because I'm realizing that I can really only fit 7 full backgrounds from $E000 to $FFFF. My sound engine is at $A000 to $C000, and my game code is at $C0000 to $E00. It looks like I have $8000 to $A000 empty, so maybe I can fit another 8 backgrounds there. I'm wondering how games seem to fit A LOT more than that though.
Re: Incandescent
your sprite zero hit polling loop is way too slow. try this:NeverCameBack wrote: ↑Sat Aug 01, 2020 2:14 pm- I have to figure out how to get rid of those blue dashes flickering on the title screen. When I move sprite zero even 1 pixel in either direction, it screws up the "full screen" image.
Code: Select all
@wait_sprite0_hit_clr:
bit PPU_STATUS
bvs @wait_sprite0_hit_clr
@wait_sprite0_hit_set:
bit PPU_STATUS
bvc @wait_sprite0_hit_set
remove duplicate tiles, compress the rest. i'm using donut compression, it reduces tile data by about 40%NeverCameBack wrote: ↑Sat Aug 01, 2020 2:14 pmRight now I'm trying to come up with a way to condense BG data, because I'm realizing that I can really only fit 7 full backgrounds from $E000 to $FFFF. My sound engine is at $A000 to $C000, and my game code is at $C0000 to $E00. It looks like I have $8000 to $A000 empty, so maybe I can fit another 8 backgrounds there. I'm wondering how games seem to fit A LOT more than that though.
Re: Incandescent
I'm not sure why splitting the title screen is necessary. I tested here and NES Screen Tool seems to have generated a full nam of it in one CHR just fine?
https://twitter.com/bitinkstudios <- Follow me on twitter! Thanks!
https://www.patreon.com/bitinkstudios <- Support me on Patreon!
https://www.patreon.com/bitinkstudios <- Support me on Patreon!
Re: Incandescent
Most games don't store raw name/attribute table data in the ROM. For static screens they'll often use some generic compression technique, such as RLE or LZSS. As for level maps, games usually take advantage of the fact that certain structures appear many times in different places, so they store these structures separately and reference those in the map, instead of raw tiles, making it possible to "invoke" larger blocks/structures using only 1 or 2 bytes.NeverCameBack wrote: ↑Sat Aug 01, 2020 2:14 pmI'm wondering how games seem to fit A LOT more than that though.
In SMB for example, each screen starts out "blank" and the level map specifies where to draw everything (holes on the ground, pipes, bricks, etc.) in a very compact format. Mega Man on the other hand defines a set of 32x32-pixel blocks (commonly called metatiles) that it uses to build the levels, bringing the total size of a screen down to 64 bytes. There's of course the overhead of the metatiles themselves, but the overall savings are still huge.
- NeverCameBack
- Posts: 56
- Joined: Mon Feb 24, 2020 12:22 am
Re: Incandescent
I fell off the NES wagon. Went on vacation at the end of August, trying to calculate the wall locations in my game on piece of paper while on the plane. Then I just fell out completely. I'm gonna attempt to make more progress now. It's been tough trying to make it through the nerdy nights music tutorial - which is where I left off, several times.
I could have made that title screen in one nametable, but was just going through the exercise of using sprite 0 hit to get a full screen image.
Once again thanks for the deep knowledge. I figured the BGs had to be generated "on the go", since I can only fit some "x" number of full screens - and I'm running out of space with the CHR bank swapping. I plan on getting some of my own music playing, then moving to the MMC1 bank swapping. Will report progress.
I could have made that title screen in one nametable, but was just going through the exercise of using sprite 0 hit to get a full screen image.
Once again thanks for the deep knowledge. I figured the BGs had to be generated "on the go", since I can only fit some "x" number of full screens - and I'm running out of space with the CHR bank swapping. I plan on getting some of my own music playing, then moving to the MMC1 bank swapping. Will report progress.
-
- Posts: 9
- Joined: Sun Mar 03, 2019 4:48 pm
Re: Incandescent
Any new progress? I love checking back on this game, hoping to see it come to completion.