.:: Interview with LordHavoc ::.

[Download PDF from here]
[Interview edited 31/03/2007]

>>...How are things ?

Somewhat confusing since I have two main projects...

My main focus at this point is on my new engine DarkWar [no website yet] which is a minimalist engine based on modeled maps which do not require compilation (in stark contrast to Quake), and data-driven game system (spreadsheet describing all the game objects), which is being used for the DarkWar game - a teamplay oriented multiplayer FPS game that introduces some new gameplay concepts such as physics playing a big role in gameplay (and I'm not talking about throwing barrels around :). and is intended to be a complete competitive online gaming experience with tournaments, stats, a clan system, and other features.

>> What form do the maps take ?

The maps are constructed entirely out of entities, most of them static models (such as buildings, terrain, barrels/crates/other props, etc).

I'm trying to take it a new direction, a less traveled path, as there are plenty of 'ordinary' engines out there.

The maps can pick a spreadsheet describing all game objects (effectively, a mod), so one level could be a space battle, another a counterstrike-like mission, another knights fighting undead, it's all data driven.

>> And how is Darkplaces going ?

I still maintain DarkPlaces engine (as I pledged to do on an inside3d.com thread) [no URL available] which is mostly in bugfix mode at this point, I do add features occasionally but that is not my main activity anymore, I still take bug reports and feature suggestions but I no longer take requests (requests are more of a demand than a suggestion, and that gets unpleasant quickly).

Mostly I maintain DarkPlaces for Quake players and Nexuiz players.

On the DarkPlaces front, I must point out that q3map2 and GTKRadiant annoy me to no end, their limitations cage the mind, and their bugs make development all the more unpleasant. And although I'm on the GTKRadiant team I never have time to work on it.

When I make Nexuiz maps I use q3map2 and GTKRadiant only because I have no choice, for Q1 maps I do have a choice but it involves either wine or my spare computer (whose monitor is a blurry CRT), not a pleasant editing experience.

>> How has coding been recently ? It must be a huge effort to maintain your project. What sort of feedback do you get from the community.

Not much feedback from the community; I mostly get emails of thanks or bug reports and questions from former Quake players rediscovering Quake again.

There are really 3 separate Quake communities - singleplayer/coop community, proquake community, quakeworld community.

I mostly get praise from the singleplayer/coop community, along with bug reports of differing physics (tracking down those bugs is not fun sometimes). I mostly get feature suggestions from the proquake community, obviously with competitive gaming in mind. I mostly get ignored by the quakeworld community, which hasn't exactly kept me inspired to maintain the quakeworld support in DarkPlaces.

>> DP has often been criticized for being slow. I recently tested out version 20070110beta1, and found it is faster to startup than my older versions by a factor of around 3 :>. Was there any one piece of code that was the culprit ?

Faster startup? Interesting. I tend to optimize startup time just for reasons of faster and more accurate profiling runs (I get annoyed when I see startup time dominating the profile reports when I'm trying to optimize the renderer).

The main complaints I get about DP on the slow/bloated front are slow rendering ([there is] something about it the drivers don't like, I'm determined to track this down once and for all... as the renderer design is more advanced than Quake3 but it frequently loses to Quake3 by a factor of 2x), slow Nexuiz startup (which is almost entirely the fault of the Nexuiz menu qc doing a ton of work on startup), extremely high memory use (the DP network protocol is nice but it eats a few megabytes per player, so 255 player servers need around 800MB of memory available), or poor netplay (which I improved immensely recently but still needs more work).

>> Quake 1 was put out in a bit of a hurry. In a recent edition of the Australian magazine PC PowerPlay, John Romero gives a candid insight into the game's development. id Software are, in some regards, a technology company. What do you think of the standard of design and programming in the original Q1 game ? ... and Raven Software's Hexen II ?

Quake introduced some very wonderful concepts that are only being 'rediscovered' by the game industry in the past few years as hardware advanced, such as pixel shaders (it had view warping when underwater, swirling water, and an unusual sky system).

Megatexture in ET:QW [Enemy Territory:Quake Wars] and id Software's current game in development has its roots in Quake as well - in Quake the models and maps are all textured at a uniform resolution (an unusual concept even today), contain their own textures (rather than external files like most games before and after it), and the software renderer used some interesting techniques combining mipmapping and lightmapping that resembles a primitive version of megatexture.

The concept of MMOFPS [Massively Multiple Online First Person Shooters] has some basis in Quake, with its slipgates connecting multiple maps that were (according to John Carmack) intended to be run on separate servers simultaneously.

I think the biggest feature that Quake introduced to the masses was internet multiplayer... The web was suffering some serious growing pains in 1996 and here we had the final word in multiplayer indoor FPS gaming, a DOS game using a TCP/IP tunnel to get internet from win95, marvelous technical achievement, and what a game it was, and what a game it still is.

I do not have familiarity with the Hexen II codebase, due to confusing licensing (it contains two different license files and it is not clear which one applies), combined with the more important fact that I don't have Hexen II. :) (I have however played Hexen II in the past, fun multiplayer, singleplayer is initially fun but I think the monsters get too tough later on)

The only reason I maintain DarkPlaces is because I enjoy the Quake game, no other game id Software has made has caught my interest like Quake, ogres and fiends, torchlit dungeons and sewers, magic and modern weapons, signs of recent satanic rituals, creepy powerups (ever notice the ring of invisibility is basically The One Ring from Lord of The Rings? It even whispers :), this kind of world is a rare gem.

>> Icculus.org (Host of Darkplaces web site) is very important for Linux FPS gaming, but at the same time (IMHO) their projects are horribly undocumented, and generally only of beta quality. Can you tell us much about the organization, people and their projects, or even your relationship with them.

A few projects such as Neverball and Nexuiz are quite polished. (note: I'm on the Nexuiz team also)

To call icculus.org an organization is incorrect, it is icculus' personal projects page that grew into a small scale alternative to sourceforge.

icculus used to be a Loki employee before the management ran off with the money, the maintainer of Twilight Project (Mercury) was also a Loki employee, so I was introduced to icculus indirectly by Twilight Project moving from sourceforge to icculus.org hosting.

I must confess that I only know icculus loosely and have little familiarity with the other people involved with icculus.org, so I'm really not the person to ask :)

The people of #icculus.org on irc.freenode.net are an interesting bunch, and Zakk's http://timedoctor.org is frequently amusing :)

I do know however that DarkPlaces is the biggest project on icculus.org in terms of website size (due to years of past versions), icculus informs me this is fine because it's also the most downloaded project :)

>> What OS's do you know DP runs on, and do you personally test on each OS, or do you get some help ?

Linux, Mac OS X (but the Apple drivers are often buggy), FreeBSD, OpenBSD (no OpenGL acceleration), NetBSD (no OpenGL acceleration), Solaris, Windows 95 (not that much else does ;), Windows 98, Windows ME (until the OS bluescreens :), Windows NT, 2000, Windows XP, Windows 2003 Server, Windows XP x64, Windows Vista.

I still need to finish the AmigaOS4 port for AmigaOne computers.

I test on Linux, rarely Windows XP SP2b (I have a spare computer for that), I will be testing on AmigaOS4 when I finish the port someday.

Mathieu Olivier occasionally tests it on FreeBSD, OpenBSD, NetBSD, and Solaris.

All other platforms are tested by the users.

>> What OS's do you use (apart from for DP development) ?

Linux almost exclusively, I have a Windows XP SP2b machine I occasionally play games on (not like it's good for anything else :).

>> On those OS's without GL acceleration (which must run quite slowly I guess), does Darkplaces use pixel mode or software OpenGL. ... Is it possible to build a Linux software client ?

DarkPlaces requires OpenGL due to its ubiquitous support, and the abysmal performance of software rendering in general.

I have written software renderers before and still occasionally kick around the idea of writing a software renderer for DarkPlaces akin to the Unreal one (I.E. full featured, not 1996 graphics) but have not gotten around to it.

>> We talked a little about network security modules. What are your thoughts on closed source security modules that keep springing up?

Security modules seem wrong on so many levels...

They complicate open source development (particularly in the case of compiling your own binaries).

They can always be bypassed, leading to an arms race of more and more aggressive security modules and cheats; for example, launcher programs can modify code in memory before running the game, drivers can be hacked to implement wallhacks or aimbots, and if the server->client network protocol is not heavily encrypted then network proxies can be written to implement radar cheats that run on separate computers, etc. And if the client->server network protocol is not heavily protected then aimbots can be implemented in proxies also.

Most importantly security modules are user-hostile, what ever happened to games being user-friendly?

I believe in securing the network protocol against exploits (for example not sending players behind walls, which reduces network traffic substantially, giving a better play experience) to prevent wallhack/radar cheats, and then letting the user do anything they like with the content (replacement textures, replacement models, there are people who replace these to make the game look better, not to cheat).

Ultimately the real problem is hostile players who want an unfair advantage over their opponents, or are just obnoxious punks, both are equally detrimental to the online gaming experience, and this has nothing to do with security.

The only real way to combat these hostile players is by identifying them, and preventing them from playing alongside the friendly players, this is more a community problem than a technical problem.

>> Any personal snippets you care to tell ? Music ?? Pastimes ?? Employment ?? Home ??

Music: In general I avoid any music with depressing lyrics (especially blues, gangsta rap and most metal). I enjoy: industrial, electronica, ambient, instrumental (except electric guitar), Weird Al (a genre all his own :), orchestral. I do not enjoy: blues, hiphop, R&B, gangsta rap (too grim, yo), nashville country (real country music is alright), metal, rave, noise, triphop, jazz.

Hobbies: growing fruit trees.

Employment: self-employed but rarely working :(

Home: living with my parents on a farm in western Oregon.

>> What's your favourite Q1 mod ?... and what do you think of Raven's Quake IV ?

To be honest I have little interest in Quake IV. As a game designer I've never found Strogg to be interesting enemies, and it doesn't seem to be a very popular game in multiplayer either. However I am looking forward to Enemy Territory: Quake Wars as it looks more innovative, and one of the level designers (Garth 'Zombie' Hendy) is a friend of mine.I'm looking forward to my game DarkWar more than any other game, but it seems like it won't get done this year... :(

Do I really have to answer with just ONE mod? There are so many genres! :)

Favorite Q1 multiplayer mod: Rocket Arena.
Favorite Q1 singleplayer/coop mod: DarkPlaces mod.
Favorite Q1 based games: Feral Flesh (needs expansion!), Prydon Gate (needs more maps!), The Ascension of Vigil (needs more maps!), Nexuiz (I'd like it a lot more without air control however), Transfusion (still waiting for the singleplayer campaign...).

>> Thanks, LinuxQuake.org

Thanks for the questions, and Happy Quaking! :)