Let’s see some rules!
Famicom/NES console have a mecanic and rules for Graphics. We are not here to make pixel-art but to find some solution to make graphics that you can use it for a NES/Famicom game. It’s harder as pixel-art.
It was nice to see the limitation’s palette but there is more limitation and we will need to take care. The console have a specific system for graphics.
To understand how works the BG, we need to analyse how it’s appear on a screen. The size is 256 x 240px.
But for US, the screen cut out 8px top and down.
If you want to make a game for international better to design it for a size of 256 x 224px
Here you can see the difference between PAL and US screen.
The Background is compose of Big Blocks like a grid. You have 16 x 15 big blocks and this is very important! Why? Because this big block of 16 x 16px can use only one palette! All Graphics and design will be influence by this simple rule!
You can already see the sturcture of BG and already the repetition.
Now, you need to be attentive. One big block is composed of 4 tiles and use only one palette of 4 colors.
This big blocks is 16 x16px. Each tiles is 8 x 8px.
We will need to keep in mind this rule. We are lucky to have one color similar on each palette. it will be something usefull, we will see it after. For the moment, we are finished with the BG’s rules.
Let’s see what happen with sprites.
The Main limitation is TV scanline. You don’t understand? normal. Your TV, like all the old TV, put the image of console per line. Starting from top-left to the bottom-right. One line per one line. Left to right then go down to the 2nd line on the left to the right etc.
Let’s see how can look like scanline from a part of the bg (Top).
Now we will see more closer how appear on the screen in slow mode in a small part of Top’s screen. You need to keep in mind this is normaly for full screen. When the full screen is load, the next frame will be load again from the top-left.
You are limited of 8 sprite’s tiles per scanline. If you put 9 tiles of sprite, the last one will disappear. Developper find a solution for this: BLINKING SPRITE.
Everybody saw already some sprite blinking in a NES game . It was not a mistake, it was an extra-code to allow you to see more then 8sprite. And because the frame of screen go fast, it’s blinking.
For example we have 3 sprites of Rabbit-Robotic. We will calcul the number of sprite’s tile per line.
The solution is to program the tiles who need to disappear, to avoid the console make it before ^^ .
Here we have 4 tiles to manage. (12 tiles-8 tiles limit= 4 tiles too much).
In one frame, the 4 last tiles disappear, in the second frame it’s the 4tiles of middle who disappear. Now we will see the blinking code in slow motion.
It’s really boring because big sprites will be always something to solve.
Anyway, it’s not a problem because Limitations force you to be creative! And we are here to find creative’s solution ^^