
Id as Super-Ego: The Creation of Duke Nukem 3D (2001) [pdf] - nodivbyzero
http://fabiensanglard.net/duke3d/id%20as%20Super-Ego-%20The%20Creation%20of%20Duke%20Nukem%203D.pdf
======
acoma
I took an interest in programming in high-school and ran into Todd (mentioned
in the article) in the lobby of an online first-person shooter. The topic of
programming came up, and I explained where was at in this whole coding-thing.

After a few games, Todd gave me a challenge: Thoroughly understand multilevel
pointers, and then explain it back. In doing that, there would be a cash
reward.

Hell yeah! So, I studied. Eventually, something clicked and I was able to
answer those interview-style questions he threw at me. I ran the whole “money
from a video game” thing past my parents, and Todd followed through on his
promise. That small gesture fueled an understanding that projected into a
career.

Interesting article, it's worth a read; there are good people behind it.
Thanks again.

------
gavanwoolery
I also highly recommend this piece by the same author:
[http://fabiensanglard.net/duke3d/build_engine_internals.php](http://fabiensanglard.net/duke3d/build_engine_internals.php)
(skipping to page 2 which I think is more interesting)

The software renders of yore actually got me thinking about them in a modern
context, how they could be extended, and in what ways they could compete with
GPU-based algorithms on a per-cycle basis. I think there is still much area to
be explored here, given we mostly stopped researching realtime software
rendering as GPUs became dominant - I think there is a lot of unexplored area
left.

Also one piece of software I think is severely underrated is Ken Silverman's
Voxlap: [http://advsys.net/ken/voxlap.htm](http://advsys.net/ken/voxlap.htm)

Released in 2002, it was way ahead of its time.

~~~
MrRadar
It looks like Ken is currently employed by a company called Voxon Photonics
which is developing glasses-free 3D holographic displays:
[http://voxon.co/about-voxon-photonics/](http://voxon.co/about-voxon-
photonics/)

------
jmcgough
For anyone who finds this interesting, I strongly recommend "Masters of Doom"
by David Kushner, which focuses on the history of iD software, John Carmack
and John Romero.

------
MrRadar
Those web page printouts at the bottom of the PDF are incredible! Most of the
time the Internet Archive's snapshots are missing images or other assets but
these are complete and excellent examples of the web design of the era.

------
aynsof
According to his website (bottom of the pdf), Ken Silverman's favourite
optimisation is: sub eax 128, add eax -128

Can anyone explain this to an assembly rookie?

~~~
jpollock
[http://advsys.net/ken/add-128.htm](http://advsys.net/ken/add-128.htm)

~~~
digi_owl
Now that's attention to detail.

------
Zardoz84
> Chief of these was the level editor that he designed along with the engine,
> which, for the first time and surprisingly the last time, allowed a level
> designer to “walk” through the level in 3D as he was designing it. This
> WYSIWYG (what-you-see-is-what-you-get) mode allowed the designers to create
> levels in a far more natural way then they would be able if they were merely
> using lines on a grid.

Not was the last. Obvisuly, the guy that wrote this on 2001, not know
UnrealEd. The map editor for Unreal engines have this capability. Eventually,
even map editors for classic DooM would have it (Check DoomBuilder for
example)

~~~
howerj
The Serious Sam engine also had this capability:
[https://www.youtube.com/watch?v=8bmTUgySSyk](https://www.youtube.com/watch?v=8bmTUgySSyk),
which I thought was pretty neat. I don't have any experience with Game design,
but I thought this more dynamic behavior would've been more common? It
certainly seems useful.

------
Rondom
If you like this, the following videos are quite interesting:
[https://www.youtube.com/playlist?list=PL8BB189B81A301EEB](https://www.youtube.com/playlist?list=PL8BB189B81A301EEB)

[https://www.youtube.com/watch?v=cv-
byZAauAs](https://www.youtube.com/watch?v=cv-byZAauAs)

------
bluedino
You never hear anything about other 90's 3D engines like Dark Forces,
Marathon, or Descent.

~~~
douche
There's open-sourced source code available for two of those.

[http://www.codersnotes.com/notes/the-man-behind-the-
curtain/](http://www.codersnotes.com/notes/the-man-behind-the-curtain/)

