Hacker News new | past | comments | ask | show | jobs | submit login
Wil Shipley: My “Doom” 20th Anniversary Stories (wilshipley.com)
198 points by zdw on Dec 15, 2013 | hide | past | favorite | 25 comments



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!


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


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.


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


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.


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


- 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


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.


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


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


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

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


Not just source code either. The Apple ][ came with a hardware manual containing schematics of the machine.


Even up to the original Mac they had volumes and volumes on the hardware—friend of mine (Sean O'Brien) just made a tiny circuit board that lets you hook up an original mouse and keyboard to modern Macs, based on Inside Mac specs.


I'd never known of you before this; now I've got you bookmarked. Thanks for that great post.


Thank you for the kind words!


Thanks for the inspirational post Wil. Always a pleasure reading your stories.


Thanks! I really hated this entry—it feels like I'm sitting on a porch on my rocking chair with my shotgun and going, "In the old days, we didn't have these fancy MOTORcars! We used horses, and we liked it! And I wore an onion on my belt, as was the fashion at the time."


    [lawn evictKidsFromUsing: shotgun]


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.

It's interesting - in those days it was a person who advocated for external developers within the company. Now days all too often that side is missed.


We had amazing developer advocates back then. Jim Black (he's now at Nvidia), for instance, used to actually pick us up at the airport when we'd fly into town.

Nowadays I don't actually have an official developer's advocate at Apple. The last two people I had quit and they weren't replaced. Luckily I still have people from the old days I can e-mail if needed, but I wish there were official channels.

On the other hand, the number of Cocoa developers has gone from about 80 to like 80,000, so I can see why Apple can't assign each one a person.


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.


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.


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.


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


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.




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

Search: