New
The latest blog posts to take off on Hacker News. 2,924 posts.
Correlated randomness in Slay the Spire 2
Here are three true statements about the game of Slay the Spire 2 (in single player): If you pick Neow's Bones in the Underdocks, the random curse is ~54% likely to be Debt.* It is impossible to receive Rebound from the Trash Heap event. Your first fight is 76% likely to drop a potion in Underdocks, and 4% likely to…
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…
Pac-Man, but you're the ghost
I always felt a little bad for the ghosts in Pac-Man. They patrol the maze, they corner the guy, and then he eats a glowing pellet and suddenly they're the ones running for their lives. So I built a small game where you finally get to play the other side.
Getting Creative with Perlin Noise Fields
How to make infinite design variations using Perlin noise fields, a simple generative algorithm.
Every Frame Perfect
How imprecise UI animations erode trust in product
Ported my C game to WASM, here's every bug that I hit
ernesernesto dev blog
Shall we play a game? My AI nuclear simulation
My AI nuclear simulation is out now, and it's a WOPR.
Web Browsers on Video Game Consoles
Exploring cyberspace with a thumbstick.
Making Graphics Like it's 1993
A deep dive into the asset creation pipeline for Catlantean 3D.
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.
Gaussian Point Splatting
Joris Rijsdijk, Christoph Peters, Michael Weinmann, Ricardo Marroquim. 2026–07 in ACM Transactions on Graphics (Proc. SIGGRAPH) 45, 4. Official version
PlayStation Architecture
An in-depth analysis that explains how this console works internally
Should you normalize RGB values by 255 or 256?
Let’s say you’re writing an image processing program. The program takes in an image, converts it to floating point, does some processing and finally saves the modified pixels to disk as 8-bit colors. The question today concerns how exactly the integer-to-float conversion should be done. There are two approaches which…
Windows GOG DOS Games on M-Series Macs
GOG is great. I bought a few old games from them: SimCity 2000, Theme Hospital, Syndicate Plus. And by old games, I mean games from my childhood that still
Stop Killing Games
The "Stop Killing Games" movement is making progress with the advancement of California AB 1921, a bill designed to stop developers from permanently bricking games when they shut down their servers. If you're a gamer who has watched a $70 purchase turn into a useless desktop icon overnight, you're entirely justified…
Voxel Space (2017)
Terrain rendering algorithm in less than 20 lines of code
Let's compile Quake like it's 1997
The first batches of Quake executables, quake.exe and vquake.exe were programmed on HP 712-60 running NeXT and cross-compiled with DJGPP running on a DEC Alpha server 2100A. In June of 1996, having shipped their title but concerned with NeXT stagnation, id Software switched their development stack.
SimCity 3k in 4k (2025)
SimCity 3000 is the best SimCity. Its only problem is that it doesn't run well on contemporary systems. Not to worry, here's a complete guide to a perfect game of SimCity 3000 on modern Windows:...
Navier-Stokes fluid simulation explained with Godot game engine
When I first stumbled upon fluid simulations in game dev I was amazed on how good the effect could be. I really wan...
Snowboard Kids 2 is 100% Decompiled
Snowboard Kids 2 for the Nintendo 64 has reached 100% matching decompilation. A brief note on what that means, how we got here, and what comes next.
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...
Wake up! 16b
Released at the Outline Demoparty in May 2026, Ommen, NL An exploration of algorithmic density in 16 bytes of x86 assembly.
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...
Playing Atari ST Music on the Amiga with Zero CPU
How to emulate an Atari YM2149 audio chip on Amiga at litteraly 0 CPU cost, by Arnaud Carré
Additive Blending on the Nintendo 64
Did you ever wonder why explosions and other effects looked so much cooler on the original PlayStation than they did on the Nintendo 64?
RTX 5090 and M4 MacBook Air: Can It Game?
What if you could strap a full desktop GPU to your MacBook Air? Turns out, you can.
3D Gaussian Splatting in a Weekend
Introduction 3D Gaussian splatting is a technique that answers this question: given a dataset of pictures of a scene, how can I reconstruct it in 3D? This is achieved using a machine learning algorithm that, for many different camera angles, does the following: render the scene, compare it to the picture taken at the…