Please help consolidate all info for pixel artists for SNES

Discussion of hardware and software development for Super NES and Super Famicom. See the SNESdev wiki for more information.

Moderator: Moderators

Forum rules
  • For making cartridges of your Super NES games, see Reproduction.
93143
Posts: 1717
Joined: Fri Jul 04, 2014 9:31 pm

Re: Please help consolidate all info for pixel artists for S

Post by 93143 »

Bitbeam wrote:You can temporarily stretch your image from 256 pixels wide to 298 pixels wide to preview how your art will look once its showing on an actual SNES.
The PAR for NTSC is 8:7, which is 292.57/256, not 298/256. Stretching to 293 is probably close enough; I'm sure it varied a bit between TVs.

The PAR for PAL is roughly 11:8, which is 352/256 or more accurately 354.86/256. This means that art drawn for an NTSC SNES will look fat on a PAL SNES.
however you can opt to use a 16x16 tile mode instead, which would allow for level maps being twice as high and wide in pixels
It's not quite that simple. Level maps are usually far larger than tilemaps. You use map scrolling techniques (using DMA to overwrite rows and/or columns in a tilemap between frames) to seamlessly move around the level map. Since a lot of developers use metatiles in their level formats, using 16x16 tiles might not even save any ROM, though it could save some CPU time when generating the tilemap data from the level data.

The most obvious advantage is that it saves a bit of VRAM, since you only need one map to do horizontal scrolling. You could also use the same map to handle more than one layer, if you were careful with scroll values; with HDMA to handle mid-screen scroll changes you could even do vertical scrolling of both layers. This sort of thing can add up fast - horizontal scrolling with three layers of 8x8 tiles takes six tilemaps, or 12 KB, which is a significant chunk of the 64 KB VRAM, but with 16x16 tiles it could be done in about 3 KB if you're clever (you can store tiles in the tilemap area if you know that part of the tilemap isn't going to be onscreen) or 6 KB with no cleverness whatsoever.

Basically it covers more real estate for the same amount of VRAM.
Each layer can use up to 1,024 tiles, limited by the amount of VRAM being used by all other graphical assets.
Your next statement, regarding tile flipping, notes that Mode 7 is the exception to it. It's true in this case too. Mode 7 can only use 256 tiles.

It's a severe limitation, especially with the lack of flipping. You actually can't do a fullscreen full-resolution image in Mode 7 without repeating tiles, because 256 tiles is only a 128x128 square. Mind you, you can still fill the screen because of the scaling capability afforded by the transform matrix, and if you do reuse tiles the map is an immense 1024x1024 texels; it's just that if you convert an arbitrary image to Mode 7, and it doesn't happen to have repeating patterns that align to an 8x8 grid, it will have to be either blocky or small.
Last edited by 93143 on Sun May 21, 2017 7:55 pm, edited 1 time in total.
creaothceann
Posts: 611
Joined: Mon Jan 23, 2006 7:47 am
Location: Germany
Contact:

Re: Please help consolidate all info for pixel artists for S

Post by creaothceann »

93143 wrote:not 298/256
My fault, wrote 298 above before noticing and fixing it.
My current setup:
Super Famicom ("2/1/3" SNS-CPU-GPM-02) → SCART → OSSC → StarTech USB3HDCAP → AmaRecTV 3.10
iNCEPTIONAL

Re: Please help consolidate all info for pixel artists for S

Post by iNCEPTIONAL »

tepples wrote: Wed May 17, 2017 9:39 am Each background in mode 0-6 can use 1,024 tiles, but 64 KIB is not enough video memory for, say, all three layers to have distinct tiles.
So, let's say I'm using mode 0, which uses much fewer colours so takes up much less memory per 8x8 tile than any of the other modes, how many unique tiles would be a good number to use on each layer if we deduct the general amount of video memory that usually [on average] gets used up for everything else a game needs to display?

I'm currently trying to stay around 256 unique 8x8 tiles per layer max. Am I'm being way too conservative here, or is that about right in your opinion?

And can I switch in/out a bunch of new tiles at later stages in the level just for a bit of variety in each stage, or is that asking the SNES to do too much?
creaothceann
Posts: 611
Joined: Mon Jan 23, 2006 7:47 am
Location: Germany
Contact:

Re: Please help consolidate all info for pixel artists for S

Post by creaothceann »

iNCEPTIONAL wrote: Tue Feb 01, 2022 3:28 pm And can I switch in/out a bunch of new tiles at later stages in the level just for a bit of variety in each stage, or is that asking the SNES to do too much?
Of course you can, VRAM is freely accessible in VBLANK. It's "just" a matter of making sure that the player never sees the tiles while they're uploaded.
My current setup:
Super Famicom ("2/1/3" SNS-CPU-GPM-02) → SCART → OSSC → StarTech USB3HDCAP → AmaRecTV 3.10
iNCEPTIONAL

Re: Please help consolidate all info for pixel artists for S

Post by iNCEPTIONAL »

creaothceann wrote: Tue Feb 01, 2022 3:46 pm
iNCEPTIONAL wrote: Tue Feb 01, 2022 3:28 pm And can I switch in/out a bunch of new tiles at later stages in the level just for a bit of variety in each stage, or is that asking the SNES to do too much?
Of course you can, VRAM is freely accessible in VBLANK. It's "just" a matter of making sure that the player never sees the tiles while they're uploaded.
Cool.

And what's your view on how many unique background tiles I'm using on each layer in Mode 0, as per the first bit of my question above?

This is what my game [mock-up] currently looks like using mostly less than 256 unique tiles per layer (often way less): https://youtu.be/IyrOCNQc_rs
creaothceann
Posts: 611
Joined: Mon Jan 23, 2006 7:47 am
Location: Germany
Contact:

Re: Please help consolidate all info for pixel artists for SNES

Post by creaothceann »

Just go with any number for now, even 256, and create a test level. You'll see any problems as you go, should there be any.
My current setup:
Super Famicom ("2/1/3" SNS-CPU-GPM-02) → SCART → OSSC → StarTech USB3HDCAP → AmaRecTV 3.10
iNCEPTIONAL

Re: Please help consolidate all info for pixel artists for SNES

Post by iNCEPTIONAL »

creaothceann wrote: Wed Feb 02, 2022 10:01 am Just go with any number for now, even 256, and create a test level. You'll see any problems as you go, should there be any.
OK, well I'll try to stick with around 256 for each layer for now and see how that works out.
iNCEPTIONAL

Re: Please help consolidate all info for pixel artists for S

Post by iNCEPTIONAL »

Nicole wrote: Fri May 19, 2017 1:26 pm
Optiroc wrote:I couldn't see it mentioned here so far, yet it's one of the most important things to realize for pixel artists targeting the SNES:

Pixel Aspect Ratio = 8:7
(for normal resolutions on NTSC display)
And just to clarify for those who may not be familiar with the term, or may confuse it with screen aspect ratio...

Unlike computer monitors, pixels on the SNES are not perfectly square. Instead, pixels are slightly wider than they are tall, by a ratio of 8:7. Because of this, if you want to draw, say, a perfect circle, making it 64 pixels wide and 64 pixels tall won't work, because it'll be slightly too wide. Instead, it would need to be 56 pixels wide and 64 pixels tall.

Many emulators and screenshots don't compensate for all of this, simply using a 1:1 PAR instead, since stretching the image will naturally blur it a little on a computer screen due to pixels not matching up, and the PAR difference is not a big problem for most people. However, it is a good thing to be aware of if you want to be sure your art will show up as you intend on a real SNES.
Eh, doesn't this whole 8:7 pixel ratio only apply when viewing the games stretched to fit the full screen width on a 4:3 display?

When viewed on a modern display and set to the official Nintendo "perfect pixel" mode, are the pixels not exactly that same square shape as on the likes of Genesis?

If so, then I really think this whole notion of saying SNES pixels are not 1:1, calling them 8:7, is completely wrong. And, from an artist's perspective, which is who this document is for, I think it would be far simpler to just let them create 1:1 art and not worry about having to compensate for people viewing the games in 4:3 mode as the standard approach. Specifically pissing around with art to compensate for the stretch to 4:3 should be exception not the rule, especially in 2022 and beyond.

I think it's far easier to understand that the SNES' 256x224/512x448 resolution ratio is 8:7 natively, the pixels are just 1:1 squares, and, back in the old days (or as an option on modern emulators and the like), most displays stretched the graphics to fit the 4:3 TV aspect ratio that was popular at the time.

But, feel free to correct me if I'm wrong here regarding the actual pixel size/shape before it's output on the likes of a 4:3 CRT or whatever.
Last edited by iNCEPTIONAL on Sat May 07, 2022 8:35 pm, edited 2 times in total.
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: Please help consolidate all info for pixel artists for SNES

Post by lidnariq »

iNCEPTIONAL

Re: Please help consolidate all info for pixel artists for SNES

Post by iNCEPTIONAL »

lidnariq wrote: Sat May 07, 2022 8:33 pm Read this article: https://www.nesdev.org/wiki/Overscan
Not interested.

Unless the pixels that the SNES generates are actually NATIVELY 8:7 ratio, all this talk of the SNES pixels being 8:7 shaped is utter bullshit.

As an artist, I don't need to be fed bullshit that just makes everything even more confusing and convoluted.

The simplest thing is to say: Keep in mind that if your game is viewed on an old TV that has a 4:3 display ratio (or you optionally select to view your game in 4:3 ratio on a modern emulator), your game game will look a little stretched, which you may or may not want to compensate for in your pixel art. But, in modern times, pretty much every single way of playing these games allows you to view them without any stretch whatsoever, even on official hardware like the 3DS, SNES Mini and Switch, and certainly every single emulator out there, so it's really not a big deal.

And, again, PLEASE feel free to correct me if the actual individual pixels on SNES are in fact 8:7 rectangles natively.
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: Please help consolidate all info for pixel artists for SNES

Post by lidnariq »

iNCEPTIONAL wrote: Sat May 07, 2022 8:42 pm Not interested.
You don't care about why you're wrong. You just want someone to tell you you're not wrong.

Tough.
Unless the pixels that the SNES generates are actually NATIVELY 8:7 ratio, all this talk of the SNES pixels being 8:7 shaped is utter bullshit.
The link, that you decided you don't want to read, is an explanation of exactly why the SNES's pixels are "natively" 8:7. Also the Master System, and the Genesis in 256-pixel-wide mode.
iNCEPTIONAL

Re: Please help consolidate all info for pixel artists for SNES

Post by iNCEPTIONAL »

lidnariq wrote: Sat May 07, 2022 9:00 pm
iNCEPTIONAL wrote: Sat May 07, 2022 8:42 pm Not interested.
You don't care about why you're wrong. You just want someone to tell you you're not wrong.

Tough.
Unless the pixels that the SNES generates are actually NATIVELY 8:7 ratio, all this talk of the SNES pixels being 8:7 shaped is utter bullshit.
The link, that you decided you don't want to read, is an explanation of exactly why the SNES's pixels are "natively" 8:7. Also the Master System, and the Genesis in 256-pixel-wide mode.
I specifically said to tell me if I am in fact wrong at the bottom. No problem with being wrong. Don't want to read a paper on why SNES pixels are not perfect squares, but, for all intents and purposes are when viewed on a modern system in pixel perfect mode vs stretching them to all hell to fit some ancient 4:3, especially if people are basically trying to make artists think they have to literally squish their art when drawing things to compensate for that niche use scenario.

Any artist using this as a reason to literally draw their pixel art distorted to compensate, not really for the pixel aspect ratio in the slightest, but for the tiny minority of geeks who absolutely insist that 4:3 is how you're supposed to play SNES games and would literally encourage you to create squished and distorted art to work on that ratio and only that ratio properly, despite Nintendo literally including a perfect pixel mode in all their recent consoles and basically every single method of playing these games today allowing you similarly view the games in 8:7 mode, is being led up the garden path by a bunch of hardcore geeks.

As an artist, I say just draw your SNES art at 1:1 and on any system it will look nigh-on perfect when viewed in perfect pixel mode. Only total obsessive nerds are going to literally stretch the art when they're drawing it to make it look a bit more correct when viewed on ancient 4:3 CRT TVs that about one in a million people actually use these days. And, on an emulator, people can choose whatever the hell they prefer, without the artist having to do anything random when creating their art.
Last edited by iNCEPTIONAL on Sat May 07, 2022 9:52 pm, edited 1 time in total.
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: Please help consolidate all info for pixel artists for SNES

Post by lidnariq »

And for literally everyone else, the pixels will be 8:7 at narrowest. Most people are going to see even wider pixels, especially if they're in 50Hz-land or on a modern HDTV or both.

You want some excuse to take a shortcut? By all means, take the shortcut. But don't pretend it isn't one.
iNCEPTIONAL

Re: Please help consolidate all info for pixel artists for SNES

Post by iNCEPTIONAL »

lidnariq wrote: Sat May 07, 2022 9:52 pm And for literally everyone else, the pixels will be 8:7 at narrowest. Most people are going to see even wider pixels.

You want some excuse to take a shortcut? By all means, take the shortcut. But don't pretend it isn't one.
Yeah, I ain't drawing a circle that isn't a circle just for a tiny minority. I'll draw a proper circle so the art actually looks good in its own right, and "everyone else" can either view the game in 8:7 or perfect pixel mode, or put up with stretched visuals in 4:3 mode, as was the case with the majority of actual SNES games. And I recommend every other artist out there creating SNES games in 2022 and beyond do the same.
Last edited by iNCEPTIONAL on Sat May 07, 2022 10:01 pm, edited 1 time in total.
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: Please help consolidate all info for pixel artists for SNES

Post by lidnariq »

You didn't read a single thing I said, did you.

If a person plays a game on a CRT TV in the US, pixels are only a little wider than they're tall, 8:7.
If a person plays a game on a CRT TV in 50Hz-land, the pixels are significantly wider than they're tall, 7:5.
If a person plays a game on a stretchy HDTV in the US, the pixels are significantly wider than they're tall, 3:2.
If a person plays a game on a stretchy HDTV in 50Hz-land, the pixels are really wide, 11:6.
Post Reply