.: DooMster Unveiled: Inside the BossBrain

Spotlight on CodeImp: October 14, 2012

Pascal van der Heiden (whose trademark is CodeImp) has, dare I say it, revolutionized the art and science of DooM editing. By offering a free, versatile, and powerful map editor, he has drawn many newcomers into the fold. Beginning with Doom Builder, and its successor Doom Builder 2, he has allowed anyone with an interest in joining two vertices with a line, and enclosing a sector with three or more lines, the opportunity to be a map author. And, by so doing, he has allowed many budding artists to pick up a brush and a color palette and allow the inner creative spirit to flow. But Pascal is more than just the creator of a terrific map editing tool for DooM, as you'll discover in the following interview. Peruse on, gentle reader, and marvel at the talent behind this pillar of the DooM community.

DN: When did you and DooM collide, and what was the outcome of the event?
CodeImp: When Doom came out, my father showed it to me and I was immediately impressed. It was a time when I was playing Lemmings, Commander Keen and Duke Nukem (the original, 2D platformer) and had not seen Wolfenstein before, so this was my first experience with an FPS game. I was completely hooked and have played Doom 1 and 2 for a few years and got myself some shovelware CDs which introduced me to the possibilities of new maps and mods. Waded was also on one of these CDs, but I couldn't really figure out how to make new maps.

After that I lost interest and started playing newer games such as Duke Nukem 3D, Blood and Quake. I first got online with Quake 2 which I played A LOT and later Quake 3 which I also played quite a lot.

Then someone, who I played online with, showed me a "Doom with improved graphics" that was a must-see... it was Doom Legacy. This renewed my interest in this (now old) game for nostalgic reasons. I also gave modding another try, with success this time. And because I was completely into online gaming, I also wanted to play online with others. Ever since then I kind of 'stuck around' and some time later started development on Doom Legacy Connector, which eventually became Doom Connector.

DN: Although you are best known for the DooM Builder series of map editors, you appear to have gotten your start in the world of coding for DooM during the development of DooM Connector. How did your work on DC shape your direction for DooM Builder?
CodeImp: During my time with DC, someone mentioned that I should make a map editor. At first I replied that I didn't know enough about the required data structures or systems to get it working... later I realised that it wasn't all that difficult. My experience with software engineering has improved during that time, which enabled me to make that step. Also, I made Doom Builder less (or not at all) dependent on other people's online systems, because that was a big problem I recognized with DC.

DN: Having nurtured DooM Connector into a full-fledged multiplayer utility, how did you feel about passing the baton to others?
CodeImp: I had mixed feelings about that. You get to deal with social conflicts of all sorts when moderating a service like that, which I didn't really like. I tried to get away from it by having other people run the place. But that didn't really work out, because I built that place so I automatically have some sort of 'love' for it. Later, when conflicts caused its populairity to decrease, I just got tired of it and shut it down. I gave the source code to people who I worked with, because they wanted to start something of their own. But I clearly mentioned I did not want to have anything to do with it. I haven't checked how their service is doing, because frankly I just don't care anymore.

DN: Back in 2003, when you decided to create a new map editor, what made you recognize there was a niche for it?
CodeImp: Whether or not there was a niche for it was not clear to me at that time. I just tried using several of the editors out there and didn't like how they worked. DeepSea was clearly one of the better editors out there at that time, but I was still missing a professional organization of features and user interface in all the editors. That sort of triggered me to start working on my own editor.

DN: How much was the development of DooM Builder influenced by Ken Silverman's Build engine for games such as Duke Nukem 3D and Blood?
CodeImp: Quite a bit actually. The first release of Doom Builder did not have the 3D mode, but the 3D mode was planned from the start though. I got used to Qoole for Quake and Ken Silverman's Build editor which all have a way of visualizing the map and see what you are doing while you're doing it (a sort of 3D mode) and I also wanted something like that for Doom. I think this is what made DB a success, because no other editor for Doom had anything comparable and it was obviously a benefit to have.

DN: Why did you truncate development on DooM Builder and begin afresh on DooM Builder 2?
CodeImp: The source code of DB1 was getting a bit of a mess and my design didn't really allow me to continue extending it the way I wanted. This was also partly caused by my choice of programming language at the time I started working on DB1: Visual Basic. That language is old, limited and doesn't really allow the programmer to write high performance code easily. It is also not really suitable for object oriented programming, which is what I really wanted to do, because it makes large software projects easier to design and maintain. Thus I wanted to use something more capable and modern. C# is what made me happy in all of these areas, so I chose to go with that.

DN: You constantly incorporate ideas and suggestions from the user community. How do you decide which ideas to adopt, and whether or not the feature justifies the effort?
CodeImp: First based on feeling and common sense really. Some suggestions can be easily dismissed, because they obviously are not going to make the user experience any better. To judge that you have to have experience in related fields such as mapping, modding, user interfaces, programming, etc. After that you can guesstimate if the benefit of the implementation outweights the amount of work for the implementation. Sometimes I also ask someone else for their opinion, such as Boris who also does some development on DB2 lately, or an experienced mapper.

DN: What prompts you to continue development on a free piece of software for a game that's almost 19 years old, when you could be using your considerable talents to make money off a consulting gig or a commercial development?
CodeImp: That is the difference between a hobby and a paid job. Doing these kind of things as a hobby allows me to make my own decisions and writing software for a large company is often bound strictly to the decisions of others, taking a lot of fun out of the work. It also allows me to work on something that I like (Doom) even though it is horribly outdated and nobody is going to tell me that I am wasting his time or money with this.

DN: Designing a map editor requires knowledge of not just computer logic and operating systems, but spatial geometry as well. Have you ever felt like using that feel for 3D geometry to create your own maps?
CodeImp: I have felt like that, but the feeling I have for geometry is just linear algebra, vectors and matrices. I have made several maps, but none of them are really noteworthy. I don't have any inspiration when it comes to making maps

DN: You have had, what many in the computer gaming community would consider, a dream job - developing commercial games for a living. Tell us what that is like.
CodeImp: I have worked on an AAA game title with a known, professional game development studio for over 4 years as a programmer, but it is not really a dream job within the way the games industry currently works. It is very creative work, which is nice, but it also has its downsides. If you want to work on a big game title, often in cooperation with (financed by) a producer, then be prepared for unrealistic deadlines, over time and working on a game that isn't really yours and your salary will not likely make up for that. Many people think that working in the games industry is some sort of a privilege but that is not really true.

DN: Between your regular job and using your spare time to improve DooM Builder you developed Bloodmasters, an arcade-style multi-player game. Where did you get your inspiration for the game?
CodeImp: I think it was from some other top-down shooter with zombies, but there are so many of those I really can't remember which or what the name was. Other than that there was a little bit of inspiration from Quake 3 in there as well (the fast paced arcade style). It was actually not a very good game, it didn't have anything special, there wasn't enough content to keep the players interested and the isometric view made the aiming confusing to some people.

DN: Tell us some more about Yet Another Shooter (YAS), a new game you are developing.
CodeImp: Some people told me Bloodmasters would do good with monsters/aliens to shoot at. This made me start working on a new game. But it will be very different from Bloodmasters, so I don't want to share the same title or say that it is in any way related. At this point in time (September 2012) we don't have a lot of actual content. Just a story, some level ideas, some gameplay ideas, some concept arts and an unfinished game engine which I am spending most of my spare time on. Once finished, it will be a free game for Windows PC. You can find screenshots and blog posts at IndieDB.

Maybe a funny thing to mention is that the level editor for YAS is a branch derived from Doom Builder. Heavily modified and also simplified as I could tear out the systems I didn't need, such as multiple game configurations and plugins.

DN: Aside from your computer coding pursuits what holds your interest when you have a moment to yourself? Music, movies, cartoons, literature?
CodeImp: Most moments I have for myself I spend on my projects (currently YAS) but sometimes I play Counterstrike-Source and maybe some other game for a short time. I also watch movies, mostly action, sci-fi, thriller, animation or a combination of those. And with local friends I often go out for a drink in local clubs and we sometimes like to visit other cities in Europe for a weekend or so.

DN: At this point feel free to go hog-wild and add anything you'd like your two adoring fans to know about.
CodeImp: I would like to mention that with all my projects I have had good people around me that helped me with several things I needed in development and maintenance. There is no way I could have done all the things by myself. During my DC years there were a few (and I'm sorry if I forgot to mention you, it is quite a while ago) such as Darrin Pilger, Mike Hand, Michael Hand, and Scott Emberty. With DB there are also several people that did things around the main developments and they are all credited on the DB website. Lately Boris Iwanski has been doing some bug fixes in my absence (due to YAS) for which I am very thankful. For all other projects everyone involved is also credited accordingly on their respective websites. Thanks to all of them for doing their part on the projects!

Also worth mentioning are two other projects that are branched off of Doom Builder which are not made by me: First there is Doom Builder 64 by Samuel Villarreal which is a Doom Builder completely specialized for all the Doom 64 features. And also GZDoom Builder made by MaxED which is specialized for (G)ZDoom and adds 3D floors, light effects, models and a lot more. Thanks to them for picking up my work and making it even more special!

Web site contents Copyright Rex Claussen 2006-2012, All rights reserved.
Web design courtesy of Website templates
Logo courtesy of CoolText.com