[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)