Lets All Play Doom

As part of my commitment to actually get some content on this site, I’ve been going through my archives of material and old hard-disk contents to find anything worth salvaging. For the most part it’s a parade of embarrassing E/N sites, fragmented IRC logs and stupid animated gifs. I did find something I thought was quite fun though, it’s the spoof article I wrote way back for a (fictional) site called LetsAllPlayDoom.com. I think I created it in around 2000, shortly after Doom 3 had been announced by Id Software. The premise was that it was an article from the future, March 2005 to be precise, by a Doom 3 fansite, investigating the rumours of a predecessor game.

letsallplaydoom.com: Doom – A Retrospective Glance

Reading it back, it’s a bit hit or miss, but better than most stuff I wrote back then (and probably nowadays as well). It feels a little curtailed, I never really exploited the idea properly as there’s very little that actually focuses on Doom’s gameplay itself, instead most of the article is about the history of Id and a rather labored pun on the word “prodigy”. I did get to use a joke about the “burn all gifs” campaign turning militant in a too-literal fashion, which I’d been saving for a while and I still think is quite an amusing image.

Fun bonus fact: Some time later I considered writing a much expanded version of this article as a spoof of the book Masters of Doom, to be called “Barons of Hell: How a Couple of Nerds Got Rich and Bought Some Fast Cars”. It was to feature copious Romero trolling. I wrote a few pages, but decided to put it on hold until I actually got a copy of Masters of Doom to read through. In the end, I never did though. Fascinating, eh?

Firefox is eating my cookies

I recently suffered a problem where Firefox began forgetting all my account authentications and what-not each time I restarted the computer. Investigating further, I discovered all my profile’s cookies were being wiped every time I exited the browser. Searching bugzilla turned up a few open bugs where people described having the same problem, but none of the them had fixes or answers beyond “check your settings” and “delete Firefox, trash your profiles, re-install”. I eventually found the answer in some mozillazine forum thread, which I thought I’d post here, in the hope that it may help any poor soul Googling the issue.

The problem is apparently caused by corruption of the SQLite database file used to store cookies for you browser profile. The fix is (or was in my case) to delete the cookies.sqlite file completely. Under Windows Vista, the file is located at: Users[account-name]AppDataRoamingMozillaFirefoxProfiles[random].defaultcookies.sqlite

When you next run Firefox, it should recreate the cookies.sqlite file, this time free of whatever evil corruption had infected it. Exactly what causes the corruption in the first place isn’t clear. People in the mozillazine thread where I found this answer claimed a poorly written add-on or plug-in is the likely culprit. The only add-ons I had installed at the time were Firebug and the Microsoft .NET Framework assistant. I have a bunch of plug-ins, but only the normal stuff like Java, Flash, Acrobat, etc. I guess it’s just one of those things. Anyway, I hope this helps someone somewhere.

Source Thoughts

I’ve recently started looking into modding for Half Life 2 / the Source engine. On the whole, Valve provides quite a lot of help for modders. There is an official Source SDK that can be downloaded through Steam, a number of official forums on Steampowered.com that Valve developers are (occasionally) active in, and a wiki with relatively up to date information for developers on a wide range of topics. There are a number of active third party sites devoted to Source modding, the best of which appears to be Interlopers.net. All this is good. what is not so good is that the architecture Source and Steam appears is rather unfriendly to beginners.

Any beginner to modding a game has to start somewhere. The usual place to start is by making a small modification to the original game’s behaviour. For example, a beginner to Doom modding might take the game’s source code (or rather, a stable windows port such as ZDoom), make a change to a small aspect such as the player’s maximum health, recompile and play the game. Similarly, someone using the Quake engine might make a small change to game’s QuakeC code, perhaps to increase the number of gibs spawned when a monster is killed, recompile the code and test out their change. This approach, of tweaking a small aspect of an existing game, and quickly seeing the results is a standard and very useful one. It allows new developers to get in at the shallow end, so to speak, by gradually exploring the existing code base, learning to make more significant alterations at their own pace.

With the Source SDK, there is an option to create a blank mod, or to make one based on Half Life 2 singleplayer. You might imagine that choosing the latter option would produce a mod that replicated the Half Life 2 singleplayer game, while allowing the developer to start making code changes, but this is not the case. This option produces a mod with the source code from HL2 singleplayer, but no access to the resources of the game. Instead it uses what is called the “Source SDK Base”. This is a shared set of basic resources that is available to anyone who owns a Source engine game (e.g. Half Life 2, CounterStrike Source, Day of Defeat, etc). Getting the mod to a state where it simply modifies the default Half Life 2 singleplayer game is possible, but it involves quite a bit of work copying configuration and resources from the original game and modifying the code to mount the original HL2 resources within the engine’s internal file system.

The thinking behind this is clear enough, Valve want to enable and encourage people to make mods standalone mods that work across their product range, rather than reusing a load of resources from a single game and therefore being tied to it. However, this assumes the developer is ready and able to make a large standalone mod, whereas I would argue this is only a stage reaches after a large intermediate period of learning their craft and forming or joining a dedicated mod team. Until then, most people will want to product basic mods of a single game. If Valve wants to improve the learning curve for Source modding, thus increasing the size of the community and the associated revenue it drives, then they should enable a better route within the SDK for beginners. The option to create a HL2 singleplayer mod should do exactly what it suggests, creating a mod that replicates the normal behaviour of the game and can be played immediately, allowing the developer to start making changes at their leisure.