Subpixel movement of pixel art on modern platforms

You can talk about almost anything that you want to on this board.

Moderator: Moderators

tepples
Posts: 22019
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Subpixel movement of pixel art on modern platforms

Post by tepples » Sun May 24, 2015 5:46 pm

In case this link becomes dead, it's "Scroll Back: The Theory and Practice of Cameras in Side-Scrollers" by Itay Keren on Gamasutra.

I found the article interesting. But it appears to recommend moving pixel art by less than a pixel:
In the Gamasutra article, Itay Keren wrote:Nowadays, we can design beautiful pixel art, and then move it across the actual pixels that are much finer than the pixel-art. And if you choose to avoid going pixel-perfect, you can even make use of the sub-pixel space as most modern engines offer.
I think subpixel movement of pixel art looks a little inauthentic. Does anyone else?

User avatar
tokumaru
Posts: 11771
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Where is a good place to check for collisions?

Post by tokumaru » Sun May 24, 2015 6:07 pm

tepples wrote:I think subpixel movement of pixel art looks a little inauthentic. Does anyone else?
Like I said before, this happened even during the days of the Atari 2600. Sprites on that system could be scaled, by hardware, to 2x or 4x their width, but they could still be moved by the basic pixel unit. This means that since the dawn of video games, the visual representation of game entities didn't necessarilly have as much resolution as the display. So no, I don't think subpixel movement is unauthentic, unless you're specifically simulating a platform that wouldn't allow it.

tepples
Posts: 22019
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Where is a good place to check for collisions?

Post by tepples » Sun May 24, 2015 6:27 pm

tokumaru wrote:Like I said before, this happened even during the days of the Atari 2600. Sprites on that system could be scaled, by hardware, to 2x or 4x their width, but they could still be moved by the basic pixel unit. This means that since the dawn of video games, the visual representation of game entities didn't necessarilly have as much resolution as the display. So no, I don't think subpixel movement is unauthentic, unless you're specifically simulating a platform that wouldn't allow it.
Most third- and fourth-generation consoles don't support that sort of sprite enlarging. It's glitchy on the Master System and not present at all on NES, TurboGrafx-16, Genesis, or Super NES. Neo Geo has only shrinking, not enlarging. Super NES has the mode 7 background, but even its scrolling is quantized to texels, as can be seen when driving at a slight angle in Super Mario Kart.

User avatar
tokumaru
Posts: 11771
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Where is a good place to check for collisions?

Post by tokumaru » Sun May 24, 2015 7:15 pm

tepples wrote:Most third- and fourth-generation consoles don't support that sort of sprite enlarging.
But you can still scale in software or deliberately draw using pixels that are larger than a hardware pixel (can't think of any exemples right now, but I'm absolutely sure there are some).,

My point is that the amount of blockiness in the characters and backgrounds isn't necessarily tied to the basic display unit, and could very well be the result of a graphical limitation/feature (as is the case of the Atari 2600, Master System and anything using a TMS9918) or a deliberate artistic decision.

In the end, it depends on the look and feel you're going for. If you want to look authentically retro, subpixel scrolling/movement will feel out of place, but if you just like chunky pixels and didn't make any commitment to any constraints in particular, I don't see why not go for the subpixels if the result feels nice.

Sik
Posts: 1589
Joined: Thu Aug 12, 2010 3:43 am

Re: Where is a good place to check for collisions?

Post by Sik » Sun May 24, 2015 7:25 pm

tepples wrote:Super NES has the mode 7 background, but even its scrolling is quantized to texels, as can be seen when driving at a slight angle in Super Mario Kart.
Wait, really? (also are you sure that's the hardware and not Mario Kart's engine?) I was under the impression that it had some subpixel accuracy, much like the Sega CD does (amusingly the Sega CD has different precision for start pixel and delta values).

tepples
Posts: 22019
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Where is a good place to check for collisions?

Post by tepples » Sun May 24, 2015 7:31 pm

I first learned how to make a mode 7 effect using software rendering in C, and it used subpixel coordinates. The equivalent to mode 7 on the Game Boy Advance also allows subpixel coordinates. So I thought it was SMK's engine until I read that the mode 7 scroll position (horizontal position in $210D, vertical position in $210E) has no subpixel bits.

I guess some of this has something to do with a rant by Blake Reynolds of Dinofarm Games. There are plenty of cases where pixel art is used out of laziness, and pixels aren't even a consistent size, and sprites are rotated to put blocks of pixels at an angle.
blakereynolds wrote:Many developers who try to achieve the retro aesthetic overlook how much magnification is going on, resulting in not one, but several different resolutions at once.
To me, sprite magnification is an effect associated with the second generation (Atari 2600, Coleco/MSX, C64). The only examples of sprite magnification I'm aware of using third- or fourth-generation hardware are 1. status bars on Game Gear and PAL or PAL/M SMS games (which had the magnification bug fixed), 2. 3D-style texture mapping performed on the CPU or GSU, and 3. back images of Red and his monsters in first-generation Pokémon games on Game Boy Color, which are also scaled on the CPU but not moved much anyway.

Sik
Posts: 1589
Joined: Thu Aug 12, 2010 3:43 am

Re: Subpixel movement of pixel art

Post by Sik » Sun May 24, 2015 7:52 pm

The sprites in Virtua Fighter Mini too (since it was a Game Gear only game so the MAG bug was guaranteed to have been fixed).

93143
Posts: 1196
Joined: Fri Jul 04, 2014 9:31 pm

Re: Subpixel movement of pixel art

Post by 93143 » Sun May 24, 2015 9:49 pm

I thought Mode 7 only had texel-level scrolling too (the runway in Pilotwings seems like an obvious example), until I tried scrolling a 2x-zoomed layer by 3 pixels and it ended up offset by 3 dots. One and a half texels.

I need to look into this more.

User avatar
rainwarrior
Posts: 7824
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Subpixel movement of pixel art

Post by rainwarrior » Sun May 24, 2015 11:11 pm

Last edited by rainwarrior on Mon May 25, 2015 1:32 am, edited 2 times in total.

User avatar
thefox
Posts: 3141
Joined: Mon Jan 03, 2005 10:36 am
Location: Tampere, Finland
Contact:

Re: Subpixel movement of pixel art

Post by thefox » Mon May 25, 2015 12:54 am

rainwarrior wrote:Following up on the question of why bit reversal.
Wrong thread?
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi

User avatar
rainwarrior
Posts: 7824
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Subpixel movement of pixel art

Post by rainwarrior » Mon May 25, 2015 1:29 am

WTF this is really annoying. Why was the collision thread split into a new thread with a name that's so similar to the other topic?

tepples
Posts: 22019
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Subpixel movement of pixel art

Post by tepples » Mon May 25, 2015 5:09 am

Because the new topic wasn't about collision anymore, and I'm imperfect at creating new titles.

User avatar
tokumaru
Posts: 11771
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Subpixel movement of pixel art

Post by tokumaru » Mon May 25, 2015 9:04 am

Sik wrote:The sprites in Virtua Fighter Mini too (since it was a Game Gear only game so the MAG bug was guaranteed to have been fixed).
An SMS version was released in Brazil though, and so was Earthworm Jim. Maybe all PAL-M consoles had the bug fixed too, but that still made it possible for owners of early consoles to import the carts and experience the bug.
tepples wrote:I guess some of this has something to do with a rant by Blake Reynolds of Dinofarm Games. There are plenty of cases where pixel art is used out of laziness, and pixels aren't even a consistent size, and sprites are rotated to put blocks of pixels at an angle.
Yeah, that's ridiculous, but every case of that I can think of isn't from serious, well designed games, but joke games put together in a few days without any effort being put into the graphics. Honestly, I believe a game could do this (different pixel sizes, smooth scaling and rotation) and still look good, as long as actual effort was put into the graphics and they were consistent with the atmosphere of the game. It would be its own thing though, not a simulation of graphics from a particular era.
To me, sprite magnification is an effect associated with the second generation (Atari 2600, Coleco/MSX, C64).
I had forgotten about the Commodore 64, which made extensive use of half-resolution sprites that could still move in full resolution. There are surely way more examples on that platform than on the Atari 2600, which already has quite a few.

ccovell
Posts: 1014
Joined: Sun Mar 19, 2006 9:44 pm
Location: Japan
Contact:

Re: Subpixel movement of pixel art on modern platforms

Post by ccovell » Mon May 25, 2015 9:18 pm

There are several systems (Wonder Boy in the arcade, etc.) that have a resolution 256 pixels across, but seem to allow scrolling in increments of half a pixel.

User avatar
Myask
Posts: 965
Joined: Sat Jul 12, 2014 3:04 pm

Re: Subpixel movement of pixel art on modern platforms

Post by Myask » Mon May 25, 2015 11:25 pm

It bugs me, as it appears to be a cut corner. Someone will have to make(show) a work where it is used thusly that does not suffer for it, I suspect.

Post Reply