|
|
 | | | I recently sat down to talk with Quest, maintainer of the FrikBot Resource Depot, author of RandomSpiral and greatest friend a boy could have, and with a rather obscure engine programmer named LordHavoc. Let's see what they had to say. Quest's statements will appear in black, LordHavoc will appear in Forest green.
FrikaC: What made you decide to start working on a Quake engine after the source release?
Quest: I've never even looked at the engine code...
LordHavoc: My mod DarkPlaces (an informal title I gave to my quake episode in development) had been constrained by engine limitations, mainly by the number of objects allowed in the world (I love shell casings and gibs :)
So I waited about 1 month after the Quake source release (which was around December 1999) and hoped to find a wonderful modder-friendly engine, but was disappointed, I only found simple hackish projects such as QER (which although not a bad tutorial source was not really modder-oriented or well designed), so I started my own out of necessity (this is also how I got into game programming at an early age - I had game designs in my head, and found myself making every aspect of them because I could not put together a team).
FrikaC: Where do you think you'll take the DarkPlaces engine next?
Quest: A new menu system would be nice, with mouse support.. Are you sure you dont want to do this for Lord Havoc?
LordHavoc: I've never had any firm goals for DarkPlaces engine, it grows as the need arises, one somewhat peculiar request has been closed source licensing of the engine by indie devs and small studios, which I have been unable to do because I've lost contact with some of the DarkPlaces contributors (a rewrite of their code would solve this).
Additionally very little of id Software's code remains, so I have been considering cleaning the engine code quite thoroughly to allow closed licensing to indie devs without the $10,000 Quake license fee. But this is really not in the spirit of the GPL, it would be simpler if publishers were not so wary of GPL-licensed engines.
FrikaC: What's the overall aim of dpmod, in your opinion, what are you trying to achieve?
Quest: If deathmach 7 is any indication its to paint maps red with blood stains.
LordHavoc: The only real goal of dpmod is to make Quake more entertaining to play. It features many subtle changes to Singleplayer, Coop, Deathmatch, and even includes Capture The Flag (without maps however).
Originally it was aiming to be a new Quake episode for singleplayer/coop/deathmatch, but due to a severe case of the dreaded 'mapper's block', I never finished any maps for the episode. However it has always been my playground for gameplay experiments, analyzing that elusive quality known as 'fun' which is sometimes missing from games.
FrikaC: Many games (Nexuiz, Darsana) have come out for DarkPlaces. Are the demands of these games often in conflict with making DP a Quake Engine?
Quest: You can never please everyone so you might as well please yourself. Wait that didn't sound right..
LordHavoc: 3D games have not really advanced much beyond Quake on the technical side, they all need models, textures, sounds, networking and other basic services. Almost all conflicts lie in the user interface side of an engine (menu system, heads up display, console commands, chat features, etc), and the very Quake-centric QuakeC virtual machine (the scripting system used for game behavior) is always an interesting point of debate, both for its limitations and its features.
Unfortunately many game programmers outside the Quake community do not fully appreciate the power of the QuakeC language for describing game logic and wonder why it has not been replaced with a more widely known language such as C/C++ or Lua, which are actually poorly suited to the specific needs of game logic and low-level features such as savegames. As an example, the entire QuakeC virtual machine state can be dumped to a file (savegame), as well as being interrogated and debugged easily while in the game, these are uncommon features for most languages.
There has been a recent movement in the programming community toward application-specific programming languages (often as LISP dialects), these languages are designed to make complex-but-common operations very easy (for example a database application only needing a one line statement to query a database, or prompt the user for input). QuakeC is one such application-specific language, suited to describing the basic flow of Quake gameplay.
FrikaC: What do you think is the most underused feature of DarkPlaces?
Quest: readme.txt
LordHavoc: That's really rather game specific - in the domain of Quake mods I would say the server, very few people host servers using DarkPlaces, and even fewer develop multiplayer mods that make use of the DarkPlaces features.
In the case of Nexuiz I would say the most underused feature is per pixel lighting and shadowing as many lowend cards are simply not suitable for its use in a competitive game.
FrikaC: You were recently hired to work on Torque, how did they find you and how is that working out?
Quest: With an engine like DP it'd be hard not to be noticed. He's getting paid to code, I'm sure he's in bliss (his native language must be some form of C, with english a close second)
LordHavoc: Contracted, not hired (as of yet), unfortunately they did not find me, I simply asked a friend I worked with previously who now works at GarageGames if I could get an interview, and it went well, but almost no one there seems to know anything about DarkPlaces, Nexuiz, or anything else I've worked on, it's rather sad.
I do not directly have an interest in Torque, rather I want to develop better tools for making games, and figured that working on art tools (and related things) for a company which is quite familiar with the indie game development community would be a good experience, as I have a direct interest in helping out indie game developers.
FrikaC: What's the main difference between working on Torque and Quake?
Quest: One's paid? How many more questions? I need to pee.
FrikaC: Just a few more.
LordHavoc: The main difference is the culture of the amateur indie development community, it's somewhat fascinating to me seeing all these people so interested in making games that they are willing to spend money on engine licensing, tools, and sometimes premade content packs (which is definitely cheaper than paying a modeler to make similarly high quality models).
Where as in the Quake community most people are far more dedicated and skilled but spend their time either playing around or trying to build a portfolio to get hired by the mainstream game industry, it's really quite a striking contrast between the amateur standalone game developers and the professional but jobless modders.
FrikaC: Is there an advantage you can see in Torque that Quake doesn't have?
Quest: Torque has lens flares. Its something every game should have.
LordHavoc: Torque at its heart is a terrain engine, and in the right hands it can be a very capable outdoor game engine or a very poor indoor game engine, where as quake does indoor very well and outdoor very badly.
That said, level editing tools are a major weakness of Torque, it is relatively easy to make a wonderful looking Quake-based level, where as Torque Game Engine levels always have a very simplistic look to them due to the difficulty of making buildings to go along with that wonderful terrain, and the lighting never matches up.
Note: Quake map editors are used to make buildings for Torque game levels.
FrikaC: What's DarkWar?
LordHavoc: DarkWar is a multiplayer teamplay FPS game I am developing with a group of friends, it also has its own from-scratch engine (unrelated to DarkPlaces) which is designed to make professional looking games easier to develop by employing entirely modeled levels (similar to PainKiller) and per pixel lighting.
The design for the DarkWar game itself began in 2002 and has been redesigned repeatedly ever since, but hopefully the design will stabilize at some point. It is to be a completely GPL (like Nexuiz) open source game with some interesting online services such as clan management and tournaments.
The DarkWar engine is very minimalistic, leaving most of the functionality of the game up to the game code, which means the engine is just as well suited to a Tetris game, realtime strategy game, or MMOFPS, it's mostly a hardware interface layer to let developers focus on developing unique games, not fitting their idea to an engine.
FrikaC: Any final words?
Quest: Where's that cookie you promised me?
LordHavoc: I wish game development was easier, I have a whole stack of game designs lying around and am still struggling to get the first one done (DarkWar). Life is hard as a game programmer, but from what I have observed it's even harder as a modeler. In my opinion there are no good modeling tools at this time, only various flavors of mediocre, which with a lot of time, luck, and ingenuity can be used together to make increasingly realistic art that gets increasingly little respect from the average FPS gamer.
The game industry is nearing a breaking point where it simply isn't worth spending so much money on yet another generic shooter (which usually started out as something unique but turned into something mundane when it came time to make the pitch to a publisher). The future will be interesting, as always.
Back To Table of Contents
|
| |
| |