New
The latest blog posts to take off on Hacker News. 2,924 posts.
We ported the original Doom to SQL
CedarDB is a database system that delivers unmatched performance for transactions and analytics, from small writes to handling billions of rows. Built on cutting-edge research to power today’s tools and tomorrow’s challenges.
City building games have a Soul Problem pt.2
Despite my disappointment with Cities: Skylines 2, I keep coming back to the game from time to time. I can't even control it. It's like a deep inner need....
Infidel goes wild
Planetfall was yesterday's public release, but of course I've spent the past few weeks concentrating on Infidel. A couple of days I came across the most egregious bug I've yet seen in an Infocom game. This bug is extremely difficult to detect ...
SDF vs. MSDF vs. Slug: GPU Text Rendering
The real difference between texture-atlas, SDF, MSDF, and Slug glyph rendering on the GPU: how each works, where each breaks, and when to use which.
Using any C++ library in Godot
How Godot's GDExtension system and the godot-cpp bindings work, and how to use Conan to bring C and C++ libraries into a Godot game, with a flecs example that simulates 100,000 particles.
Solving Factorio Quality
I play Factorio the normal way: by writing matrix math code to plan the factory.
Software occlusion culling in Block Game
My GPU is the integrated Radeon Vega 8 that comes with my AMD Ryzen 7 5700G CPU. I tell you this so you know that my workstation is not a graphical computing powerhouse. It is, in fact, quite weak. To its credit my integrated GPU shows up as 48% faster on UserBenchmark than the GPU in my low end hardware target; a…
What reversing, modernising old games tells us about the economic impact of AI
Some observations from my War of the Lancehttps://en.wikipedia.org/wiki/WaroftheLance%28videogame%29 1989 Code Harness assisted modernisation WIP I gave Qwen-3....
Factorio that you can touch
Hello, we have very unusual Friday facts for you.
Amiga Screens: A Primer
One of the unwritten rules of the Internet seems to be that whenever something Amiga-related is mentioned, at least one Amiga fan (myself included) must show up and try to explain the concept of screens . Amiga screens can have different resolutions, we'll tell you, and one can drag them, we'll say, and other Amiga…
Apple Copland D11E4 Booting in the Browser
Apple’s ill-fated Copland operating system is notoriously hard to run on real hardware, and has not previously been available in emulation. Here is the last build, D11E4 from June 1996, in an improved DingusPPC.
First Shader from Zero in Godot 4
Create your first shader in Godot. Implement texture sampling, shift shader UV coordinates, mask regions, and use noise to generate random shapes that make up a portal.
How video games inspire great UX (2019)
This quote is meaningful to me as I’ve often struggled with a problem until an insight from a user test “changed my perspective”.
Divide by depth for instant 3D
When I first started working on games, I used high level frameworks that would give you a Camera that just kind of worked. But as I learned more and wanted t...
The Effect of CRTs on Pixel Art (2024)
A follow-up to this text is available here . It goes into much greater detail about signal quality, and also examines how pixel art techniques have been used on non-CRT systems.
The Lamentable Later Life of Lemmings
For a while there in the early 1990s, there seemed to be good reason to believe that Lemmings was on its way to becoming one of gaming’s perennial franchises. Developed by DMA Design of Dundee, Scotland, the original Lemmings game took the world by storm upon its release in 1991. From its first home on the Commodore…
A custom virtual machine for the Stars 4X game
Stars! is a 1995 4X game (explore, expand, exploit, exterminate) for 16-bit Windows 3.1 that I first played ~28 years ago. While Windows is famously backwards compatible, it’s notoriously difficult to play Stars! today. Windows x64 cannot run 16-bit applications, and playing requires either retro hardware or emulation…
Anatomy of a Texture
A step-by-step guide to modern texture memory layout
When the fractional part of a float fixes your shader
A write-up of a full shader debugging session to find out why my Voronoi Diagram shader was stuttering in one specific machine.
Recreating Voodoo Graphics and a Late-1990s Gaming PC on an FPGA
I've spent the last month adding features and improving performance in z486_MiSTer , mostly working through games from the first half of the 1990s. Looking a few years ahead brought me to another change I wanted to explore: the arrival of 3D graphics cards.
Lucasart's Afterlife
I can hardly believe I’m writing a blog post about a game that came out 27 years ago, but here we are. Lucasfilm, at one time had a gaming subsidiary called Lucasarts, and they produced somet…
Reversing Factorio's RNG
This post details how Factorio's random number generation works, how it can be reversed and how I used that knowledge to predict and manipulate the RNG with pure in‑game mechanics.
ZX Spectrum: Experimenting with 1-Bit Sound
As part of the ZX Spectrum tour, I implemented some routines that would let you play simple tones out of the 1-bit beeper. These were in large part inspired by earlier work I did on the Apple II. W…
Stockfish 19
Stronger, smaller, and easier to run, thanks to an upgraded network architecture, universal binaries, and more!
Inverse Kinematics and Foot Locking
Computer Science, Machine Learning, Programming, Art, Mathematics, Philosophy, and Short Fiction
The "$60 Gaming PC" – AMD BC-250 (2025)
Ok it’s not exactly $60 but you can get the board itself for that amount of money on eBay if you’re lucky, but on average the price is around $70-$100 (as of November 2025) which is still very cheap considering you can play Cyberpunk 2077 on this.
Sony makes bold claim about game ownership
Sony would like you to know that any reasonable gamer would know that purchasing a game is just licensing a game (Video Games Chronicle), not owning it. And there is truth mixed in with a bold-face…
Porting my 1993 Amiga game to Godot, with an LLM reading the 68000 assembly
Babylonian Twins is an Amiga platformer I built in Baghdad in 1993, in 68000 assembly. This summer an LLM ported it to Godot, and this is what I found when I read back through what it did. The original disks are now free on itch.io.
Unusual Suspects
Sketch the suspect from witness testimony