Building a Minimal Doom WAD Loader
I wanted to learn how Doomβs WAD files work, so I wrote a simple loader. My goal was just to understand how a WAD is structured, open it and read its contents. WAD File Overview A WAD file (βWhereβs All the Dataβ) is Doomβs archive format. It stores maps, textures, sprites, palettes, and other data. The layout is straightforward: ββββββββββββββββββββββββββββββββββββββββββββ β Header (12 bytes) β β βββ 4 bytes: "IWAD" or "PWAD" β β βββ 4 bytes: Lump count (little-endian) β β βββ 4 bytes: Directory offset (LE32) β β β β Lump data... β β β β Directory (16 bytes per entry): β β βββ 4 bytes: Lump position β β βββ 4 bytes: Lump size β β βββ 8 bytes: Lump name (null-padded) β ββββββββββββββββββββββββββββββββββββββββββββ Each WAD starts with a header that tells me how many βlumpsβ there are and where the directory is. The directory is a list of fixed-size entries that point to each lumpβs position and size in the file. ...

Building the DOOM Engine from Scratch: A Learning Journey
Iβve been reading Fabien Sanglardβs Game Engine Black Book: DOOM, and honestly, it has blown my mind. The book breaks down all the clever tricks behind id Softwareβs masterpiece and makes you appreciate just how insanely talented those early developers were. Reading about BSP trees, sub-pixel accuracy and perspective-correct texture mapping has me itching to build something myself. So that is exactly what I am going to do. I am starting an id Tech 1 engine recreation project in C++. This is not about making a game. It is about learning by doing, understanding how everything works under the hood, and gaining a deeper appreciation for the engineering genius Sanglard documents so well. I want to implement the core systems from scratch and see firsthand how they all fit together. ...
Hello World!
My earliest gaming memory is sitting on my dadβs lap at four or five, firing the shotgun in DOOM while he handled the movement. I had no idea what I was doing, and Iβm pretty sure the game was way too intense for a toddler. Even so, I remember staring at the screen and being completely fascinated, caught up in this strange new world I didnβt fully understand but couldnβt look away from. ...