

Wil Shipley: My “Doom” 20th Anniversary Stories - zdw
http://blog.wilshipley.com/2013/12/my-doom-20th-anniversary-stories.html

======
deevus
This is amazing.

I just love how Carmack has always upheld The Hacker Ethic and had no issue
sending the source code for his games to others for the greater good. I do
often picture business guys tearing their hair out when I read about this
stuff and smile to myself.

He is truly a person to aspire to. It's a shame I'll probably never be as
great as he is. The best you can is good enough!

------
SeoxyS
Wil Shipley has always been my programming hero, growing up. I spent a lot of
time reading his Pimp my Code series, and learned quite a few things about
Cocoa from him. Not only is he a great coder, he's also an incredibly
compelling writer and speaker.

[http://blog.wilshipley.com/2005/07/self-stupid-
init.html](http://blog.wilshipley.com/2005/07/self-stupid-init.html)

~~~
wil_shipley
Thank you so much! Unfortunately my [super init] thing is now wrong—Apple has
modified the runtime and actually reserves the right to change the object
returned by [super init] from the object you allocated.

~~~
kenferry
Ha. Hi Wil! Here's an updated link to the source code described there.
Unfortunately it'd need some updating to compile - ObjC cut off access to the
raw class structs in the runtime.

[http://kenferry.com/temp/WilShipleyInitChallenge.zip](http://kenferry.com/temp/WilShipleyInitChallenge.zip)

~~~
wil_shipley
Man, I'd forgotten about that. I really have to update the old entries so
they're easy to find and contain responses and are validated for Mavericks.

~~~
kenferry
I just updated it for Mavericks, for the heck of it. The code got simpler.

------
kayoone
can somebody give me a bit of insight on why they needed to port to NeXTStep
when the games were being developed on NeXT?

fascinating story, i so much enjoy ID stories from the 90ies.

~~~
wil_shipley
The games were developed on the NeXT but a lot of things were missing. Like,
key bindings. And the mouse. And sound. Also, there was no dithering on
grayscale machines, and most of them _were_ grayscale back then.

Also, he was just blatting bitmaps to the screen from a simulated VGA buffer
he had, so it was quite slow (blatting bitmaps was NOT fast with Display
Postscript). We ended up hooking into something called "Interceptor" which was
a very early version of direct VMA (and which he'd done experiments with, and
turned us on to).

But, make no mistake, Carmack did ALL the heavy lifting here. I in no way want
to take credit for Doom or Quake. I just hooked the plumbing up so we NeXTers
(and later OS Xers) could enjoy the amazing games he wrote.

------
Zardoz84
Interesting. The only email that I had from Id was one that "We" (Me and other
guy) was violating Id EULA & Copyright... We was making a Unreal Tournmanet
DOOM Total Conversion mod (original DooM in UT !!!). Obviously we must to
stop... It was a few moths after DooM 3 launch.

------
danso
\- It's so funny to see "developer's advocate" being used...I would've sworn
that that was a term that has only recently been coined but there it is, in a
20 year old email.

\- the connectivity of today's Internet is cool in its ubiquity, but emails
were so much more engaging back then, even through text terminals...today
emails have become such a mental burden, what with its connotation with spam
and the implied demand of instant reply...that I can't imagine ever again
writing the kind of thorough email as in the OP.

\- too bad Woz's biggest hacker years were a little bit before email. Given
his willingness and generosity in responding to just about anyone today, you
could imagine him sending the Apple BASIC source and his chip layouts all over
the Net if it had existed back then

~~~
wil_shipley
I learned to program by reading Woz's assembly code for the Apple //e. They
used to give you books of "source" code when you bought the machine. Crazy
times.

A few years ago my old business partner Mike Matas was at a party and he
called me and was all, "Woz is here!" I asked if I could talk to him, and so I
chatted with Woz for about 10 minutes. He was the nicest guy you could
imagine. He was so incredibly happy to hear that I'd learned to code from his
stuff.

When we first launched OmniWeb Woz bought ten or fifteen copies. He was always
a huge supporter of the little guys. A real mensch.

~~~
terhechte
I was thinking lately of porting the original DoomEd from id to Mac OS X. I
reasoned that it shouldn't be too difficult since it was written on NeXTSTEP
(minus all the api deprecation that happened over the years I guess). Sadly,
id never released the source for that. Out of curiosity, do you remember
whether the DoomEd source was ever part of any Doom Source package?

I used to do a lot of Doom Level editing on DOS back in '95, but most serious
Map Editors seem to be for Windows. It would also be a great learning
exercise, I guess, to try to port it so that it all the new technologies that
we have nowadays...

~~~
wil_shipley
We never saw "DoomEd." In fact, I have no idea what it is. I assume it's a
level editor?

~~~
terhechte
Yeah, it is the original level editor for doom. It ran on NeXT. Many people
built separate implementations, based on the reverse engineered wad format.
Doombuilder, Slade, etc are examples. There's even one named 'DoomEd', it is,
however, not related to the original, never-released one from id.

[http://doomwiki.org/wiki/DoomEd](http://doomwiki.org/wiki/DoomEd)

Thanks for your answer, so it really seems the sources never made it out of
id. :(

------
joepour
Great anecdote, I love the way he ends this post!

~~~
wil_shipley
Thank you. Actually my programmer "Mila" suggested I fix the entry—for the
first couple hours it ended with the bit about us doing other ports, which was
pretty weak.

