Blogs / Personal blogs

Fabien Sanglard

fabiensanglard.net

21/08/2026: My agent.md to improve LLM-assisted code quality 17/08/2026: Quake shareware, a CD just a little too full 13/07/2026: Jurassic Park computers in excruciating detail 11/07/2026: A dock that finally wakes up reliably! 10/07/2026: Don't you meant extinct? 28/06/2026: My favorite keyboards 01/06/2026: The art…

Popular posts
85
Total points
25,061
HN comments
9,003
Rank
#22 personal

Visit fabiensanglard.net → RSS feedOn Hacker News Apr 2009 – Aug 2026

Software Engineering 54Games & Graphics 49Hardware & Electronics 19History & Retro Computing 12Systems & Performance 9Tools & Productivity 7

1

A Linux Evening

I love to have Linux as my main OS. For someone who spends most of his time programming, writing HTML, writing LaTeX, and browsing the net, it is nearly a perfect tool. Packages are one "apt install" away. Mounting my website is one sshfs away and with private key authentication I don't even have to type my password…

2

The Polygons of Another World

There is a playful way to study the architecture of computers of the past. Find a piece of software you know well and try to find out how it was ported to these machine you don't. A good choice would be DOOM. id Software's 1994 mega-hit has been ported to everything. It is designed around a core with no layering…

3

How DOOM fire was done

The Game Engine Black Book: DOOM features a whole chapter about DOOM console ports and the challenges they encountered. The utter failure of the 3DO, the difficulties of the Saturn due to its affine texture mapping, and the amazing "reverse-engineering-from- scratch" by Randy Linden on Super Nintendo all have rich…

4

FizzleFade

I enjoy reading a lot of source code and after 15 years in the field I feel like I have seen my fair share. Even with a full-time job, I still try to spare evenings here and there to read. I don't see myself ever stopping. It is always an opportunity to learn new things to follow somebody's mind process. Every once in…

6

Floating Point Visually Explained

While I was writing the Wolfenstein 3D book [1] , I wanted to demonstrate how much of a handicap it was to work without floating points. My attempts at understanding floating points using canonical [2] articles [3] were met with resistance from my brain. I tried to find a different way. Something far from $(-1)^S *…

8

All you may need is HTML

Readers occasionally request which static HTML generator is used by fabiensanglard.net , and if they can take the same stylesheet/ fonts to start their own blog. I usually send back the whole 134 lines of gen.php [1] and invite them to copy whatever they need to get started [2] .

10

Commander Keen's adaptive tile refresh

I have been reading Doom Guy by John Romero. It is an excellent book which I highly recommend. In the ninth chapter, John describes being hit by lightning upon seeing Adaptive Tile Refresh (ATR). That made me realize I never took the time to understand how this crucial piece of tech powers the Commander Keen (CK)…

11

Mjolnir

As much as I loved the beautiful machine , the passive cooling and form factor of the DB4 chassis had limitations. The best GPU I could fit in (and cool down), a 1050 Ti, barely managed to run Diablo 2 Resurrected. Playing could become unpleasant at 30fps in busy levels!

12

To become a good C programmer (2011)

Every once in a while I receive an email from a fellow programmer asking me what language I used for one of my games and how I learned it. Here is an entry that list the best things to read about C. If you know of other gems, please email me or add a comment at the bottom of the page.

13

The Game Engine Black Book: Doom

The Game Engine Black Book: DOOM is now available for purchase. It is being released exactly 25 years after DOOM.zip was first published on the University of Wisconsin FTP server in December 1993. You can get it at the following locations: - Amazon ( USA , France , UK , and many more). - Google Books ( here with no…

14

Quake 2 Source Code Review

I spent about a month in my spare time reading the source code of Quake II. It was a wonderful learning experience since one major improvement in idTech3 engine was to unify Quake 1, Quake World and QuakeGL into one beautiful code architecture. The way modularity was achieved even though the C programming language…

16

Quake Engine Indicators

I was working on a bug in Chocolate Quake netcode. The issue was an edge case where starting two clients on the same machine resulted in the second one zombifying the first one. When the bug occurred there was no disconnection but the client could no longer move. Instead the screen would show an "indicator" looking…

20

Prince Of Persia Code Review

On Apr 17, 2012 Jordan Mechner released the source code of Prince of Persia. Even though it is the Apple II version written in 6502 assembly language, it was a pleasant experience to dive in the code of that mythical game: As usual there were many fascinating sofware wizardries to discover. The Apple II apparent poor…

22

Doom engine code review

Before studying the iPhone version, it was important for me to understand how Doom engine WAS performing rendition back in 1993. After all the OpenGL port must reuse the same data from the WAD archive. Here are my notes about Doom 1993 renderer, maybe it will help someone to dive in. January 13th, 2010 : Reddit…

23

"Another World" (game) Code Review

I spent two weeks reading and reverse engineering further the source code of Another World ("Out Of This World" in North America). I based my work on Gregory Montoir's "binary to C++" initial reverse engineering from the DOS executable. I was amazed to discover an elegant system based on a virtual machine interpreting…

26

The Polygons of Doom: PSX

It was a pleasure to research the material for the "Polygons of Another World" articles [1] . All the machines I studied were different from one another. The diversity I witnessed in the Amiga, Atari ST, PC, SNES, Genesis, GBA, and Jaguar demonstrated the richness of a field then still in its dawn. As I concluded the…

28

Doom 3 Source code review

On November 23, 2011 id Software maintained the tradition and released the source code of their previous engine. This time is was the turn of idTech4 which powered Prey, Quake 4 and of course Doom 3. Within hours the GitHub repository was forked more than 400 times and people started to look at the game internal…

29

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.

30

Game Engine Black Book Postmortem

I am pleased to announce that the Game Engine Black Book about Wolfenstein 3D has shipped. It is 316 pages, full color and made of three parts describing the hardware of 1991, id Software tools, and the game engine internals. You can read a preview on Google Books and buy it here: