[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! :)