.: DooMster Unveiled: Inside the BossBrain
Spotlight on Simon 'Fraggle' Howard: November 2, 2012
Simon Howard (or 'Fraggle' as he is affectionately referred to by us other muppets who inhabit the universe of DooM) is a man who has been associated with a virtual who's who of DooM initiatives. From Smack My Marine Up (SMMU) to FraggleScript, and from Freedoom to Chocolate DooM, he has had his finger in the pie of many influential projects that allow the rest of us to enjoy DooM in its myriad flavors. And after almost nineteen years on the DooM scene, he continues to boldly go where no one has .... wait, wrong pop-culture reference. Anyhow, read on gentle reader, and discover for yourself what keeps this particular DooMster ticking ....
DN: Doom. To fans of the game, the word conjures up a multitude of images. What does Doom mean to you?
Fraggle: I guess there's a variety of things that come to mind. To me, Doom is iconified by what's in the shareware game, and Episode 1 is my favorite episode. It's a classic game, and almost perfectly executed.
DN: You started development on SMMU, one of the early source ports, in 1998 but gave it up a couple of years later. Why did you "abandon" such a promising project?
Fraggle: It's difficult to explain, but I think I just kind of lost interest in the project. At the time, I didn't feel like it was becoming very successful, and was kind of a 'fringe' port.
When I started working on it, I envisioned it as a multiplayer port, and worked quite a bit on SMMU's multiplayer features, hoping to make it into something that would appeal to deathmatch players. However, it never really managed to attract that user base, and (the admittedly superior) csdoom port had a lot more success in that area.
I was much less mature as a programmer when I was developing SMMU, and altough it had some nice features, a lot of them were hacked together rather carelessly. The most notable was FraggleScript, where I wrote the entire language interpreter without any knowledge of how compilers are written. It's difficult to work with code when you want to rewrite everything :) But in the end, I learnt a lot from working on it.
One of the main problems with SMMU was that I didn't really have a clear direction or goal for what I wanted it to do. Working without a goal like this can eventually become demotivating as it means there's no end in sight, and no way of measuring how successful you're being. When I start new projects now I try to set clearer aims for what I'm doing.
Funnily enough I've recently returned to SMMU - there's a "graveyard" website for it where I've been gathering as much information about it as possible for posterity. I have the binaries and source code for several old releases now, as well as one of the demo levels I put together, and a Git repository with a partial revision history of the code. If you're a fan of SMMU, check it out.
DN: FraggleScript, one of the innovations of SMMU, was adopted into several other popular source ports. Where did you get the inspiration for this scripting language?
Fraggle: FraggleScript's design was inspired by the C programming language (which Doom was written in), and the Sinclair QL's SuperBasic. The idea was really to make a better scripting language so that level designers could add enhanced scripting abilities to their maps. Other ports had inherited ACS from Hexen, but it was clear that ACS was quite limited and there was a niche for something better.
One of my main goals in designing FraggleScript was that things should be simple, and I wanted it to be a language that non-programmers would be able to pick up without needing to learn to program. There are various features of the language - like implicit type conversion - that are designed with this in mind. If I were to design FraggleScript now, there are other things I would probably do differently in order to further achieve this goal.
DN: SMMU was reborn as the Eternity Engine. What role did you have in the transition to, and further development of, Eternity?
Fraggle: Very little. James Haley (Quasar) continued my work on SMMU with Eternity after I stopped working on it, and aside from answering occasional questions, I've had very little input into its development since then. He's done a great job of cleaning up what I did and making Eternity into a reliable, well-designed port.
DN: With Microsoft's move away from Windows 16-bit support, there was clearly a need for something like Chocolate Doom. What made you seize the opportunity to build such a port?
Fraggle: There were several things that pushed me in the direction of starting Chocolate Doom. First was the observation that developers wanting to port Doom to a new platform would often take the original raw Doom source code and port that, rather than reusing an existing port. But
there are several bugs in the released source that need correcting in order to get a working port. I wanted to create a minimalist port that would just have those fixes and nothing else, so that people could fork it to make their own ports.
At the time, PrBoom was my source port of choice, and it's an excellent port - the work of a series of talented programmers' work and attention to detail. Still, there were several things that annoyed me about it - particularly the complicated menu system, which were (and still are) a maze of settings, many of which I don't care about. The
"compatibility" menu, with its collection of obscure compatibility options is a particularly good example. It seemed like it was a lot of work to configure PrBoom just to behave like plain, vanilla Doom plays.
Havoc Pennington wrote an essay about good user interface design, and I'm a particular fan of his observation that too many preferences is something to be avoided. So I liked the idea of a source port where the choice the source port *is* the compatibility option. I wanted a source port that was just Doom, nothing else, out of the box.
After SMMU I didn't really want to do another source port, because most source ports, like SMMU, tend to be directionless projects chasing features. That's why Chocolate Doom turns that idea on its head: there's a clear, narrow philosophy to the project, and I can (and do) reject feature requests that don't fit with that philosophy. Knowing that I could do that made it much more personally appealing.
DN: For how long do you plan to continue maintenance and development on Chocolate Doom?
Fraggle: Well, I haven't been working on it much recently, but I don't have any plans to abandon it any time soon. Sometimes I take breaks from my projects and come back to them later. There are still plenty of things that need doing, most notably finishing version 2, which includes
Heretic, Hexen and Strife support.
DN: Freedoom is an excellent initiative intended to provide an open source Doom2 IWAD. What has your role in the project been?
Fraggle: The project started as a forum thread on Doomworld, and while I didn't come up with the original idea, I supported it by setting up the technical infrastructure for building the WAD files and integrating peoples' submissions. This naturally led to my maintaining the project for some time until I handed over maintainership to Mike Swanson a few years ago.
It was fascinating to see the project in its early period - every day there was new material appearing and it rapidly evolved as more and more slots were filled. Over time that naturally slowed down a lot, but it's now at the point where it's pretty much a complete game, and we've essentially achieved our original goal.
Within the overall project, my role has been fairly small, and the majority of credit should go to all the talented level authors, artists and others who have made all the material. But I'm still proud of the role I've played in helping to bring that all together.
DN: Many would view you as a pioneer in the efforts to give continued life to an almost-nineteen year-old game. How do you feel about being the "Grand Old Man" of Doom?
Fraggle: I've never thought of myself like that before :) I guess it's an honor if people really think of me that way.
DN: You recently released software to allow the use of a Logitech Wingman Warrior joystick in vanilla Doom. Some would consider this effort obsolete, but in many ways it has a huge historical significance. What prompts you to play archaeologist and pick away at arcane aspects of Doom?
Fraggle: Even before the Doom source was released I had an interest in Doom's internals - I remember reading through the Unofficial Doom Specs for example, learning about the WAD file format and its various different lumps. I've been playing with the Doom source for over 13 years now, so I know how pretty much everything works, which means it's interesting to discover something new, and I continue to be surprised by the number of new things that keep cropping up.
In Doom's source there are various mysteries, and it's quite satisfying to solve them and find out what the history is behind them. Some things I've investigated have included: reverse engineering the PC speaker sound effect format, writing Chocolate Doom's OPL playback support (which also involved reverse engineering work), investigating the -statcopy and -control command line parameters, and tracking down the French port of Doom II. Quite a few of these things related to code that is missing from the released Doom source, which makes them all the more interesting.
I think anyone who has studied the Doom source in depth can't help but be fascinated by mysteries like these, and I'm following on from others, like Lee Killough's Doom pages and Colin Phipps' Doom curiosities.
DN: You obviously have a command of computer programming languages. Are you a professional software engineer? If so, how has your work on Doom dovetailed into your career?
Fraggle: I'm currently a Site Reliability Engineer (SRE) working at Google's London office. My Doom stuff has always been hobbyist work and hasn't really connected with my professional career, but I do include references to some of my projects on my CV (Resume).
I guess an (almost) 20 year old computer game is a slightly odd specialist nerd subject, but I consider hobbyist programming to have been hugely important to me. It's a tribute to groups like the Free Software Foundation, and individuals like DJ Delorie, that I was able to get access to a free C compiler when I was a teenager, and write
things like SMMU. Without that experience I wouldn't have the career I have today.
DN: You are a "Super Moderator" on the Doomworld forums. What does having such a responsibility entail?
Fraggle: Obviously it's a position of power so I try to be as patient and even-handed as possible and not to let my personal feelings cloud my judgment. I hope that's something that I achieve. The general policy at Doomworld is to be fairly hands-off with moderation, and most things are accepted.
That said, there are occasionally troublesome individuals. It's not always a deliberate thing on their part, but can be disruptive nonetheless. Compared to other web forums, I think Doomworld actually has a fairly high standard of discussion, and people who are new to it can sometimes have problems fitting in.
DN: What is the most difficult decision you've had to make as a moderator on the Doomworld forums?
Fraggle: I'm only a Super Moderator, and I think the admins are the ones that get the most difficult decisions to make :) [Editor's Note: And he's got a promising future as a diplomat too. Heh.]
DN: At this point feel free to go hog-wild and add anything you'd like your two adoring fans to know about.
Fraggle: I think it's great that the Doom community is still going strong after all these years, and doesn't seem to be losing its popularity, either. I'm glad to be part of it.
Web site contents © Copyright Rex Claussen 2006-2012, All rights reserved.
Web design courtesy of Website templates
Logo courtesy of CoolText.com