Sign up

Fabien Sanglard

Not verified No WebSub updates No webmention support Not yet validated

Chronicles of software wizardry

Public lists
davewiner/hackerNewsStars
Fetched

Fabien Sanglard

Game Engine Black Book: DOOM

The Game Engine Black Book: DOOM is out!

Fabien Sanglard

Game Engine Black Book: Wolfenstein 3D, 2nd Edition

The second edition of the Game Engine Black Book: Wolfenstein 3D is out.

Fabien Sanglard

Bloated

It used to happen sporadicly but now it is a daily experience.

Fabien Sanglard

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 the 1991, id Software tools, and the game engine internals. You can read a preview on Google Books and buy it here:

Amazon.com (.fr, .de, .co.uk, .ca,...).
Google Play Books for web browsers, Android devices, and iOS devices.

It took me three years to complete this project. It had its fair share of heavy winds and bumpy roads. I thought it could benefit some writers in the making to give a postmortem and share what I learned in the process.

More...

Fabien Sanglard

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 every stopping. It is always an oppo...

Fabien Sanglard

Game Engine Black Book ReleaseDate



How was Wolfenstein 3D made and what were the secrets of its speed? How did id Software manage to turn a machine designed to display static images for word processing and spreadsheet applications into the best gaming platform in the world, capable of running games at seventy frames per seconds? If you have ever asked yourself these questions, Game Engine Black Book is for you.

This is an engineering book. You will not find much prose in it (the author’s English is broken anyway.) Instead, this book has only bit of text and plenty of drawings attempting to describe in great detail the Wolfenstein 3D game engine and its hardware, the IBM PC with an Intel 386 CPU and a VGA graphic card.


More...

Fabien Sanglard

Let's compile like it's 1992

I have been tinkering with the vanilla source code of Wolfenstein 3D from 1992. Even though it is more than 20 years old: It still compile and here is how to do it (with plenty of screenshots).

Fabien Sanglard

Game Engine Black Books

I am almost done with the first volume of what I hope will become a serie called "Game Engine Black Book". Each book would take further what I tried to do with my articles: Explain simply, yet in great details, a legendary game engine. For the first one I decided to go with Wolfenstein 3D.

Fabien Sanglard

Trespasser: Jurassic Park CG Source Code Review

Jurassic Park: Trespasser is an unique piece of software: It is a game that has managed to reach both infamous and cult status. Released in October 1998 after a three years development cycle, it was unanimously destroyed by critics....

Fabien Sanglard

Git Source Code Review



Since its release in December 2005, git has taken over the software industry. In combination with GitHub it is now a powerful tool to publish and share code: From big teams (linux kernel, id Software, Epic Unreal) to single individual (Prince of Persia, Another world, Rick Dangerous), many have adopted it as their main SCM.

I wanted to get a better understanding of the "stupid content tracker" and see how it was built so I spent a few weeks in my spare time reading the source code. I found it tiny, tidy, well-documented and overall pleasant to read.

As usual I have compiled my notes into an article, maybe it will encourage some of us to read more source code and become better engineers.


More...

Fabien Sanglard

The Computer Graphics Library



Back in the 90s, one book was ubiquitous in the world of Computer Graphics. Commonly called "The CG Bible", Computer Graphics: Principles and Practice gathered a huge part of the knowledge of the time. It was commonly referenced by the best programmers of that era in interviews and articles. By 1998, the book popularity had been acknowledged with a Front Line Award.


More...

Fabien Sanglard

Algorithms and Data structures books: One size doesn't fit them all

Over the years running this moderately popular website, I have been asked many times what is the best book about Algorithms and Data Structures. The answer is always "It depends" ! It depends on how the programmer's brain works and what kind of notation he is comfortable with. There are many flavors of mindset out there but it usually comes down to Mathematics and Illustrations...

Fabien Sanglard

Learning Legendary Hardware



If you love software, you also try to understand the hardware to the deep down. It is not an easy task : There are many great programming books but few that explains hardware very well (as Michael Abrash once wrote: the Intel Documentation is "slightly more fun to read than the phone book"). In my quest for knowledge, I found two hardware books to be outstanding:

Code: The Hidden Language of Computer Hardware and Software.
Computer Organization and Design.

Those books are good for "current" hardware but there is a lot to learn from previous generations. The cult machine That Wouldn't Die, the Amiga with its elegant co-processor architecture is a vivid example.

More...

Fabien Sanglard

Decyphering the Business Card Raytracer



I recently came across Paul Heckbert's business card raytracer. For those that have never heard of it: It is a very famous challenge in the Computer Graphics field that started on May 4th, 1984 via a post on comp.graphics by Paul Heckbert ( More about this in his article "A Minimal Ray Tracer" from the book Graphics Gems IV).

The goal was to produce the source code for a raytracer...that would fit on the back of a business card.

Andrew Kensler's version is mesmerizing and one of the greatest hack that I have seen. Since I am curious, I decided to deconstruct it: Here is what I understood.


More...

Fabien Sanglard

More Doom III BFG Documentation

id Software developer Jan Paul Van Waveren (a.k.a Mr Elusive) is sharing some more of the knowledge gained while working on Doom 3 BFG. This part focuses highly on the choice of data-structures and how paramount cacheline are to performances.

Fabien Sanglard

Doom III BFG Documentation



id Software developer Jan Paul Van Waveren (a.k.a Mr Elusive) send me his technical notes about Doom 3 BFG. I was especially interested in the "Compute vs. Memory" section which confirms that CPU are now so fast that it is often better to calculate something than fetch it from RAM.

Jan Paul was also kind enough to share a list of all the publications related to idTech4 engine (see bottom of this page).


More...

Fabien Sanglard

Second Reality Code Review



On July 23, 2013 the source code of Second Reality was released. Like many, I was eager to look at the internals of a demo that inspired me so much over the last 20 years.

I was expecting a monolithic mess of assembly but instead I found a surprisingly elaborated architecture, mixing several languages in an elegant way. The code is something like I had never seen before that perfectly represents two essential aspects of demomaking :

Team work.
Obfuscation.

As usual I have cleaned up my notes into an article: I hope it will save some a few hours and maybe inspire others to read more source code and become better engineers.


More...

Fabien Sanglard

Prince Of Persia Code Review

On Apr 17, 2012 Jordan Mechner released the source code of Prince of Persia. I immediately took at look at it!

Fabien Sanglard

Doom3 BFG Code Review



On November 26, 2012 id Software released the source code of Doom 3 BFG edition (only one month after the game hit the stores). The 10 years old idTech 4 engine has been updated with some of the technology found in idTech 5 (the game engine running Rage) and it was an interesting reading session.


More...

Fabien Sanglard

Reverse Engineer Strike Commander

Back in the early 90s, one company was on the bleeding edge of PC gaming: Origin Systems. Their motto was "We Create Words" and boy did they deliver: With the Ultima series, Crusader series and Wing Commander series, they consisten...

Fabien Sanglard

Duke Nukem 3D Code Review



Since I left my job at Amazon I have spent a lot of time reading great source code. Having exhausted the insanely good idSoftware pool, the next thing to read was one of the greatest game of all time : Duke Nukem 3D and the engine powering it named "Build".

It turned out to be a difficult experience: The engine delivered great value and ranked high in terms of speed, stability and memory consumption but my enthousiasm met a source code controversial in terms of organization, best practices and comments/documentation. This reading session taught me a lot about code legacy and what helps a software live long.
As usual I cleaned up my notes into an article. I hope it will inspire some of us to read more source code and become better engineers.



More...

Fabien Sanglard

The best Tech books



To be a good Software Engineer can mean different things depending on what one is trying to achieve. But if you are after any kind of performances, to use the best algorithms is not enough: you must have a solid knowledge of the specific stack your program is relying on. .

I have gathered here the few books I consider to be masterpiece in order to master most stacks. Two for each level.

More...

Fabien Sanglard

Game timers: Issues and solutions



When I started game programming I ran into an issue common to most aspiring game developers: The naive infinite loop resulted in many problems (among then difficulties to record a game session properly) that led the game design to feature convoluted and confusing "fixes" ./>
/>
Since I came up with a simple solution in my last engine (SHMUP: An iOS / Android / MacOS X / Windows Shoot'em Up) I wanted to share it here:/>
/>
Maybe it will save a few hours to someone :) !/>
/>


. More...

Fabien Sanglard

Oculus RIFT development

Virtual Reality headsets have been consistently disappointing for several decades. Three reasons come to mind in order to explain this state of things: The hardware is expensive: The lat...

Fabien Sanglard

Quake 3Source Code Review



Since I had one week before my next contract I decided to finish my "cycle of id". After Doom, Doom Iphone, Quake1, Quake2, Wolfenstein iPhone and Doom3 I decided to read the last codebase I did not review yet:

idTech3 the 3D engine that powers Quake III and Quake Live.



. More...

Fabien Sanglard

Doom3 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 repositor...

Fabien Sanglard

Cracking Kevin Mitnick's Ghost In Tthe Wires Paperback Edition



I received yesterday a copy of Ghost In The Wire Paperback edition. Kevin Mitnick seems to have updated all of the challenges found at the beginning of each chapters. Since they are all available on book.google.com preview I don't think it is a big deal to publish and discuss our solutions here.


. More...

Fabien Sanglard

Be A Donor

This is probably the proudest moment of my Computer Science career so far: On A...

Fabien Sanglard

SSD reboot your thinking

How SDD drives took my breath away...

Fabien Sanglard

Android Shmup



Six months ago I released the source code of "SHMUP": a modest indie 3D shoot'em up designed for iOS. Since it did honorably on the Apple Appstore I offered anyone to port it to Android Appmarket for a 50/50 revenues split. Two developers consecutively took on the challenge only to give up a few weeks later.

So I downloaded the Native Development Kit from Google and I did it myself. I completed the port this weekend and even released a free version.

The codebase runs on Windows, iOS, MacOS X and Android in one click. Here it is.


. More...