Modding the Quake II Remastered source code

In 2021, a remastered version of the original Quake was released on the PC and consoles, a co-production of id Software, Night Dive Studios and MachineGames. 2021 was the 25th anniversary of the original Quake game so it seemed fitting to spruce it up a bit. It was announced during QuakeCon 2021, one of the three instances of the convention where it was virtual due to the pandemic and it was nice seeing them figure out a way to get people playing Quake at QuakeCon again.

It seemed logical that during QuakeCon 2022 they would announce a remastered version of Quake II, seeing as how 2022 was the 25th anniversary of that one, but they didn’t. With some of the clues leading into the event, such as Sonic Mayhem the composer of the soundtrack talking about going back and finding the original files for the soundtrack, and the theme in the shirts and merchandise being green (same as the Quake II logo) I theorized that the plan was to release a remaster but it got pushed back for some reason.

QuakeCon 2023 was the first in-person version of the event since 2019. I went to it and brought my PC, same as every year until the pandemic happened. During the event, they announced the Quake II remaster. Same basic deal as the other one – coproduction of id/NDS/MG, released for consoles, etc.

Something wholly unexpected, however, was the release of the game source code.

In certain corners of the gaming Internet, Quake II is a contentious game. A number of people didn’t like it as much as the original game, and more than a few people viewed it as an online-only game, enjoying the multiplayer games and the mods (which likely factored into why id Software made Quake III: Arena eschew the traditional campaign in favor of a multiplayer focus). Mods worked a bit differently in Quake II however.

The original Quake game compiled mods into a platform-agnostic file called PROGS.DAT. This is sort of like what a DLL is in that it’s dynamic code loaded in at runtime, but the original game was developed on a NeXT machine and shipped for DOS, they needed something generic. It did have the nice side effect of making mods be cross-platform by default so when the game got ported to things like Classic Mac OS or even the Amiga, everything came along for the ride. And at least for single player mods, they even worked most of the time with the remastered Quake.

However Quake II switched to using Windows for development and did not ship for DOS, or any other platforms for a while (the Mac version, for instance, didn’t come out until 1999). They switched to using DLL files which were not cross platform. Even today modern source ports use the platform-specific dynamic library files (so, .dylib for macOS, .so for Linux, etc.) It seemed logical that mods made for Quake II would not work with the remaster.

Which is where this source release comes into play. This is the equivalent of the mod source code for the original game. My guess is that they’re cognizant of how important mods were to the original game so they’re putting this out there, which like I said is still wholly unexpected but I’m absolutely applauding the maneuver. Sure it’s a game from 1997 but any modern game source release in 2023 I’m in support of.

One of the features of the modern re-released versions of id games like DOOM and Quake is that they have this curated section of mods and so forth that they allow you to run in the game. The PC versions of the games can, mostly, load whatever they want but on consoles it’s only what’s allowed by the game developers. By and large, game console development, or at the very least any sort of customization, is inaccessible to the end user. Quake shipped with the ability to play through the Nintendo 64 version of the game, which was basically the same as the PC version except the levels were scaled back for performance reasons (sections missing, geometry changed, etc.). Quake II shipped with the same thing, the N64 version of the game, except that game was essentially a different engine entirely with mods and graphics created for it to resemble the PC version. My hunch is that they’d like to do something similar with the Quake II re-release, giving it more mods and so forth, but it means people have to do the work to port them, it’s not an automatic thing like it is with Quake‘s mods. So if, say, the Rocket Arena 2 guys decide to make the RA2 code fit into the new code, perhaps they work with id/NDS to get that on things like the Switch, the Xbox, etc.

And it’s interesting how the situation has changed in the last quarter century since the original game. In 1997, to compile a mod for Quake II you either needed Visual C++, which wasn’t cheap or free, or you could use one of the free options like LCCWin32, except they tended to produce hit or miss results. Today, you can get Visual Studio 2022 Community Edition, which is the same as the Professional edition just with limits on who can use it (if you’re a company making money you have to pay for the pro version, etc.).

So what did I do during QuakeCon 2023? Of course I wanted to see how hard it would be to get a mod going. It’s weird, I’m behind on some stuff for Mac Source Ports but since I brought my PC, I figured I should mess with this instead.

First thing I figured out was how much development software I don’t have on my machine. I don’t remember how long ago but at some point the SSD on my machine took a shit and I had to reinstall Windows on a new drive to get back up and going. Whereas it used to be a ritual to periodically reinstall Windows all the time and then reinstall all your software, more or less since the advent of Windows 7 this hasn’t been a thing for me, and I’ve taken the attitude that with some exceptions, I don’t install software until I need it.

Looks like I did at least have Visual Studio 2019 installed but I went through and installed Visual Studio 2022 and uninstalled 2019 since why not. Then I figured out I didn’t have git or GitHub installed. There’s probably some way to get VS to handle this for you but I just did it manually.

Then came package management. The code release for this needs a couple of packages and they recommend vcpkg for it. I’ve never used vcpkg before but it wasn’t hard to figure out. At some point I had it building, so I made a copy of the deal and installed the GOG version of the Quake II remaster just to get any sort of DRM stuff out of the way (though it does look like the GOG version does tie into GOG Galaxy if you have it running).

I ran it and verified, it did run as a mod properly

So then, I figured let’s see if we can get some mod happening.

A guy on one of my gaming forums, a week or so ago when it was being rumored that Quake II was being remastered, went to go find his CD-ROMs with code and mods and maps on them and in the process discovered that his old site where he put stuff like this up was still online at quake2.com. I’m not sure what’s more amazing, that someone is still paying the server and domain renewal bills to keep quake2.com online or that id never secured that domain name (or perhaps they did and then gave it to someone? dunno).

So when I go online to search for tutorials on how to do Quake II mods, naturally that’s where I find this positively ancient tutorial on how to add a bot to the game.

First thing you have to do is contend with the code being in C++ now versus the C of the original. C++ is almost a superset of C, though there’s valid C code which isn’t valid C++ code but most of it you can copy and paste. And then you have to contend with the changes. The README of the code release details a lot of them.

Some things have been renamed, and other things are just handled differently now. For example in the original game a lot of functions existed for vector math. However, now instead of having to pass things to these functions you can just do the math directly. I’m not sure if that’s overloaded operators or if that just comes with the latest C++ standards or what.

What I wound up doing a lot of was, when I found something that didn’t compile, I searched the original code (which they also include for comparison’s sake) and then looked for where that code was in the new code and did the same thing, whatever their changes were. One thing is that the refresh rate of the game’s logic changed so the handling in the frame time functions uses different syntax now.

In any event I got the thing to build.

The way this one is set up, you have to spin up a Deathmatch game and then in the console type “cmd oak” (so running the command “oak”) and it spawns a bot.

I did that and… it crashed. And the way the crashes work, odds are whatever did crash you don’t have code access to (like the GOG Galaxy DLL or whatever). But you can connect VS2022 to the game and set breakpoints, which I didn’t think would work but it does. I figured out the quirks like how binding methods to events in C++ has different syntax, so and worked through them.

At which point I was able to get into the game and spawn a bot finally… except other than the code running and giving me the on-screen message, nothing happened. No bots ever show up in-game.

But hey it doesn’t crash.

In any event that’s where I’m at with this. Not sure how much farther I’ll go but it’s a start, and it’s more or less the situation everyone is going to have to go through to get their old mods going.

Meanwhile, during the pandemic

I’ve not been able to concentrate on a real development goal very successfully. I’m not sure what it is, I actually have less time these days since the pandemic hit, even though working from home since March means I have those commuting hours back. It’s weird.

And the other thing is I keep losing focus. I have one game I tried getting running on the iPhone and was unsuccessful so I switched gears. I’ve looked at a couple of projects where there’s an iOS Xcode project file so I figure I’d just fire them up, but they don’t work so I figure I’d get them fixed up, but then I started to come to the conclusion on both that maybe iOS support was never finished, which makes the concept a lot more work all of a sudden.

One cool thing I did get working was a port of Disasteroids 3D to the Mac. This is a freeware game written in 2000 by Thom Wetzel. I’ve actually mentioned him before, he wrote the Bitmap Font Builder I used on the DOOM iOS port and I’ve met him before at QuakeCon. Anyway, Disasteroids 3D was a freeware and open source (or at least source available) game he wrote as an exercise to learn about OpenGL and DirectX. The source has always been available but he recently put it on GitHub which gave me the inclination to convert it to SDL (swapping that out for the DirectX parts) and got it running on the Mac.

So that’s kinda cool.

Earlier today someone emailed me asking about the Wolfenstein 3-D iOS port. They had error messages about broken symbols with StoreKit. I wasn’t sure what they did but I figure adding StoreKit back would fix it. Then I realized what’s happening is that the app wasn’t compiling because the “com.idsoftware.wolf3d” bundle identifier was already taken which isn’t an issue except that Xcode tries to register it for in-app purchases, which it can’t since that ID is taken, and removing the in-app purchases entitlement removes StoreKit. The game has in-app purchases to facilitate the purchase of the Spear of Destiny levels but that’s not really needed anymore (the link to the levels is in the code if you want to download them.) Why this wasn’t an issue before and it is now I don’t know other than something in Xcode must have changed.

When I started this project the goal was to make as few changes as possible so that id might use the pull request to fix the game on the App Store. But since that hasn’t happened and probably won’t, I went in and neutered the code needing StoreKit but then I ran into another issue, one that’s been nagging me forever.

When the game launches it does this “Assert” code to make sure a value isn’t something wrong and it bails if it is. You can get around it by just commenting out the assert but then, some of the time, it launches you in a weird spot in the level and you’re stuck in a wall or outside the bounds of the map or something. The heck of it is I wasn’t sure what caused it or what fixes it. It clearly worked on my phone at one point in time.

Anyway this sent me down a weird rabbit hole during QuakeCon 2020 of all things (the one where it’s all at home) but basically, a Wolfenstein 3-D level consists of a section that tells the game where the walls are, a section that tells where the objects are, including the player starting point, and a third of “objects”, whatever that is. The second and third sections (“planes” in the code) weren’t loading correctly, which is why the player would spawn in weird spots. Long story short, some code that populated an array of offsets of where to look in the level file for the three sections/planes was failing. Why it’s failing now and not consistently before I don’t know (could be something about iOS or Xcode changed) but after spending hours hunting this section down and then having a bizarre epiphany on how to fix it, which worked. So after being bothered by this issue for a few years now I’ve gone in and fixed it. Finally.

Let’s try this again

I’m not sure if it’s awesome or terrifying that I’ve been blogging here intermittently for almost twenty years now.

My first post is appropriately precious since I mention how it’s hosted on tripod.com and how I’m concerned about turning it into a news site? Dunno. It was a long time ago.

I’ve recounted the strange history of this site before and not a whole lot has happened since then. My previous post was 2015 and I have several drafts of stuff I’ve never finished. Looking at some of those they’re so hideously out of date that they’ll probably just stay in the drafts folder forever.

At one point I had the tagline of this site as “still around for some reason” and it was more than just a smartass phrase – most of the people I know who blogged and had blogs have long since moved on. Some to other forms of social media, some to nothing in particular. Yet I just kept this site going. It’s not expensive to host or anything, like $5 a month or some crap (though I think that might be $10 a month – whatever it’s still not much) and I’ve been able to use subsites as test beds for other stuff.

And then in 2017 or so I got the idea to fix up some old games on the iPhone that were killed off in the 32-bitpocalypse but the source was available. It took a long time to do it, both because of the spare time nature of the deal and also because I didn’t know what I was doing. Once I got them working, I thought the whole process was interesting so I wrote an article on here about all the stuff I ran into. The original code drops from John Carmack had these Word documents in them that detailed the process of making them so I figured writing up the process of fixing them was appropriate, and perhaps useful to someone else.

Then I got into the process of adding features and porting other games, mostly id Software titles but a couple of other things as well. I’ve written up the id Software ports here, so I won’t repeat it all here but basically it became my pattern – do project, post code, post video, write article.

At some point I got some mainstream attention from gaming, tech and development sites and the resulting SEO has driven people to this site in decent numbers ever since. Not a ton mind you, probably within the range of rounding errors for major sites, but I get an email or two a week with people asking questions.

But the front page was still this one random post from 2015 with no links to the articles on the ports.

So I decided recently to do a few things – first, I changed the home page to where it shows off some info about me and this work, semi-resume style, and lists out the projects, including the non-id stuff like the Virtual Boy VR emulator and the port of the C++ version of VVVVVV. I tried to make them a little bit slick looking with mockups of the devices and stuff. It kinda worked.

The second thing is I’m going to blog again but probably not write much more in the way of wordy, profound posts. I mean I might write up some stuff like that (this post is starting to get long now that I look at it), but I’ve hit this point where I figure little things are worth writing about too. Stuff like this:

I’ve modified the Quake II and Quake III: Arena ports to more properly handle SDL. For some reason I was reticent to include the code wholesale like most projects do but now I’ve changed my mind and I’ll probably be doing this to the other SDL ports of mine soon.

I wrote to Brendon Chung of Blendo Games and asked for the source code to the Mac port of Thirty Flights of Loving. He sent me the code and I fixed it up (since, last year, the Mac had its own 32-bitpocalypse). I posted the results here.

I contributed to the ioquake3 project by fixing up the Xcode project, which last saw attention in 2013. I’m also looking to help them with other things as time permits.

For no particular reason I added a software rendering target to the Quake II project. Just wanted to see what it would be like to play Quake II on your phone but pretend like you’re running a Pentium 90 with no hardware accelerator card.

I was able to get LatestChatty, the iOS and iPadOS client for the discussion forum at Shacknews, to run on macOS via Catalyst. I don’t have an article for this and outside of the community of people on Shacknews no one is going to care but it was just neat to see that with not a whole ton of effort this iOS app that was more or less started at the dawn of iOS development can come along to the Mac. I’m coordinating with the author to get it on the Mac App Store, which will be neat once Universal Purchases for macOS/iOS apps are in place like they are for iOS/tvOS apps.

Anyway that’s it for now. I have no idea who reads this anymore but in any event here it is.

August 11, 2015

When I was growing up in Texarkana there was a local guy named Bobo the Magician. He was indeed a magician, and we would sometimes go to the auditorium or theater in whatever school I was in and watch him perform magic. In hindsight it seems sort of weird to take a bunch of kids and have them see a magician perform instead of being in class but whatever, it was entertaining and I sure didn’t mind getting out of a class.

I seriously remember seeing this guy my entire public school career. I saw him do shows in elementary, middle and high school. I would see him at the grocery store, where he had card tricks at the ready. I also remember him being incredibly old every time I saw him. I graduated from high school in 1995 and according to what I can find he passed in 1996 so he basically performed until the end (though he probably scaled back in those last few years).

There’s one occasion that has really stuck with me though.

I was in middle school and he was giving us a performance in the auditorium. For some background and context, the middle school I went to in Texarkana was called Pine Street Middle School. The actual campus and buildings themselves, however, used to be the local high school, called Texas High School (as a side note, people sometimes think I’m making that name up but the school was really called “Texas High School”, and it’s the only high school in Texas called that. I have no idea to this day how we secured the name before and to the exclusion of every other high school, but the rival high school on the Arkansas side of the same city was called Arkansas High School so maybe that’s part of the reason). In the 70’s, Texas High School moved to a larger building complex and they re-purposed this older school as a middle school. I don’t know how old the buildings really were but if it’s any indication, the rooms were heated by metal radiators. Which a row of seats was always next to. And that I burned myself on at least once. Hopefully only once.

So anyway I want to say this happened in my 7th grade year (so, the middle year of middle school). The show is your pretty typical magic fare – the oddly folded newspaper that tears apart and re-assembles, the locking rings, and of course rabbits in hats. I have to think that part of the deal with Bobo as a magician was that he wasn’t trying to be innovative or new, he was just trying to entertain kids, and maybe even get some inspired to try out magic themselves (which worked, I think, I knew some kids who got into it over the years) so the cliched old standards were part of the gimmick.

Then he did a trick that, for the most part, was also a standard thing except for one aspect which I’ve never been able to forget. It was the typical “is this your card?” deal where you have a person on stage pick out a card from a deck and then you will find their card from the deck in an implausible way, often feigning failure beforehand. He had the girl on stage (I think it was just a student and not a teacher) pull out a card (let’s say it was the seven of diamonds – it was a red suit card at the very least), then he broke out a black Sharpie marker and had her sign it (so that the resulting card can’t be just any seven of diamonds). For reasons that didn’t seem immediately obvious he also put a rubber band around the deck. He then does the “is this your card?” bit loudly and produces the wrong card. She says no, everyone laughs, Bobo pretends like he’s failed. He does it a second time. Still not the card. Bobo feigns frustration.

He then says “well then…” and throws the deck of cards, with the rubber band around it, into the air. But I don’t mean he tossed it up a few feet, when he threw it, it went all the way to the ceiling of the auditorium. This place wasn’t a Colosseum but it was a good two stories. The stage area he was standing on was pulled out from the main stage area so above him was the ceiling of the entire building, not just the stage area. The ceiling was basically a giant painted surface, no tiles or anything. And it’s been a bunch of years but my memory of this card toss is such that it didn’t seem as if he had just hurled it really hard, it was as if it was being guided up by a wire or a rubber band or a pulley or something.

When it hit the ceiling it came back down, except that one card was stuck to the ceiling. “IS THAT YOUR CARD?” he proclaimed, and indeed, it did appear to be the seven of diamonds with the girl’s signature on it. At least, as far as we could tell seeing as how it was very far away from anyone sitting in seats at the bottom of the auditorium. Big applause, let’s have a hand for (girl’s name), everyone is impressed. He somehow got the deck to hit the ceiling and a card be seemingly removed from it despite being wrapped in a rubber band.

But for a lot of us kids in the audience there was a bigger question at hand. I was wondering it to myself at the time but many kids in the audience started shouting the question and even pointing upwards: “how are you going to get the card off the ceiling?”

Bobo responds: “Oh, that’s your problem!”

Big laugh from the audience, the show goes on for however much longer it goes on for, applause at the end, then we all get up and go back to class.

Here’s the thing, though: he wasn’t kidding. The card stayed up there. Several more times over the next couple of years I would be in that auditorium for various reasons, including I think a couple of occasions where I would go back after moving on to high school to see my sister doing something like a play or something and it was still there. In fact I’m not sure if Bobo ever performed there again but I always looked up and the card was always there. No one ever took it down. I’m not sure how you would have taken it down – I don’t know if they made ladders that big back then and I’m not sure if you could have gotten a scissor lift in there if you had to – besides being old, it really wasn’t designed to let things like that in. Bobo himself was pushing 90 so he sure wasn’t going to get on anything high to get it.

A few years ago I was back home visiting my grandmother with my family and as I left, since I was by myself (my wife was home for some reason) I decided to drive through some places I used to know just for the heck of it. For the last couple of years of high school we had actually moved to a suburb of Texarkana called Wake Village where my grandmother also lived, so I actually had to specifically drive back to Texarkana to see anything like my original house or what not.

It was an overcast day and it just so happened that Pine Street Middle School was on the way, so I decided to drive past it. When I got there, I discovered that it was closed down for good. There was a large makeshift fence around the entire place with “NO TRESSPASSING” and “KEEP OUT” signs all over. Many windows had been boarded up with plywood. The windows in the band hall were cluttered with old desks piled up. The gymnasium across the street looked flat out condemned from a long time of disuse.

Apparently, a few years back the Texarkana Independent School District decided to consolidate the middle schools together (there were at least two, maybe three) and migrate the whole operation to the site of an old (but newer than Pine Street) elementary school under the name “Texas Middle School” (I guess they scored that name too). I don’t know that I would have gotten out of the car and had a “used to be my playground” moment there but it was out of the question now. I vaguely remembered hearing something about a new middle school but I had just not put together what it would have meant so I really wasn’t expecting to find my old stomping ground condemned. Combine that with the dreary overcast day and it was just a really weird feeling. But it’s always a weird feeling to go back home. I later stopped by the local shopping mall to discover that just about every non-anchor store I ever remembered was long gone. Even the McDonald’s went under.

This had to be several years ago – my grandmother passed away in 2010 and this was a little while before that, so maybe 2008-2009ish. Since Pine Street Middle School is no more, it’s hard to find information about it online outside of autogenerated Yelp pages that just mimic some data dump, or empty Facebook groups for former students. The most recent thing I can find is this 2014 article that says it was still standing at that time but that the owner (which isn’t TISD since 2005) hasn’t done anything with it, but wants it on the National Registry list, meanwhile the neighbors want it town down since it’s an eyesore. That’s a far cry from here in Dallas where attempts to tear down the 108-year-old Dallas High School are routinely shot down by locals (it was recently bought again to be re-purposed)

But something occurs to me – I wonder if that card is still there? I mean, it stayed there while the place was still being used, I can’t imagine someone went to the trouble of removing it.

And getting back to that magic trick, how did that work, exactly? I mean yeah I know magicians don’t talk about what they do and the whole thing is supposed to be mysterious, so I’m not supposed to know how he propelled that deck of cards to the ceiling. I figure it wasn’t a string attached to the ceiling since if they could attach a fishing wire up there somehow then they could have gotten the card down too. Perhaps there was some invisible slingshot thing happening. Perhaps I’m underestimating an 80-year-old’s ability to throw a deck of cards.

And even if we ignore the how of the trick, I have to wonder – did he clear that trick with the school? Did he warn them he was going to stick a card to the ceiling of the place? Did they approve? How did the card stay up there to begin with? It wouldn’t take a ton of glue to stick a single playing card to the ceiling but kind of impressive that it just stayed there. What did the school officials think of him gluing a playing card to their ceiling? Were they pissed at him? Is that why he never played there again? (assuming my memory of that is right). Why did no one ever try to take the card down? Was it too hard? Was it just that it would be too much hassle for such a small thing? Were they worried it would take down some paint with it? Did they just not give a shit?

And hell, did anyone besides me even remember it was there? I mean, maybe no one else looked up. Maybe no one else remembered the trick like I did. It would be sort of typical for me to focus on the damndest things.

And I wonder if anyone else has done a trick like that. I mean, like I said the “is this your card?” thing is very common but I’ve never seen anyone else do the ceiling thing before. Maybe this was Bobo’s specialty trick.

Maybe this was his way of leaving a mark. And maybe it’s still there.

October 15, 2014

Twin Peaks is coming back.

If you haven’t seen it and you’re looking for the cheapest way to check it out, at the time of this writing the entire series is on Netflix. I’ve read some mixed reports on this but my impression is that since Twin Peaks was shot on film, the HD versions on Netflix were made as film to HD transfers (as opposed to just regular SD video “upscaled” to 1080p or whatever) so for a few years Netflix was probably the only way to see Twin Peaks in HD until the Blu-Ray version came out in 2014.

So the short version is – watch the series on Netflix (or Hulu) for the easiest/cheapest way to watch the show. Buy the Blu-Ray set to get everything including extras, the movie, and deleted scenes. 

As for the long version – let’s just say Twin Peaks has had a real rough road on home formats. 

Back when Twin Peaks was on the air, TV shows on home video were a rare thing, both due to business and technical/logistical reasons. Besides the fact that people weren’t into maintaining collections of movies on VHS like they do today with DVD (which is a whole different topic that has a lot to do with rental pricing), TV shows on VHS were a space hassle. A standard T-120 tape held two hours in SP mode, which gave the best picture quality so that’s what most commercial releases used. For an hour long show like Twin Peaks this meant you could get about two episodes on a tape. An hour long show has commercials of course but unless it clocked in at 40 minutes or so (most go 43-47), two per tape was the max you could do. Twin Peaks had thirty episodes, so this means an entire run of the show on VHS SP would be fifteen VHS tapes, and at about 1″ per tape this was taking over a foot of space on your shelf. Compare this to the recent Blu-Ray set, Twin Peaks: The Entire Mystery which houses the entire series, plus the movie and tons of extras, in a couple of inches of space.

And if you were a retailer, this meant you needed to stock tons and tons of tapes. So as you might imagine, the logistics of this alone pretty much made TV on home video formats a non-starter. Very few shows ever made it to VHS and of the ones that did, they tended to either be shows with a low episode count, or they didn’t get sold retail. The original Star Trek had a VHS release where, for bonus dick move points, they only put one episode on a tape. Star Trek had 79 episodes (80 with the original pilot) so this was quite a commitment of shelf space. Some other shows, like Cheers or Bonanza were only sold through the types of TV commercials where the end screen was blue with a yellow 1-800 number and you bought them via a subscription like a Time Life book series.

Despite all that though, Twin Peaks did see a VHS release from Worldvision, but it was a huge mess. The original set was the first season, which was seven episodes, one per tape (another dick move) at $100. However, it did not include the pilot episode. This would be a plague on Twin Peaks releases for a long time to come.

The pilot episode of Twin Peaks was a problem for a long time because of rights issues. Namely, David Lynch and Mark Frost needed to get it funded (and in 1990 spending a million dollars on a TV pilot for a show that hasn’t been sold yet was damn near unheard of) so they secured funding from Warner Bros. One of the terms of the deal was that they would film additional scenes to construct an ending for the show to make it a self contained direct-to-video movie for the international market. I’m guessing the original market was going to be in Europe, so this version is commonly called the “Euro Pilot”.

In any event, this made it such that any company who wanted to put out a set of the first season either had to pay WB for the rights to the first episode, or release it without the first episode. Apparently this was prohibitively expensive or impossible, especially given the cult/niche nature of the show, so this first VHS set didn’t have it.

Parallel to this though, WB did release a VHS tape of the Euro Pilot, which probably thoroughly confused anyone not familiar with the details.

After the second season, a second VHS set was released by Worldvision, with the 29 regular episodes of the show on six VHS tapes for $100. The way they accomplished this, however, was to put out the tapes using EP mode, which allowed six hours on a T-120 tape. The tradeoff, however, was that the video quality was terrible. To say nothing of the annoyance involved with purchasing the first season a second time.

Parallel to all of this, Worldvision also put out releases of the show on Laserdisc, but it was segmented into four volumes at $125 or so a pop. Still no pilot episode, though again WB did release the Euro Pilot on Laserdisc for another $35.

When DVD came around, Artisan controlled the home video rights to Twin Peaks, so they set out to release the show and this time they were going to get the pilot episode as well. However they ran into the same rights issues as Worldvision and so their release of the first season in 2001 also did not contain the pilot episode. Parallel to this, New Line Cinema announced the release of the movie Fire Walk with Me on DVD but it wound up being a bare bones release due, again, to rights issues. I’ve never been as into the movie as I was the show but apparently it was well known for many years that David Lynch had filmed a lot of scenes that didn’t make it in the final film and these scenes were long considered the “holy grail” for Twin Peaks fans, although Lynch had reportedly stated that the version released in theaters was his “director’s cut” and that no other scenes needed to be in the film.

However, also in 2001 a DVD surfaced for sale from a company called Catalyst Logic in Taiwan, where the rules around copyright are a little more muddied (that or Catalyst Logic didn’t care). It had the original pilot, as it was aired in 1990 on ABC (so, not the Euro Pilot). Its exact origins are unknown, as it clearly is taken from a source other than someone having videotaped it off of ABC but the video quality leaves a lot to be desired. Still, it was the only way to watch the pilot at the time on any home video format.

Following the season one release, Artisan ran into some issues with the second season (combined with less than anticipated sales of the first season, possibly related to the lack of pilot episode) and as a result the second season didn’t come to DVD until early 2007 when some rights expired and CBS (for some reason) released the set.

Finally, most if not all of the issues with the show on DVD were addressed when later in 2007, Twin Peaks: The Definitive Gold Box Edition was released. It contained all of the episodes of the TV show, and for the first time officially had both the Euro Pilot and the original pilot on DVD, along with tons of extras including the “log lady intros” (when the show aired on Bravo at one point, David Lynch directed a series of surreal introductions to each episode with the actress who played the “log lady” on the show). The only thing it didn’t have was the movie but no one seemed to mind.

Finally earlier this year the Blu-Ray boxed set, Twin Peaks: The Entire Mystery was released. This has literally everything – all the episodes in HD, both versions of the pilot, the movie, and about 90 minutes of deleted scenes from the movie, something pretty much everyone had given up on. The only things it doesn’t have are a Saturday Night Live skit from when Kyle MacLachlan hosted in 1991 or so, and the music video for “Falling” but those are nearly ignorable omissions.

So it’s sort of surreal that in the past few months we’ve seen the holy grail of Twin Peaks finally be wrapped up in one neat package, and now we’re seeing that a Season 3 (I guess) is going to come out in 2016. I hope they do like Dallas and just pick it up like we’ve just not seen what they’ve been doing for 25 years.

March 14, 2014

I have now re-re-relaunched this blog (give or take a “re-“).

It occurs to me in the course of looking at the long and strange well-documented history of this blog, I’ve had all manner of weird shit happen – I started it out on tripod.com hosting editing with FrontPage, briefly lost control of the domain name once when the fly-by-night company I registered it from decided to lock me out of it, taken it across two different CMS packages, and hosted it at a smattering of different places including a server farm which literally consisted of faded beige boxes missing drive bay doors sitting on the floor of the house where my friends also ran their small consulting empire.

In any event I can add one more to the list – I’ve been hacked. Actually, a couple of times. Towards the end of my tenure with my friends’ hosting, the colocation facility they moved to (after the beige-boxes-on-the-floor phase) decided they had to take my blog offline because it was spreading viruses. Had been for years, they said. Longer than they had been hosting it apparently, which made sense to none of us. Long story short there was an exploit in the Akismet plugin that WordPress came with by default. Also by default this plugin was disabled and because of that, WordPress would never prompt me to update it. I never activated it because the service it provides – comment spam protection – is useless to me because this blog doesn’t have comments. Anyway someone exploited it and was able to insert all kinds of stuff in the blog to point to links to websites serving up malware and so forth. I don’t remember exactly how we cleaned up that mess (I think we restored from an old backup because – unsurprisingly – it had been a long time since I posted last and there was nothing to lose) but we got it back online.

I changed over to 1&1 hosting when my friends moved to a different part of the state, both because of the convenience factor and also because I didn’t want my one-off WordPress blog here to cause them any more issues. Besides, I figured, what are the odds I’d be hacked again?

At some point I noticed my site was incredibly slow. Like, took forever to load slow. I got busy with some real life stuff so I ignored it but when a friend a few weeks back asked for a link to the Velveeta post, I decided I needed to get to the bottom of it. I’m running on the cheapest package 1&1 has to offer (literally $1/month) so I figured it had to do with cramming me onto some box hosting a million other $1/month blogs, but the WordPress admin interface, also running PHP, came up fine so I knew it was probably not that.

To be quite honest I’m still not sure what the heck all happened. I saw my template was crammed with tons of shit – lots and lots of seemingly random characters – but nothing obviously malicious. I got rid of it, but I couldn’t edit any posts. They just wouldn’t come up in the editor. I inspected exports and backups and other than one clear spam link for an online drugstore I couldn’t figure it out.

So I backed everything up, deleted everything – database and all – then put on a clean WordPress install and restored the posts from a backup. Worked like a charm. Restored from a WordPress XML backup, not a SQL script backup, which worked much better than I anticipated. So now I’m back. Again.

I’m still curious how exactly I got hacked but not enough to pour a lot of time into it. But it does occur to me that this is analogous to a paradox with regards to urban decay.

The paradox is: the way to make sure an old building continues to stay in good shape is to keep using it. I work in Downtown Dallas now, in a skyscraper. A few doors down is another skyscraper called Elm Place, which is currently completely empty. As in, tenancy dwindled to the point where in 2010 they just kicked everyone out and closed it down. I believe someone recently purchased it so at some point it might be open again but we can already see signs of rot. Tiles falling apart. Drooping ceilings. The little businesses on the bottom floor that were restaurants next to the large windows have left behind remnants that are fading from mere sunlight exposure.

By comparison, in Texas near New Braunfels there’s a place called Gruene Hall which was built in 1878 and still operates to this day – as a dance hall. Elm Place was built in 1965 and is showing signs of wear and tear a mere four years after being unoccupied, meanwhile a dance hall built thirteen years after the Civil War ended, and which is made of freaking wood, is still up and kicking.

This blog on WordPress, with no comments, very few plugins, and (previously) a very barebones theme, seemingly doesn’t have anything you think would rust, but apparently it did. I tried to stay on top of WordPress updates, but I’m sure I fell down on the job at some point and that was that. WordPress is open source software, which is a double-edged sword with regards to security issues. On the one hand, the ability to have tons of people looking at your code has the benefit that you theoretically find out about issues faster. On the other hand, it also allows malicious individuals to find the security holes, potentially not tell you, and then exploit it in everyone’s site, or in the sites of anyone who doesn’t patch (which would be the category I fell into). Closed source software is more security through obscurity (i.e., flaws can’t be found by having the source) so it’s debatable which approach is better when it comes to a non-centralized piece of end-user software.

My wife has a laptop that, long story short, came with Windows 7, we upgraded it to Windows 8, and then she switched to a Mac (another long story I’ll need to write up at some point). At some point I had to help her accomplish something that, another long story short, needed Windows 7 and Office 2010. I was running Windows 8 and Office 2013 locally, so I needed another machine. We reformatted her laptop, put Windows 7 and Office 2010 on it, accomplished the task, and then shut the laptop and put it away for almost a year.

Then she needed an “extra” laptop for something so it made perfect sense to just dig up the Windows 7 laptop we used before so we did. First thing we do is start applying Windows and Office updates. Everything is going fine, hundreds of patches get applied, Microsoft Security Essentials gets updated, system gets rebooted a few times, all is good.

In the morning there was some weird piece of software running on the desktop. I found that odd, and I looked and whatever it was was installed the day prior. I search for the name of the thing on Google and yeah, it’s malware/adware. We had a ton of updates to apply when we had first booted it up and so I thought maybe something had snuck on there while we were updating it. I uninstalled everything (including toolbars on web browsers) and all was good.

Until the next day when some of it came back. I had everything updated, and it still got wormholed or whatever. I ran MalwareBytes on it and cleaned out some stuff and had MSE run a deep scan. I think I got everything (this wound up being a laptop that sees some amount of use in my wife’s office and I haven’t heard anything bad). My guess as to what happened is that a worm put malware on the system while it was updating and then even after all the updates applied, a process left over that MSE didn’t catch was still allowing software to be installed.

I don’t have these problems on my main system and I’m a pretty stringent user (I had set this laptop up using the best practices I knew of) and still it developed issues. The only thing I can think of is that my main system, by virtue of being on all of the time, is constantly updating and on top of the latest software updates and patches. The laptop had been off for a year, so it had catching up to do and a lot of maintenance to get it back in working condition.

So in other words my main machine(s) stay in good shape because I keep using them, and this laptop got slammed with malware because it had been offline for too long. It’s similar to urban decay.

Codebases are the same way – games whose engine goes open source or see constant attention (see: Starcraft or Quake 3) see themselves running on modern hardware, while games just a few years old break on new versions of Windows.

So yeah, my blog got hacked because I stopped using it. Or updating it anyway.

Also at one point I had made this new template for the blog which was a variant of the ancient theme I had going on (which was literally designed to look like a Web 0.1 page because I thought that was hi-damn-larious for way too long) but it got lost in the first hacking kerfuffle, so I just searched on WordPress.org and found this one. Works for me – minimalistic without being an eyesore in an era of responsive web design.

I’d say I’ll be updating a lot more often now but that’s like an excuse you give your doctor that he doesn’t want to hear. So I’ll just say that I’ll still be around… for some reason.

May 3, 2013

The problem with Android is that the carriers are not looking at it as an operating system, they’re looking at it like an initial source code drop. They’re looking at it like a game developer views an engine.

Let’s say I’m a game developer. I decide I want to make a game and I don’t want to write an engine. The things I want to do with my game would be served fine by an existing engine, just with some tweaks. Maybe I’m Gearbox Software and I want to make Borderlands – I don’t write an engine from scratch, I just license Unreal and add cell shading to it.

So let’s say the latest version of Unreal Engine is version 3.1 (not sure what version numbering system Unreal uses but let’s assume it’s like Windows or something). So I go pay my half million or whatever and I get a source code drop of Unreal Engine 3.1 and I start working on my game.

At some point in my game’s development is the point of no return – code freeze, feature lock, whatever you want to call it. At this point I can’t make any source code changes except for bug fixes. I have to stick to this or else I’ll miss my deadline and/or the game will never ship (see: DNF).

Now let’s say before the point of no return Unreal Engine 3.2 is released and I can see how it would benefit my game. I have to decide at this point whether or not to use Unreal Engine 3.2. If it’s early enough in development then I could consider getting Unreal Engine 3.2 (pay the upgrade fee or maybe it just comes with the license) and then re-apply all the changes I made to 3.1 to it.

After the point of return Unreal Engine 3.3 is released and I can see how it would further benefit my game. However, I can’t afford to change over to 3.3 so we just keep going on 3.2.

So then we release our game, even though it’s running on an engine that’s not the latest. And we have no intention of upgrading it either – this is just the version our game uses.

And then later Unreal Engine 4.0 comes out. We don’t upgrade to that one either. If our game sells well and we make a sequel, we’ll probably use it but we’re not going to upgrade the first one.

Here’s the rub: no one expects us to upgrade it either. Gamers are not going to care that we’re not running on the latest engine and they’re not going to hold it against us when we don’t upgrade to Unreal Engine 4.0.

That’s what handset makers are doing. They don’t see themselves as putting Android 2.3 on a phone, they see themselves as putting their own OS on the phone that is based off of a particular version of Android originally.

And when a new version of Android comes out they’ll use that on their next phone but they’re not going to upgrade their existing phones. Why should they? They’ve already made their money is how they see it.

And I believe this is an approach that works fine in games but not in phones. People don’t run apps in Borderlands but they do run apps in Android and so having the latest OS is important.

Instead what we have is analogous to if Dell sold computers where the OS was based off of Windows but they went in and dinked with the source code so now you don’t know if anything is going to run even though you have the hardware to do it. Android marries the worst parts of closed architectures with the worst problems of open source.

If you’re a programmer or hacker or tinkerer than Android is probably heaven for you, but I don’t see how it’s a good fit for anyone else.

March 28, 2013

Rumor is Apple is going to report its first negative income growth since 2003. Some say this is a sign that something about the iPhone is broken. I would say that there’s nothing broken if what we’re seeing here is basic market saturation.

Prior to the iPhone, the phone carriers had this issue where everyone already had a cell phone. My late grandfather in law, who was hard of hearing, had bad eyesight and missing part of a finger from a tractor incident, had a cell phone. Everyone had a cell phone. So there wasn’t this massive growth anymore because they weren’t doubling customers every quarter based on how no one had a cell phone and then everyone went and bought one. Same way Microsoft was on this exponential growth thing because no one had a computer except for computer geeks, then everyone went out and bought one, and they almost all had a Microsoft OS on them.

What the carriers needed to grow, then, was to steal customers away from other carriers. This is why they kept doing gimmicky things. This is why they fought tooth and nail on that “taking your cell phone number with you” thing. And this is why a desperate company named AT&T let a computer and MP3 player company come in and not only put their new iPhone product on AT&T’s network, but they got AT&T to let them keep complete control over it. And this was after they had made the same pitch to Verizon and Verizon told them to go fuck themselves.

When Apple wanted to get into the phone market people said they were nuts because the cell phone market was saturated. And it was. But if you think about it, Apple wasn’t getting into the cell phone market, they were getting into the smartphone market. Everyone had a cell phone that made phone calls. These phones would also do things like take real shitty photos and play a small number of overpriced shitty games from the carrier. Very few people had a smartphone. And companies like Microsoft had been trying to get people to buy one for years. Blackberries were seen as things executives had to use. Apple placed this big bet that a whole bunch of people would want to have these PDA-sized things that ran apps and web pages to hold up to their heads.

And they were right – eventually. Once the 3G came out and got subsidized by AT&T (remember that the first one wasn’t) and apps became a thing they sold truckloads of these things. And then it was on. Suddenly the cell phone market didn’t matter as much as the smartphone market. Or another way of putting it was that now it was a race to convince everyone that they needed to upgrade their cell phones to smartphones. All the handset makers were shitting their beds because they had been making crappy handset after crappy handset (largely because the carriers had them by the balls and didn’t let them try much else because all these things were were cheap ways to get customers locked in) and here comes this distant second place computer manufacturer with a huge first mover advantage.

Fortunately Google had purchased a company with a crazy idea to make an open source embedded OS based on Linux and hey, everyone can use it for free. Knock yourself out. Fuck, we’ll pay you if you let us control parts of it – namely the advertising. So a dozen hardware companies lucked out because there was an OS most of the way there they could just use for free or cheap. Microsoft got so scared they pulled off the most coordinated technical maneuver in their history by stringing every piece of technology and software they’ve ever done into a “new” operating system which they named Windows Phone 7. It was such a radical departure from the “WIMP on a phone” paradigm that the average person thinks they re-wrote everything from scratch. Of course, the next thing they did was to put this same interface and paradigm on their main operating system, giving them a solid entry against the iPad (which, incidentally, threw Android a curveball because all these handset makers suddenly had to try and shit out tablets as well as coming up with competitive handheld hardware) but cannibalizing the perception of desktop users in the process. And RIM? They were so in denial that anything had changed and resistant to the market shift that their developer tools make command-line compilers look appealing, and their new WP7-like rebirth? It finally came out… last fucking week.

So where was I going with this? Simple – at some point the smartphone market will hit the same saturation point as the cell phone market was circa 2007. When that’s occurred it’s going to be the same thing again, except that it will be the hardware and OS makers doing the slogging. When everyone has a smartphone the only way Apple gets more users on iOS is to lure people from Android. And the only way Google gets more people on Android is to lure people from iOS. And the only way Microsoft gets more users on to WP7 WP8 is to hope to hell that BlackBerry 10 is a flop and RIM BlackBerry finally goes down the drain they’ve been circling for years now and somehow get the corporate market on board (which might not work as most of the world has moved to a BYOD paradigm).

Of course, the definition of “everyone has a smartphone” is murky. My parents don’t have a smartphone. Don’t want one either. When their cell phones die they just go get new cheap feature phones. Probably whatever the local AT&T place has for free with a contract. Not everyone wants a computer in their pocket. So the mobile market knows there’s more customers to convert to smartphones, they just don’t know how many of them they can ever get. My parents could get an iPhone 4 free on contract right now but they don’t want one. Their eyes are bad so most of the appeal of the thing is gone. And they want to open up something and hit numbers, not unlock with a swipe and figure out which of the icons looks like a phone.

So I think what will happen is that smartphone innovation will plateau once we’ve hit as close to smartphone market saturation as we can and then once the only way to get smartphone customers is to lure people away (or back) from other platforms is to out-do them. And we may have started that plateau now.

March 22, 2013

This blog is back now.

It was gone for a while due to a combination of real life concerns getting in the way of keeping it online, an exploit in a plugin causing spam and malware issues for my friends who were hosting it, and the general disconnect that comes when running a blog on the side for fun and no profit on hosting provided for free from people who have tons of paying clients and no one else using the particular technology you need to run it.

It’s pretty understandable – neither myself or my host saw it as a huge priority so for months now the site’s been down. But a recent email from GoDaddy reminding me to renew the domain, coupled with the desire the get the hell away from GoDaddy and a recent ad I saw from 1&1 offering $1/month hosting gave me the motivation to go ahead and resurrect this thing.

Obviously this hasn’t been a priority for me, what with the last post being right before Duke Nukem Forever for fucks sake, but I’ve become re-motivated to try this again. I like WordPress, I like writing long stupid stuff, and I hate Twitter, Facebook, and whatever dumb social media thing of the day is, so I’m blogging out of spite if nothing else. I’ll work on a better post soon (I see I have three half-finished posts which won’t make much sense now) and I’ll see if I can find that new theme I had going for a while there (instead of this “Mosaic 1.0” thing I’ve fallen back to because it was the last backup I could find) but in any event, here we are.

June 13, 2011

There was a time when game developers could do whatever they wanted. That time has mostly come to an end.

At the height of this period was the phrase “when it’s done”. First coined by id Software, it simply meant that the game would be finished whenever the hell they decided it was done and not before. They weren’t interested in hitting deadlines or setting them, and they sure didn’t care about things like a Christmas buying season.

But it’s a different world now. Many game developers have gone out of business. Hitting release windows is now more important than shipping a bug-free product. And the sheer level of competition, not only from the gaming space but the rest of the market space means that if you take your time in coming out with something, there’s a good chance no one will care.

So now we have things like Activision deciding that every single year there needs to be another Call of Duty game and if it’s going to take three years to make one then you’d better go get three developers because there’s going to be one every single year no matter what. And the Ice-T’s of the world are going to spring for the collector’s edition every year because they have no idea who made them or that this year’s model might not be that great. Now that they’ve run Guitar Hero into the ground (pretty much literally – they’ve cancelled future games) maybe they’ll be more careful?

And more to the point, a whole lot of developers who have had this attitude have gone under.

If all goes well then in June we’re going to see something interesting – the last of a breed. A relic from a former era. The biggest game ever to come from a developer with this attitude that has somehow lived to tell about it will finally be released.

Duke Nukem Forever.

A game which started development back when Clinton was in the White House, DNF is a true enigma. The name came from a portmanteau of being the fourth game in the series (after Duke Nukem, Duke Nukem II and Duke Nukem 3D) and the short lived phenomenon of using “Forever” as a suffix in titles (the best example of which is probably Batman Forever). It quickly became a curse.

The story of the development could fill a book (and hopefully will some day) but the short version is that the game started development at 3D Realms with the Quake engine (ironic, given that Duke Nukem 3D was seen as a Quake competitor) in 1997. A few years later when the Unreal engine was the latest rage they decided to switch development to that engine. Claiming that it would only add a small amount of time, the game went year after year without being shipped or finished. A trailer was released in 1998 and then another one in 2001 but after that there was no sign of the game for a long time (3D Realms went into “radio silence”). Another trailer was released in 2007 and rumors abounded that the game might actually ship in 2008 but it didn’t happen and in 2009 3D Realms laid off the entire development staff. However a new development team of former employees kept working on the game and eventually the title landed in the hands of another DFW-area developer, Gearbox Software (who, fittingly, was founded by former 3D Realms employees around the same time DNF development started). The game is finally being released in June, 14 years after it was announced.

DNF isn’t just a long time in coming, it’s very much signaling of the end of an era. In the mid-90’s when powerhouse PC developer id Software located itself in the DFW area, primarily to be closer to their shareware publisher Apogee (the company that eventually became 3D Realms) it created something of an epicenter. Employees of id would leave and form other companies, who would then in turn hire more people. Before long Dallas was a major scene in game development. It even had a term, the Dallas Gaming Mafia. They released games, made tons of money, and were accountable to no one. “When it’s done” became a way of life.

But the end started to unravel in much the same way the dot-com boom would, several years later. The beginning of the downfall came with Ion Storm. Formed by former id employee John Romero, Ion Storm was an incredibly ambitious developer flushed with venture capitalist cash and big plans. However a string of bad decisions, employee exoduses and overconfidence eventually doomed the company. A spinoff division in Austin held on for a few more years but ultimately they closed as well. Romero’s rock star mentality made him an early celebrity, but the party didn’t last.

If Ion Storm was the beginning of the crash, in the last few years we’ve seen some of the final aftershocks. Ritual Entertainment, who found early fame with a Quake expansion pack, quickly were brought down to size when their first original IP title SiN was a commercial failure that was released too close to Half-Life (for some perspective, try to think of the name of the movie released on the same day as Star Wars in 1977). They chugged along with ports, expansions and sequels for others over several years but their next attempt at an original title, an episodic sequel to SiN, tanked the company. Rogue Entertainment had a similar round of bad luck. Ensemble Studios, seemingly safe due to being owned by Microsoft, was shuttered a few years back because as it turns out the Age of Empires series wasn’t selling as well as most thought.

There’s still a smattering of studios here and there, and of course id Software is still around, but it’s just not the same.

Then there’s 3D Realms. 3D Realms is sort of like the caveman in the block of ice.

One of the big questions in DNF development is – how have they been able to afford development this whole time? Well, no one knows for sure but one of the things that 3DR is good at is creating new IP and then farming it out. They created a concept for a gritty, modern day film noir-style action game with Matrix-style bullet time called Max Payne and farmed it out to Remedy Entertainment. It was a huge hit. As was its sequel Max Payne 2: The Fall of Max Payne. Then they sold the Max Payne movie rights, which came out as a movie a few years back starring Mark Wahlberg. Then they sold the IP entirely to Rockstar who is now making a Max Payne 3.

When Unreal came out a number of companies starting putting technology first and devising engines with single-word names that could impress people. So a contemporary to Quake and Unreal was a game/engine from 3DR called Prey. It had a storyline involving Native Americans and alien invasions, and featured destructible terrain and portal technology (being able to transport through reality holes). Depending on who you listen to the original Prey may or may not have ever been more than a tech demo, but in 2005 3DR resurrected it and farmed out the concept to Human Head Studios. Most of the original concepts came along for the ride (except for destructible terrain) but the game was completely redone from scratch.

Things like this, plus the occasional residuals from Duke Nukem related properties (including a spinoff 2002 sidescroller and a port of DN3D to the Xbox) kept 3DR afloat. But why did the game take so long?

No one knows for certain but the gist appears to be that the company’s founder and the project’s leader, George Broussard, simply couldn’t be pleased. Broussard is a regular poster on some of my message boards and is a pretty good guy overall who has admitted that the development of DNF was plagued by management mistakes. In some ways he’s the game development equivalent of Axl Rose – someone who had enough money that he wasn’t accountable to someone like a publisher so he can take as long as he wants. Part of that is due to the fact that the development of the game predates most modern publishing agreements, and the established nature of the developer meant that they retained the rights to the IP, a practice which is not common today.

In many ways, Duke Nukem 3D was basically DOOM with a bunch of extra stuff to do. You could run around and shoot things but you could also play games and shoot pool and tip strippers and set pipe bomb traps. The main “competitor” on the FPS scene at the time was id Software’s own Quake which was basically DOOM with prettier graphics. In many ways you can see how things got to where they did. With DN3D, 3DR only managed the game itself. The technology was made by someone else (they used Ken Silverman’s BUILD engine). They have stated in interviews that while DNF eventually settled on the Unreal engine, the entirety of the game’s code has been gutted and rewritten, to the point where only Unreal’s scripting and map editor remain. So when they used other people’s technology the development was straightforward, but in trying to manage both the game and the technology, they wound up getting into a development tailspin.

And DNF‘s development encountered problems which were almost entirely unique. Game development, as a whole, is an underpaid field. It’s a well known fact that with rare exception you will almost always get paid less than your counterparts in the dull business programming world. Which is the real reason why John Carmack is one of the few game developers pushing 40. It’s not because only young people can pull off the development feats, it’s that when you get out of college and someone wants to pay you $40K/year to work on video games it’s like a dream job from heaven. When you’re in your 30’s with a wife and a mortgage and kids and you’ve been laid off and/or moved a dozen times (it’s a common phenomenon for developers to be laid off as soon as a product ships simply because now there’s no more advance money to pay salaries with and no other projects in the pipeline) and your salary hasn’t moved much, meanwhile the guy down the street doing business rules programming in C# is making 2-3x what you make, you tend to bail.

But game developers get paid in other ways. Namely that their job is usually fun, the environments are typically the antithesis of the cubicle world, and most importantly they can point to a game – usually in a store – and say “I did that.” However, when a game goes year after year without shipping, you don’t get to do that. There are developers whose entire career was spent working on DNF, which as of this writing still hasn’t shipped. More than just an ego issue, this poses a real problem – if they were to try to get work elsewhere (or get laid off, as everyone who didn’t jump ship eventually did) then you don’t have anything concrete to put on your resume.

As a result, turnover was another real problem for 3DR. In 2006 there was even enough people leaving to constitute a mass exodus of sorts. 3DR would then go on to hire more people, but the mythical man month issue started to arise in that it took new hires a while to learn the ropes of the project, which delayed the game further, and caused more people to get frustrated and leave. This is something the game industry hasn’t dealt with much – usually there’s a concrete plan and timeline in place, but not in this case.

One of the continual rumors was that Broussard was never satisfied with the technology. One of the real issues of the modern gaming industry is that the public is always looking for the latest and greatest in graphics technology. Consequently, the dirtiest word in the industry is “dated”. As in, “the graphics look dated”. For a cinematic example, think back to computer animation in the 1980’s, like the movie Tron. At the time, the computer animation was incredible looking, unlike anything seen before. However as time went on the movie’s animation pales in comparison to what came after it. Consequently it is difficult to go back and look at that movie and see the graphics and animation as much more than a joke.

Computer games have followed a much quicker trajectory. As recently as fifteen years ago enemies in 3D video games were being represented by cleverly animated 2D flat images (as they were in Duke Nukem 3D). Towards the end of the 90’s we saw hardware acceleration make its debut and the pace took off. As a result, the technology pace has been dizzying – games from 1999 which had problems running on the hardware of the day can now run on cell phones. Entire companies devote much of their time to just coming up with the technology to license to others. And any game that takes too long runs the risk of shipping with graphics that don’t look as strong as their competition.

Above all else, this is what most outsiders (and some insiders) think is what happened to Duke Nukem Forever. Similar to how Axl Rose was independently wealthy enough to not have to deliver Chinese Democracy until he was damn good and ready, George Broussard felt similarly about DNF. With all the money coming in from other franchises and spinoffs, why rush?

The speculative history of what all went wrong has been posted and refuted already, but the development is the stuff of legend. At various times over the past 14 years I’ve found myself wondering if there were people actually working on the game anymore. Any normal game would have taken a fraction of the time to develop. One fan took the time to come up with a list of things that have happened since the game was announced, or have been started and finished since the game was announced. Or things that took less time than this game took to develop. My favorite has to be that the Beatles formed, recorded every single one of their albums, toured the world several times, and broke up in less time than DNF has been in development.

There have been a few people who have posted their preorder stubs from as much as a decade or more ago. My favorite are the ones that say Babbage’s because that chain has completely changed its name in the time since. Another one of the unique issues that has presented itself is that some people’s preorders are so old that it’s uncertain whether or not they’ll be honored. Legally they probably should but when I worked for a Babbage’s in 1999 we kept track of preorders in a small plastic recipe box – what are the odds that your preorder stub is even still in the store? Some people have reported that the store they preordered it in has closed down. Gearbox and 2K have stated that they will honor any preorders that game stores deny due to age. They did this around the same time that they put out a web form asking for the names of anyone who has worked on the game – the title has been in the works so long that even 3DR has lost track of who all has ever worked on it. It’s been said that in some of the songs on Chinese Democracy had takes that were over ten years apart. I bet some of the levels in DNF will have assets created in different decades mixed together.

A few years back I was thinking how insane it would be one day when I would be able to walk into a store and walk out with a copy of the game, mainly because it seemed like it would never happen. Now we are looking at that exact thing happening but a funny thing has changed – in the PC space at least, digital distribution has become a major player. So the development of DNF has outlasted most physical media. I’ll still be getting it in a store on principle, but it may be the last game I do this with. It’s more for old time’s sake. I bought Chinese Democracy on vinyl and CD for old time’s sake – that album took so long that a lot of people don’t buy music on CD anymore. I want to see if I can make it to where that’s the last album I buy on CD from a major record label. Every other album will either be from smaller labels or on a digital format, or vinyl with an MP3 code.

And DNF is a shining example of why publishers demand IP control these days. 3D Realms used to be a publisher themselves so they’re more or less grandfathered in and as a result they own the IP. Or rather they did. Stories differ but it appears that at one point Take Two may have made a move to get the IP in return for more funding of the game. 3DR stuck to their guns and were willing to stop development and lay off the entire staff just to keep the IP. However, one of the things that became known when Gearbox took on the project is that Gearbox now owns the Duke Nukem IP. This means Gearbox can make more Duke Nukem games if they’re so inclined. It’s interesting to me that 3DR was willing to fall on their sword to keep the Duke Nukem IP but were willing to sell it to Gearbox. Still, a massive and independent game studio in the Dallas area is better than a publisher owning it. At least I think so. I’m curious if 3DR will ever get the IP back. Heck, at this point I’m curious what 3DR is going to do anymore, or if they’ll even exist as anything but an IP think tank. No one’s talking, though I suspect more info will come out once the game’s on shelves.

But as the game finally heads towards release and the reviews trickle out, it’s becoming clear this is a polarizing game. PC Gamer, a magazine I like a lot, gave it 80%. Not bad. But then other reviewers are less kind. Right now it’s trending towards 60% on the PC and lower on the consoles. And there’s more console reviews because the Xbox 360 version is the one they handed out. I don’t get that. The game looks better on the PC, why hand out a review copy on a console? Of course that goes along with all the other bizarre marketing decisions they’ve made – like making the demo something handed to people part of a club you got into by preordering or buying Borderlands: Game of the Year Edition. Or how the videos are just dumb, one of which focused on flinging feces (literally). Or how the trailers could have been handled much better.

The game and character is such an anachronism. Duke Nukem is a cigar chomping misogynist whose main goal seems to be a satirical parody of 90’s action movie stereotypes. But it’s not the 90’s and action movies are different now. They’re grittier, shaky-cam affairs as opposed to Schwarzenegger flicks. And Schwarzenegger is not really someone to emulate right now. The references in the game are ancient. And it’s not clear to what degree it’s parodying the entertainment industries and to what degree it just wants to be part of it. It’s been said that the really iconic characters in pop culture exist because they’re willed into existence. We want to know what it would be like to be immortal and save the world, so Superman the character exists. We want to ask the question of whether or not immortality would be worth the lives of others, so the literary concept of vampires exists. And on a more crude level, men want to know what it would be like to be a complete asshole alpha male who says what guys think and that we’re not supposed to say and so Duke Nukem exists, and the universe he exists in loves him.

In any event, I expect DNF to be a beautiful disaster. I’m less interested in whether or not it’s a good game or a bad game and more interested in just playing it at all. If it had never been finished and released we would all be wondering what it was like. Now we’ll know. I could be wrong but I think I’ll view it the same way I viewed DOOM 3. Was DOOM 3 the best game ever released? No. It wasn’t even the best game released in 2004. But it was a hell of a lot of fun and I liked it a lot. I expect DNF to be the same way.