[HN Gopher] A simple way to scale pixel art games
___________________________________________________________________
A simple way to scale pixel art games
Author : msk-lywenn
Score : 80 points
Date : 2024-12-03 08:16 UTC (6 days ago)
(HTM) web link (30fps.net)
(TXT) w3m dump (30fps.net)
| msk-lywenn wrote:
| I wonder if this could be implemented in the original OSSC.
| smusamashah wrote:
| But author did nearest neighbor on both axis instead of just
| vertical as proposed in tweet. Isn't this different?
| andrewmcwatters wrote:
| I've never seen good CRT physical emulation. But I also suspect
| it's been long enough, that I just wouldn't be able to tell the
| difference unless I had my old childhood bedroom Sanyo CRT to
| compare it to.
|
| I'm not sure these come close because there's some sort of
| physical element that would be hard to replicate unless you
| mapped the DPI of a screen to the "DPI" of a CRT.
|
| Otherwise you're just creating a weird facsimile in the same way
| that a lot of indie artists don't produce pixel art that is
| actually pixel aligned. It's ugly.
| kevin_thibedeau wrote:
| Shader based CRT emulation works well on 2K+ screens. Much more
| convincing than the crude scanline emulation with mask images.
| spondylosaurus wrote:
| Have you seen some of the display options offered by the
| RetroTink scaler? I think some of them look pretty good, but
| I'm not a hardcore CRT enthusiast, so maybe my standards are
| just lower than yours :P
| hnlmorg wrote:
| Retrotink is a brand, node a device. There's about half a
| dozen or so different scalers made by retrotink and many of
| them have different options.
| bee_rider wrote:
| Quite tangential, but it is sort of funny that we're still
| doing this nostalgic pixel art thing. I mean, no complaints at
| all, good pixel art looks nice. But the snes came out a _long_
| time ago.
|
| I wonder if we will ever get a nostalgic style that emulates
| all those flash games. Reasonably high resolution components,
| but only 10 or so pieces per character. Geometric shapes with
| gradients.
| klaussilveira wrote:
| Obligatory Xiao Xiao reference:
| https://www.newgrounds.com/series/xiao-xiao
| dmonitor wrote:
| Pixel art is nostalgic for many, but a big reason why it's
| used in indie games is because it's very easy to animate and
| look passable.
| CoryAlexMartin wrote:
| Yeah a big reason I started doing pixel art back in 2009
| was because it enabled me to do lots of trial and error by
| changing pixels until I got it to look good. It's much
| harder to do that with more traditional art, because there
| are way more options. That's not at all to say that pixel
| art doesn't require skill, but the skill floor is
| definitely lower.
| Sharlin wrote:
| Pixel art was certainly out of fashion for a while, but it
| came back in the 2010s because a) nostalgia, b) a counter-
| reaction to soul-destroying AAA game business, and c) the
| rise of indie games thanks to Steam.
| robinsonb5 wrote:
| > there's some sort of physical element that would be hard to
| replicate
|
| For a truly authentic CRT experience you need a faint smell of
| ozone, the crackle of a static charge on the screen and a high-
| pitched screaming/whining noise right on the edge of
| perception.
| pimlottc wrote:
| Don't forget the degauss button. _TWANG_
| fredrikholm wrote:
| Spot on. Reading that sentence I can almost feel that static
| on my skin from when very young me would curiously get way
| too close to the TV for reasons I no longer remember.
|
| The _thunk_ of turning off my CRT+VHS combo after a late
| night watching reruns as a tween. Nostalgia is hell of a
| drug.
| hifromwork wrote:
| When I was a kid, my CRT sometimes switched to a wrong
| resolution (it got narrower, so squares became slightly
| rectangular, for example). I say "my CRT", because that was a
| hardware, not software issue. I know, because kid-me solution
| was to smash the (hard, brick) wall with that CRT. And it
| worked. I still don't know why, I was too young to
| investigate - and hey it worked so why bother.
|
| My parents were less impressed, when after a few years the
| screen was moved and the wall was scratched everywhere.
| tuna74 wrote:
| If you want to emulate a CRT you have to emulate a specific CRT
| with a specific input. You can't have a general CRT emulation
| because they all look a bit different.
| TacticalCoder wrote:
| > I've never seen good CRT physical emulation.
|
| Same. Because they all try _way_ too hard.
|
| I have a fully working vintage arcade cab from the mid eighties
| which I still play on. I know. Most of these shaders and
| techniques exaggerate way too much what things really looked
| like. There's a _tiny_ blur and there are tiny scanlines (or
| whatever these little black lines are called) but things...
| Mostly looks pixelated.
|
| And that's an old, used, CRT I have: probably one of the
| blurriest one. Back in the nineties we already had fancy Sony
| Trinitron CRTs and these were flawless. Pixels just looked like
| pixels, not like all these blurred things nor like all these
| exaggerated shaders. Many CRTs were really crisp.
|
| Do games from the eighties look better on a CRT? Definitely.
| But it was subtle.
|
| Pixel art is pixel art and it's _not_ pixel art because it was
| shown on a CRT and suddenly it wouldn 't be pixel art anymore
| because it's shown on a modern monitor.
|
| Things were really just "blocky" and pixelized. That's really
| how things looked.
| zokier wrote:
| It's neat hack, but I'm not sure if there is much use for it. Of
| course this is much faster than doing CRT emulation, but in what
| context is that performance difference relevant? And I don't know
| if there are any other major advantages here.
| MaxGripe wrote:
| The proper way to scale pixel graphics is by using nearest-
| neighbor (integer scaling) + CRT shader. Some games implement
| these filters excellently (eg Black Jewel, Hammerwatch (only the
| very first part), Animal Well), while others do it poorly (eg
| Skald).
|
| Old consoles can be connected to an LCD monitor using a device
| called RetroTINK, which can add this effect perfectly. For static
| images, software like Photoshop, Affinity Photo is sufficient,
| but the goal should always be a CRT effect rather than generic
| scaling or fancy blur.
|
| The point is that OBJECTIVELY pixel art looks incomparably better
| on CRT monitors, which is why this effect is emulated.
| dmonitor wrote:
| There's a couple of effects that CRTs make that simply cannot
| be reproduced on LCD as well, even with advanced filters. The
| pixel glow and deep blacks are just locked behind the glowing
| phosphor technology. High resolution OLED can come close, but
| those displays are still pretty expensive.
| gsliepen wrote:
| Do not forget though that not all CRTs were made the same.
| There was a huge variation in dot pitch, or even the
| "subpixel layout" (think Trinitron). Also, not all CRTs had
| nice black levels; either the screen still
| reflected/scattered a lot of ambient light, or some CRTs just
| had a black offset level that ensured even fully black pixels
| still emitted some light, or a combination of both. Phosphor
| decay times also varied.
|
| The graphics cards themselves also mattered, RAMDACs aren't
| perfect.
| theshackleford wrote:
| > The pixel glow
|
| Can be decently emulated with more modern shaders that rely
| upon HDR, provided your HDR monitor is bright enough, which
| most are not. My display can do a reasoable job with 1600+
| nit peaks, and 1200 nits sustained. OLED's are not really
| capable here due to a lack of ability to push and sustain
| decent brightness levels. You'll also want 4K, in an ideal
| world, 8K would be even better, but we are where we are.
|
| > deep blacks
|
| CRT blacks were really not that deep unless you're sitting in
| the dark and there is nothing else on the screen. It also
| depended upon model, coating etc. Even in perfect scenarios,
| contrast in mixed scenes was "meh" at best.
|
| > High resolution OLED can come close
|
| So far my experience is that it can not, as it's simply not
| capable of the brightness required, but it does offer nice
| blacks yes and better than LCD motion (though just barely due
| to sample and hold.)
|
| I'd say the biggest remaining issue honestly is the motion
| blur inherent to sample and hold. As close as the more
| advanced shaders are getting today, it all falls apart when
| the image starts to move. Retroarch supports BFI, but its not
| as useful as it sounds for various reasons sadly.
|
| For now, I retain my broadcast CRT's, but I do hope to get to
| a point eventually where I could get rid of them. Though I
| suspect by the time such a technology arrives and is useful,
| i'll be old enough that i'll probably have stopped caring.
|
| My GF would love me to give up CRT's as I have a room full of
| them which she tolerates, but hardly loves :|
| hnlmorg wrote:
| Retrotink isn't a device. It's a brand. There are several
| different scalers made by retrotink.
|
| They're also not the only high quality scalers made for retro
| gamers. There's quite a number of different options available
| these days.
| recursive wrote:
| > OBJECTIVELY pixel art looks incomparably better on CRT
| monitors
|
| "Objectively" doesn't just mean a thing is a strongly held
| opinion or even widely held. This seems like a perfect example
| of a thing that is subjective, not objective. There is no
| objective metric for measuring the looks of pixel art. Or
| really any art in general.
|
| Probably most people who care prefer this, but that doesn't
| mean it's objective.
|
| This probably doesn't contribute to the discussion. But I have
| a personal peeve about people using the word "objectively" (and
| "demonstrably") when they really mean "significantly".
|
| Carry on.
| tuna74 wrote:
| "Let's do an experiment to make the VGA signal horizontal blur
| visible. I plugged my laptop to an LCD monitor with both HDMI and
| VGA cables and compared the results. This basically simulates a
| high quality CRT display and low quality VGA cable."
|
| This is so wrong. CRTs have unique properties that can not really
| be replicated on an LCD monitor. You can get something similar
| with a really high refresh OLED panel, but that needs to be
| verified.
| alberth wrote:
| >> Center: Horizontal linear (proposed)
|
| The image they used is biased toward horizontal.
|
| The ground (and blocks beneath the ground) have strong horizontal
| lines. As does the fence wall behind the main character, and the
| main characters gun is horizontally elongated.
| panzi wrote:
| On a page like this you should really use the CSS style:
| img { image-rendering: pixelated; }
| panzi wrote:
| (Because otherwise it's all blurry on a high DPI monitor.)
___________________________________________________________________
(page generated 2024-12-09 23:00 UTC)