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