AuthorTopic: [C+C] Main character for a NES-like platform game  (Read 5173 times)

Offline Kasumi

  • 0010
  • *
  • Posts: 275
  • Karma: +1/-0
    • View Profile

Re: [C+C] Main character for a NES-like platform game

Reply #10 on: March 17, 2016, 01:42:32 pm
Quote
The left (bouncy) or the right one (not bouncy)?
I prefer the left.

Quote
Strangely, their "combined sprites" usually had only 5 colors instead of the 6 ones that could theoretically have
This is... purely an informational post since you wondered aloud. I would not change your sprite based on it, you just might find it interesting.

Looking at total color counts for a sprite doesn't reveal the whole picture. You get 3 colors in a palette. Each hardware sprite (usually 8x8) can use the three colors from any one of four sprite palettes.

Your sprite has six colors. If you planned to use only two color palettes for that, black (your outline color) is only in one of them. The largest area of your sprite (arm, torso, legs, feet) is covered by black, brown, light brown, so it's likely that would be one of your color palettes. This leaves the reddish brown, red and the skin tone.

So the head uses mostly red. But anywhere that's black needs additional sprites because black is not in the palette with red. You need 4 sprites to display the black outline (and face in shadow), then another 4 sprites for the rest. 8 sprites just for the head. The cape would similarly need two sprites everywhere since it's black with red, and black is not in the red palette.

The reason many, many games only used 5 colors for sprite overlays is because their outline color was usually in multiple palettes to avoid all the doubling up. Two palettes. Three colors each. Black is in both, which leaves two colors free in both for whatever. 5 total unique colors. You can see in those Little Mermaid sprites that Ariel has two different "outline colors", which is why she's 6.

For your sprite, another way to do it is use three background palettes. Black, reddish brown, red. Black, brown, light brown. And the skin tone alone (with two colors free for other things.) Whether or not this would be a good idea depends on how many other things in your game could make use of those palettes. I'm actually working on a game where the main character alone uses three of the four palettes, and it's a huge hassle only having one left for the other stuff meant to be on screen with her.

A third way to do it is to remove one color. I'd pick the dark red brown used for the cape. Then black could be in your red/skin tone palette, but you'd still have to use six sprites to display the head as is because of the highlight (two different palettes needed in the top left), and the shadow. (two different palettes needed for the bottom right.)

Short version: To avoid doubling up sprites for the outlines, lots of games put the outline color in two palettes meaning only 5 unique colors. Your current sprite would actually use a lot of hardware sprites, and there could only be 8 sprites occupying the same horizontal pixel line before the hardware just stopped drawing more.

If it's interesting to you I could break your sprite down into hardware sprites to show some of this.

Edit: Someone on slack asked, so I made a couple images. May as well post them:


On the left is the palette setup without black in both palettes. (Also a seventh color!) On the right is a very quick edit to remove the sixth color. You'll see that there is significantly less double coverage. Not having double coverage helps with sprites on screen, and sprites per horizontal line, but also helps with tile count. There can only be 256 tiles used to display sprites in memory at any given time. Having two sprites to occupy the same area eats away at that as well.

In a game with outlined sprites, you probably want an outline color in every sprite palette. Another reason games may use the same outline color in all their palettes is for consistency.

But you could do black, brown, light brown, and dark red, red, and skintone and that'd work for a game that didn't do sprite overlays. The red baddies could use the dark red as an outline, or use it in ways that black might not look good.
« Last Edit: March 17, 2016, 03:04:30 pm by Kasumi »
I make actual NES games. Thus, I'm the unofficial forum dealer of too much information about the NES

Offline jjhaggar

  • 0001
  • *
  • Posts: 12
  • Karma: +0/-0
  • ...
    • JJHaggar
    • http://pixeljoint.com/p/54205.htm
    • View Profile
    • Mad Gear Games

Re: [C+C] Main character for a NES-like platform game

Reply #11 on: March 17, 2016, 03:23:04 pm
I was about to ask you to please break the sprite down when I noticed you updated the post, thank you very much for the info Kasumi, it's really interesting :D

It's amazing how the NES developers had to overcome all those difficulties and on top of that made such great games ^^U Are you programming a game for the real NES? That's amazing too! Could you share a link to the project? (I'm very bad at forums, so I'm not pretty sure how to find it).

P.S: The seventh color was an old mistake, thanks for pointing it XD
« Last Edit: March 17, 2016, 11:55:30 pm by jjhaggar »
Be happy! ^^

Offline Vertigo

  • 0001
  • *
  • Posts: 21
  • Karma: +0/-0
    • View Profile

Re: [C+C] Main character for a NES-like platform game

Reply #12 on: March 20, 2016, 07:50:09 pm

Which one do you prefer? The left (bouncy) or the right one (not bouncy)?

Hello!
I think if he's got a metal armor, he shouldn't be bouncy. Usually even when character has got a lot of muscles and he is so strong that armor doesn't affect his moves and his steps are bouncing, it looks a bit hilarious. Just imagine epic knight-king-warrior running like a ballerina.

Also Your outline has got some banding. People always say it's not good. I'm not sure about it, but You can consider this :D