Newcomer to NES programming
Moderator: Moderators
Re: Newcomer to NES programming
Vertical mirroring + cutting off lines from the top and the bottom, I presume? But then you need a way to time where the blanking happens, which as far as I know is not that easy without a scanline counter (sprite zero tends to help, but not sure to what extent when you need to do two splits)
Re: Newcomer to NES programming
Cutting 16 lines off only the top is enough, and this can be done by wasting only sprites 1-9.
Re: Newcomer to NES programming
2AM post, after several days of not coding. I can write to the nametable data off-screen. To make maps larger. Right. I forgot. I'm still new to this, haha.tokumaru wrote:Clean 8-way scrolling is possible even without extra name tables. It's just a little trickier to code.
Re: Newcomer to NES programming
Well yeah, but I figured that most people would prefer to center the visible area instead to look less ugly.
Re: Newcomer to NES programming
Cool game designs so far!
I don't know how they do it, but a lot of music (+ the player) can be squeezed into a small space. Matt Simmonds' song "Empty" is only 512 bytes!
http://csdb.dk/sid/?id=32845
( http://www.last.fm/music/Matt+Simmonds+ ... 2+bytes%29 )
I don't know how they do it, but a lot of music (+ the player) can be squeezed into a small space. Matt Simmonds' song "Empty" is only 512 bytes!
http://csdb.dk/sid/?id=32845
( http://www.last.fm/music/Matt+Simmonds+ ... 2+bytes%29 )
Re: Newcomer to NES programming
A question, is it at all feasible to split a larger sprite, consisting of 8x8 pieces into the CHR, and shift the tiles to save space, then apply pixel offsets when drawing the sprite? I can't recall if any of the 200+ NES action games have done anything like this.Kasumi wrote:Sprites can be placed arbitrarily, and the two you've got are identical beyond the spacing.
It would certainly save a good chunk of room with a run cycle I'm working on!
Note: Her gun-holding arm has already been split off, and optimized from the main sprite.

- Attachments
-
- NotMetroid.chr
- (32 KiB) Downloaded 237 times
Last edited by Alp on Sat May 21, 2016 2:47 pm, edited 1 time in total.
Re: Newcomer to NES programming
Given the suggested way to save metasprites, I'd say that not only it's feasible, but allowing that is actually the fastest method. So yeah I'd say feel free to assume that's acceptable. I actually abused that a lot with the astronaut graphics I posted some time ago, the head is a single 8×8 sprite, as are the legs in the first frame.
Re: Newcomer to NES programming
If I understood you correctly, yes it's very feasible and done quite often. If you want to try that kind of stuff out, there's a metasprite editor in NES Screen Tool (make sure to read the README file).Alp wrote:A question, is it at all feasible to split a larger sprite, consisting of 8x8 pieces into the CHR, and shift the tiles to save space, then apply pixel offsets when drawing the sprite? I can't recall if any of the 200+ NES action games have done anything like this.
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi
Re: Newcomer to NES programming
Yeah! Pretty much that. Thanks for the quick response!thefox wrote:If I understood you correctly, yes it's very feasible and done quite often. If you want to try that kind of stuff out, there's a metasprite editor in NES Screen Tool (make sure to read the README file).
I hand optimized the tile data, and managed to get it from 80 tiles, down to 68.

What I mean, is to keep each tile of a sprite misaligned in the CHR to save space, and then re-align them in-game. I hope I did this right! O_Othefox wrote:If I understood you correctly, yes it's very feasible and done quite often. If you want to try that kind of stuff out, there's a metasprite editor in NES Screen Tool (make sure to read the README file).
Last edited by Alp on Sat May 21, 2016 2:48 pm, edited 1 time in total.
Re: Newcomer to NES programming
If by that you mean being able to place each tile in a metasprite in a completely arbitrary position on screen, then yes, that's possible.
Re: Newcomer to NES programming
I recommend listening to an interesting interview with the Pickford bros (who made Ironsword, Solstice, etc.) in which they explain how they "enjoyed" working on the NES, as well as how they (& RARE) really optimized sprite tiles on the NES in exactly the same way that we're discussing here.
link: http://retroasylum.com/ep-97-5-pickford ... interview/
link: http://retroasylum.com/ep-97-5-pickford ... interview/
Re: Newcomer to NES programming
Wow! The Pickford Brothers! Thanks for the link! I wasn't aware that they been interviewed!ccovell wrote:I recommend listening to an interesting interview with the Pickford bros (who made Ironsword, Solstice, etc.) in which they explain how they "enjoyed" working on the NES, as well as how they (& RARE) really optimized sprite tiles on the NES in exactly the same way that we're discussing here.
I gave it a listen, it was very interesting to hear their thoughts on the game industry. Their opinion about indie games more or less summarizes why I keep my distance from most pixel art sites.
I forgot to upload the picture, showing the intended use of the tiles. Everything is WIP:

Last edited by Alp on Sat May 21, 2016 2:49 pm, edited 1 time in total.
Re: Newcomer to NES programming
Mmm, I'm fairly sure they didn't make Solstice. There's that video about the creators of Solstice floating around on YouTube though, it's cool also. At least one other game that I can remember that Pickford bros made is Solar Jetman.ccovell wrote:Pickford bros (who made ... Solstice, etc.)
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi
Re: Newcomer to NES programming
Yeah, whoops! They made a lot of games, including Solstice II... but not the first one.
Here's their softography with comments on each page as to how much of the actual game they handled (sometimes just art, or Jon Pickford was merely the producer, etc.) http://www.zee-3.com/pickfordbros/softography/
Here's their softography with comments on each page as to how much of the actual game they handled (sometimes just art, or Jon Pickford was merely the producer, etc.) http://www.zee-3.com/pickfordbros/softography/
Re: Newcomer to NES programming
A long time since I've done an update-- I've been busy working the graveyard shift at work. Ugh.
I have a technical question, for a silly future project idea I have, that (might) be a first on the NES.
Assuming a map is sufficiently compressed, with a minimal tile index being stored--
(floors and walls. Information would be compared to neighbours, and indexed a metatile on decompression.)
With the use of 8K PRG-RAM, what is the general memory size a single decompressed game screen would use? I'm curious, for calculation purposes. I know that Mario 3 does this.
The idea, is to potentially program a fully functional rogue-like game on the NES.
Complete with seed-based level generation.
(A pseudo-random number would be generated, and would effect the behaviour of a "digger" set from a starting position, to carve out paths, and generate rooms/structures. The game would store these in an RLE-compressed format, de-compressing the map data into RAM, as needed)
I'll be posting some art for this project idea, as soon as I have more time to work on it.
I have a technical question, for a silly future project idea I have, that (might) be a first on the NES.
Assuming a map is sufficiently compressed, with a minimal tile index being stored--
(floors and walls. Information would be compared to neighbours, and indexed a metatile on decompression.)
With the use of 8K PRG-RAM, what is the general memory size a single decompressed game screen would use? I'm curious, for calculation purposes. I know that Mario 3 does this.
The idea, is to potentially program a fully functional rogue-like game on the NES.
Complete with seed-based level generation.
(A pseudo-random number would be generated, and would effect the behaviour of a "digger" set from a starting position, to carve out paths, and generate rooms/structures. The game would store these in an RLE-compressed format, de-compressing the map data into RAM, as needed)
I'll be posting some art for this project idea, as soon as I have more time to work on it.