[HN Gopher] Light on Glass: Why do you start making a game engine?
       ___________________________________________________________________
        
       Light on Glass: Why do you start making a game engine?
        
       Author : atan2
       Score  : 44 points
       Date   : 2026-03-22 23:15 UTC (3 days ago)
        
 (HTM) web link (analogdreamdev.substack.com)
 (TXT) w3m dump (analogdreamdev.substack.com)
        
       | ramesh31 wrote:
       | You can't accomplish this with a shader?
        
         | wallstop wrote:
         | From my experience with game engines and people that really
         | care about CRTs - I believe the effect (confidence: 95%) can be
         | entirely achieved with rendering glue in any of the modern game
         | engines - Unreal, Unity, Godot, etc. Now, whether or not it is
         | a literal shader, or a shader + custom sauce, not sure.
         | 
         | However, I have not tried, so I cannot verify that claim to
         | 100% accuracy. The author ...might have tried? They definitely
         | surveyed the landscape. My read of the article was that they
         | went down this rabbit hole and back-justified it instead of
         | investing a similar amount of time in a practical solution in a
         | modern engine.
         | 
         | CRT look and feel is a niche full of very passionate and
         | opinionated people.
        
           | user68858788 wrote:
           | Do you have an example? I've done a slightly-more-than-casual
           | search for convincing post-processing and haven't found
           | success. Filters still tend to retain the sharpness of pixel
           | edges in a way that CRTs don't, and the contrast doesn't look
           | right either.
        
             | wallstop wrote:
             | I'm not saying the tech currently exists in a form you can
             | just plop into a project and have it give you the exact CRT
             | look and feel that you want. What I am saying is that you
             | _can_ do that _within_ any modern game engine - you just
             | have to decide what, exactly, the look and feel you want is
             | and how to get there.
             | 
             | As an example, I will quote the article:
             | 
             | > Retro Game Engine owns the full frame lifecycle. I decide
             | what the input signals are, what the display does with it,
             | how time affects it, what gets presented and when.
             | 
             | You can replace "Retro Game Engine" in that sentence with
             | "Unity" or "Godot" and it is just as true.
        
             | jpadkins wrote:
             | Balatro is a good example. Lots of different opinions on
             | whether its a good CRT effect or not.
        
             | fluoridation wrote:
             | Still the best CRT simulation I've seen is in an X
             | screensaver called XAnalogTV. It simulates both CRT
             | artifacts as well as NTSC channel cross-talk and analog
             | interference. It amazes me that still no one has produced a
             | portable version.
        
           | danwilsonthomas wrote:
           | I've done a version of this in Godot. It's kind of a hack,
           | but it works and it's all Nodes without needing a script. You
           | could do it more easily in a compositor effect but you have
           | to deal more with the guts of the engine.
           | 
           | The basic idea was to use a chain of Viewports and
           | TextureRects using the previous ViewportTexture to do the
           | effect. This is essentially just setting up a chain of
           | framebuffers that I can draw on top of at each step. The
           | first step just does a simple calculation to convert the
           | incoming color to an "energy" value with a simple shader on
           | the whole frame. Then there are two decay viewports that feed
           | each other to decay the old frame and overlay the new one.
           | These just have a decay parameter that I can tweak to get
           | different effects. There's a final Viewport that supersamples
           | everything because I'm going for more of a vector display
           | look than a CRT. And I can layer on other effects at either
           | the energy state (like decaying phoshpor) or at the final
           | stage (like flicker or screen curve).
           | 
           | Here I've exaggerated the decay quite a bit so you can see
           | the effect. https://www.youtube.com/watch?v=2ZrvcZIfqOI The
           | trails there are entirely from this effect. I'm only
           | rendering the spinning figure. You can also see where lines
           | overlap they are brighter than the surrounding lines because
           | I cap the maximum energy value in the first layer.
        
       | PowerElectronix wrote:
       | My advice to anyone even minimally interested in retro games or
       | just clear motion in the image is to get a cheap crt monitor and
       | play a bit with it. You'll surely will appreciate that even
       | against today monitors they hold their ground very well (not in
       | brightness, though) and easily surpass them in motion clarity.
       | 
       | We did lose quite a lot when we trasitioned to lcd screens.
        
         | freedomben wrote:
         | Very interesting. I grew up with CRTs and didn't even use an
         | LCD screen until in my 20s. It felt magical. Then LED screens
         | (especially the black of OLED) felt even more magical. I've
         | never considered that CRTs might have been superior for some
         | things.
         | 
         | I do remember playing some NES games on emulators on LED
         | screens and thinking the weather effects and such looked pretty
         | bad compared to the CRT experience I remembered, but hadn't
         | gone much deeper than that. I'll have to try and find a CRT and
         | do some tests
        
           | Insanity wrote:
           | I started out gaming on CRTs in the late 90s. Moved to LCD in
           | the mid-2000s and haven't looked back. I don't miss CRTs, not
           | least the bulkiness of them lol.
        
             | freedomben wrote:
             | For real haha. I remember helping my dad move his old big
             | screen TV out of his house when he replaced it with a "flat
             | screen" and holy hell, it beat the hell out of 4 of us and
             | we only had to take it 100 feet. The bulk was something I'm
             | the young will never be able to appreciate :-D
        
         | nkrisc wrote:
         | I distinctly remember gaming on CRTs and then LCD screens and
         | it was night and day difference, in favor of LCD. Monitors have
         | only gotten better and I certainly don't miss CRTs, least of
         | all how hot they were.
        
           | superxpro12 wrote:
           | I'm curious what the primary causes of that are. Like, I had
           | a similiar experience growing up in the 90's. I think it was
           | just the sheer increase in resolution. Text looked so much
           | better, and you could fit more on a screen.
           | 
           | And then they got BIGGER.
        
             | Fr0styMatt88 wrote:
             | Same here, I very distinctly remember the first time I got
             | to use desktop-class LCD monitors (it was at a new job at
             | the time) and four things stood out:
             | 
             | - The screen size. Going from a 17" or maybe 19" CRT at
             | home to a 19" LCD but without the CRT bezel -- the screen
             | looked HUGE.
             | 
             | - The clarity and flatness. The lack of smudging on text,
             | the consistent geometry, being able to see the screen edge
             | right up to the bezel without any wasted space (which you
             | often had on a CRT if you wanted an image without excessive
             | pincushion / bulge).
             | 
             | - The relative lack of ghosting when compared to laptop LCD
             | screens I'd used in the past.
             | 
             | - The colour gamut. Looking back I think those monitors I
             | first saw were relatively wide gamut monitors being used
             | with Windows XP and no colour profiles. The colour
             | saturation was impressive (not accurate, but striking).
             | 
             | I never remember CRTs looking better than any desktop LCD
             | from that point on overall, but I dare say I just didn't
             | have access to any high-end CRTs at the time.
             | 
             | I also never remember CRTs having true black levels close
             | to OLED, which is another thing I hear people say
             | sometimes. I mean you could get deep blacks, but you'd be
             | sacrificing brightness and white/gray detail at the white
             | end. Again though might have just been the CRTs I knew of
             | at the time.
        
               | fluoridation wrote:
               | You forgot one thing: flickering. At 60 Hz, a CRT is
               | murder on the eyes. A few years ago I used a CRT for the
               | first time in like ten years and my eyes hurt almost
               | immediately.
        
               | Fr0styMatt88 wrote:
               | I was never incredibly disturbed by 60Hz though I did
               | notice it.
               | 
               | You reminded me of something I had forgotten though --
               | remember when 100Hz / 120Hz TVs first became a thing?
               | That I noticed!
               | 
               | I think most of my PC CRTs ran at 72Hz / 75Hz IIRC. At
               | least with the monitor I had I remember pushing it to
               | 90Hz but that would add bluriness / lose clarity so I
               | never used it at that rate.
        
               | khedoros1 wrote:
               | I went from a 19" CRT capable of 1600x1200@75Hz to a 17"
               | LCD capable of 1280x1024@60Hz, basically because that CRT
               | would've taken up a huge chunk of desk real estate in my
               | dorm.
               | 
               | My first impressions were that the screen was bright as
               | hell, sharp (but I was torn on whether that was good or
               | bad, given the blockiness that it introduced), thin and
               | light (awesome!), and sucked to run at anything but the
               | native resolution. After a few hours, I realized that my
               | eyes weren't getting tired looking at it, and that it was
               | nice not to have the subtle hum around anymore.
               | 
               | The CRT was a decent screen (for 1999), and the LCD was a
               | decent screen (for 2003). Of course, I just got used to
               | the differences, since the LCD was much more practical in
               | my life. I still have it in storage right now.
        
           | Keyframe wrote:
           | I'm a _bit of a snob_ when it comes to that both due to my
           | film & tv background as well as my game collection (jesus,
           | that's a lot of games including full snes, n64 sets, mega
           | drive, nes, etc). I have various broadcast monitors from PVMs
           | to BVMs as well as some of the finest consumer ones including
           | B&O etc. I can say that now with ultrafast OLEDs (240Hz)
           | we're 95% there now, finally. With high quality shaders or
           | hardware gadgets it's really nice. For that 5% more I think
           | those things like ultra high DPI OLEDs and phosphor dot level
           | emulation shaders with black frame insertions will get us
           | there. Until then - good ol' Trinitron is still superb choice
           | if you want 100%. Another thing, outside of actual display is
           | that old console + CRT are almost zero lag input to screen
           | experiences which I actually think plays significant role in
           | the overall experience.
        
           | maybewhenthesun wrote:
           | Agreed a 100% CRTS were wobbly flickery mess. Especially in
           | the 60Hz era. Everyhting below 90Hz on a crt gave me horrible
           | migraines when working longer than 4 hours.
           | 
           | LCDs that were just constantly lit were so much easier on the
           | eyes than a CRT where every bright pixel is flashing at 60Hz.
           | 
           | But one thing is true: a low res game designed to look good
           | on a CRT looks much worse on a low res LCD. CRTs being a
           | blurry mess gave you free 'antialiasing'.
        
       | fluoridation wrote:
       | ...What?
       | 
       | >But a CRT isn't a camera filming the world. Its a physical
       | device that generates an image as an output of physical process.
       | [...] That's not a post-process overlay or filter effect, its an
       | entirely different mental model of what it means to draw or
       | render an image. I think this is why I struggled when trying to
       | bolt this onto a modern engine. The foundations between the two
       | models is just so fundamentally different. At this point, I was
       | already beginning to consider my options. I was half inclined to
       | give up.
       | 
       | An LCD or an OLED are also not cameras. I honestly don't
       | understand what insight this person believes they've stumbled
       | upon.
       | 
       | This is also very mystifying:
       | 
       | >The frame is never a single instant, its a culmination of
       | integrations over time.
       | 
       | Strictly speaking, a CRT doesn't understand frames. It just fires
       | whatever intensity of electrons is indicated by an analog signal
       | at any given time as the magnets steer the beam across the screen
       | in whatever pattern has been designed into them. If the tube is
       | controlled by a digital source, there will likely be some kind of
       | framebuffer of some size _somewhere_ on the pipeline that stores
       | at least a full scanline, and nowadays invariably a complete
       | frame, so a DAC can convert the values in it to the analog signal
       | expected by the gun.
       | 
       | The entire article supposedly addresses the "why", but after
       | getting to the end, I still don't understand the why. What's
       | wrong with Unity or Unreal architecturally that this guy's engine
       | addresses?
        
         | nazgulsenpai wrote:
         | From my understand after reading, he's suggesting that Unreal
         | and Unity's post processing are just applying effects to a
         | camera/rendered frame, when what he wanted to do is simulate
         | the CRT itself across the renderer to the frame that hits the
         | swapchain.
        
           | fluoridation wrote:
           | But that's nonsensical. The CRT doesn't see the graphics
           | pipeline of, say, an SNES, it _just_ sees an analog signal.
           | The graphics processing is done in the digital realm, not in
           | the analog realm. If you want to simulate a CRT, all you need
           | is a physical model and a digital image to display, which can
           | come from Unreal, Unity, or whatever any other engine or
           | program or whatever. It makes literally zero sense to write
           | an entire engine to implement a CRT simulation.
        
         | spencerflem wrote:
         | Yeah I'm with you. Hate to assume such things but with how much
         | AI spam is out there on programmer blogs these days I kinda
         | just give up reading the blog post once something becomes
         | confusing. Most of the time there's not any insight to be
         | learned by investigating deeper.
         | 
         | This one also has a lot of Its not X, its Y type phrasing
        
         | slopinthebag wrote:
         | Mmm, while this person's articles are clearly AI written, they
         | do make some sense. Their renderer keeps samples the previous
         | frame to achieve the effect, which of course is totally
         | possible to do in Unreal or Unity but they also seem to have
         | their own lighting and PBR models, which _might_ be a bit
         | harder to achieve.
         | 
         | >Lighting systems are designed to remain readable under CRT-
         | style color quantization. Sprite and mesh pipelines emphasize
         | bold shapes and strong contrast. Even debugging tools in the
         | engine, like the grid overlays and scene visualization systems,
         | exist partly to help developers maintain spatial clarity and
         | composition.
         | 
         | This is AI nonsense but it could be a summarisation of
         | something real.
        
       | user68858788 wrote:
       | Interesting article. I hope their engine gets to the point where
       | it actually looks like CRT instead of the blocky filters we see
       | nowadays.
       | 
       | Here's an entertaining video showing the difference in retro
       | games on crt and lcd screens. It's pretty incredible if you
       | aren't aware. Games back then were designed on CRTs and can look
       | awful on LCDs in comparison.
       | 
       | https://youtu.be/bC-8y2R6IxI?t=166&si=D6K2v28RIR4bACQ3
        
       ___________________________________________________________________
       (page generated 2026-03-26 23:01 UTC)