Hacker News new | past | comments | ask | show | jobs | submit login
Id as Super-Ego: The Creation of Duke Nukem 3D (2001) [pdf] (fabiensanglard.net)
113 points by nodivbyzero on Mar 10, 2017 | hide | past | favorite | 13 comments

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.

I also highly recommend this piece by the same author: 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

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

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/

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.

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.

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?

Now that's attention to detail.

> 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)

The Serious Sam engine also had this capability: 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.

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

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


Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact