Topics /
Games & Graphics
The most popular blog posts about games & graphics on Hacker News. 241 posts.
Kernel anti-cheat is an overreach
Modern PC games make you install a ring-0 anti-cheat driver you can't audit.
I reversed Tower of Fantasy's anti-cheat driver: a BYOVD toolkit never loaded
How four layers of authentication in a production anti-cheat driver still hand you a complete BYOVD toolkit
"Inspector Dangerfuck", ANSI art comic from 1994
In 1994, a teenager wanted to be noticed in the ANSI art scene. So he created "Inspector Dangerfuck": a profane, stoned, gray-skinned cartoon detective.
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.
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…
AI is mass decompiling games. That's both awesome and scary
AI is now able to decompile games and software in a matter of days. That's scary... but kind of exciting.
Model-Based Testing for Dungeons & Dragons
Igor's programming blog
LittleJS is 2D and 3D now
LittleJS just got the biggest update since it launched! It is still the small, fast, dependency-free HTML5 game engine it always was. Now it also has a full 3D renderer sharing the canvas with your…
IRIX 3dfx Voodoo driver and glide2x IRIX port
At the moment only SST1 (Voodoo1) is supported on IP32 (O2). Only tested on IRIX 6.5.30 with RM7000C CPU. -driver sources (SST1 and CVG support on IP32) https://github.com/sdz-mods/tdfx_irix -glide2x IRIX port (SST1 on IP32) https://github.com/sdz-mods/glide_irix -hinv wrapper with 3dfx support…
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…
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…
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…
Game Boy Advance Audio Interpolation
You are seeing this because the administrator of this website has set up Anubis to protect the server against the scourge of AI companies aggressively scraping websites. This can and does cause downtime for the websites, which makes their resources inaccessible for everyone.
Gaussian Splats part 3: There's always a bigger scene
Continuing our Gaussian splatting development series, Director of Technology Sam Birley breaks down how we bypassed GPU Scene instance caps, implemented PlayCanvas Streamed SOG LODs, and managed GPU memory budgets for production-ready photogrammetry… bringing us to a point where the renderer has fin
The Collective Ambition Behind Odysseus, a Game-Changing Sci-Fi Larp
A conversation with lead producer Laura Kröger on the making of Odysseus and what it would take to become a permanent institution.
My new obsession: A horse-racing board game of pure luck
Someone recently introduced me a weird and wonderful little board game that has become my latest obsession. It's a game for 2-12 players where horses race...
Train Simulator Controller
From January to July 2026, I have continued to work on my UK Class 800-inspired train simulator. There are a number of components in progress, but few newly completed: in lieu of posts about completed portions of the simulator, here’s a roundup of progress across the different hardware aspects of the project.
Making Crash Bandicoot (2011)
In the summer of 1994 Naughty Dog, Inc. was still a two-man company, myself and my longtime partner Jason Rubin. Over the preceding eight years, we had published six games as a lean and mean duo, b…
How to run a city builder on 16 MHz
Do you feel spoiled by modern hardware? I know I do. Even the cheapest CPUs have at least 4 cores nowadays, running billions of operations per second. The idea that you could run any software on le…
How did Atari apply side art to Arcade Cabinets?
One of the most fascinating sequences in Atari’s arcade manufacturing process in the early 80s, was the application of the fabulous artwork that adorned all of its cabinets from the golden ag…
Chess invariants
Chess is a lot trickier than it looks. It has so many rules: castling, en passant, pawn promotion, pinning, the discovered check, and the de...
Klondike Solitaire game for curses in 5k of C
How I developed a Klondike Solitaire game for curses in C language as an entry for the IOCCC.
Video Games as Art
Video games are art, but a strange art: their essence is transformation of the player, not description to the player. This makes meaningful criticism nearly impossible—you can point at the moon, but it’s not the moon, and once someone sees it, they no longer need the pointing.
RimWorld 1.7 moves from Unity to Ludeon's in-house Waylith engine
Ludeon Studios is an independent game developer. We love deep PC games and story generators.
Flood Fill vs. The Magic Circle
AI automation and the Four Horsemen of the paper jam.
Getting old Macromedia Director Games to run on modern Hardware
How I got many of my childhood games running again after fighting with old Copy-Protection mechanisms
Old School Visual Effects: The Cloud Tank (2010)
INT. WAREHOUSE - NIGHT Following my recent rants about computer generated effects ( here and here ), I thought it would be fun to look i...
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.