AuthorTopic: Better Understanding Sprite Dimensions  (Read 693 times)

Offline greatlakes

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

Better Understanding Sprite Dimensions

on: October 19, 2016, 06:18:36 pm
Hello,

When determining the correct dimentions of particular sprites for games, is there a defined ratio when creating assets and or characters? I know that I've used 32x32 64x64 as standard dimentions when making sprites but I've always wondered how to calculate sizes for 8 and 16 bit games.

I did find a thread on here that really explained the aspect ratios and resolution on different types of games but I didn't exactly find the answer I was looking for.

THANK YOU!

Offline eishiya

  • 0010
  • *
  • Posts: 262
  • Karma: +2/-0
    • DerpTree
    • http://pixeljoint.com/p/28889.htm
    • View Profile

Re: Better Understanding Sprite Dimensions

Reply #1 on: October 20, 2016, 12:31:48 pm
Sprite sizes for 8bit and 16bit consoles had to be some number of hardware tiles in width of tiles. Note that these weren't the same as world/graphical tiles, hardware tiles were 8x8 on most of them, while most games used a graphical tile size of 16x16, so each tile was actually 2x2 hardware tiles. The sprite didn't have to fill up the entirety of its tiles, but artists usually made their work fill up as much space as possible to get more detail into the art.

Beyond working with specific files, they could be any size that could be rendered quickly enough and looked good.
For example, the NES could render 8 sprite tiles per scanline, and had a memory limit of 64 sprite tiles, this is why NES sprites tended to be very small and you rarely had very hectic, sprite-heavy scenes. If you made a 4x4 tile character (32x32 pixels, 16 tiles total), you already used up a quarter of your entire sprite budget for that frame, and half of your per-scanline sprite budget for 32 of your scanlines.
The SNES had higher limits for the number of sprites (and therefore sprite tiles) in memory and the number of tiles per scanline.

Beyond being made up of 8x8 tiles, there were also limits on total sprite size, though I'm not familiar with the specifics. However, I am pretty sure there were no limits on the sprite proportions, at least within the size limit. Mario was 2x3 tiles (16x24 pixels), for example.

Unless you're aiming specifically to follow some specific hardware limitations (in which case, look up the specifics), don't worry about the proportions. You can use multiples of 8 as a guide or to help get the feel you want, but even that isn't really necessary. You may want to limit yourself to 64x64px total, as that tended to be the limit in 16-bit consoles. They created the illusion of larger sprites by using the background layer and combining multiple independent sprites when needed, but mostly they stuck to smaller sprites for various reasons.
Beyond the hardware limit, there was also aesthetics and clarity to keep in mind - a very small sprite would be easily lost on the comparatively large screen (e.g. a 256x224px SNES screen), while a large sprite wouldn't leave much room for other information. Sprites that were 16px, 24px, or 32px tall were a pretty good size on the screen - easy enough to see, but left enough room for other sprites, a large chunk of the world, the HUD, etc. Larger sprites quickly "fill up" the screen, and even if other hardware limits weren't a problem, this would make the game unpleasant to play because it would feel crowded. For this reason, sprites were kept small, and only setpieces such as bosses were large.
« Last Edit: October 20, 2016, 12:43:54 pm by eishiya »

Online Kasumi

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

Re: Better Understanding Sprite Dimensions

Reply #2 on: October 20, 2016, 03:25:43 pm
Quote
I've always wondered how to calculate sizes for 8 and 16 bit games.
Look up or ask about the specific 8 or 16 bit console or game.

The size of what people call a "sprite" these days doesn't necessarily tell you how many hardware sprites it was, or how many tiles it used, or much else for that matter.

See these images by Tepples from nesdev:
A naive way to lay out sprites.

An optimized way.

The visual result would be identical. There's generally even a few different choices of graphics modes that could contribute to the same visual result, so there's usually not even going to be a catch-all answer for any given system, let alone some era of games in general.

There are games that do very complicated things with sprites:

That's an NES sprite I made. There's a box around each sprite that flashes on and off. It's not grid aligned at all, and takes advantage of transparency to use a lot of colors.
Another larger one with another color:
I program NES games. Thus, I'm the unofficial forum dealer of too much information about the NES.

Offline Ai

  • 0100
  • ***
  • Posts: 1047
  • Karma: +2/-0
  • finti
    • View Profile

Re: Better Understanding Sprite Dimensions

Reply #3 on: October 23, 2016, 02:48:25 am
^ It'd be good to have those sprite breakdowns in the Restrictions thread, since they are really dealing with the generalized problem of 'using available hardware sprites efficiently'
New AA tutorial, about handling irregular lines.

'Better software looks like "people who know what their problem is and why they have it"'

Offline greatlakes

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

Re: Better Understanding Sprite Dimensions

Reply #4 on: October 24, 2016, 12:52:18 am
eishiya, Kasumi

Thank you so much!!