Google Powered Search
Web Quake Terminus

c2-1.gif (116 bytes) News c2-2.gif (114 bytes)
Main Page
Old Archive
Netquake Exe's
Configs Files
Console Commands
DM Tips
DM Demos
Quake Movies
Quake Bots
  Main Links  
Leiware - lost mods
Quake done Quick
SpeedDemos Archive
Planet Romero
Methos Quake
  Quake Maps  
Team Shambler
Quake Map Hotel
Ethereal Hell
  Server Mods  
FvF Quake
Rune Quake
  Developers Sites  
Ai Cafe
Qurnel's Warehouse
Happy maps
Metlslime FritzQuake
  Assorted Links    
idgames2 (USA)
idgames2 (Ger)
idgames2 (Master)
Online Name Maker
c1-3.gif (116 bytes) pixel.gif (807 bytes) c1-4.gif (115 bytes)

Interview: RichMark, bot programmer & creator of Quakebot

Quake Terminus: Hi RichMark and thank you for taking the time to do this interview. You are the creator of Quakebot the Netquake & Quakeworld Proxy Bot. A Proxy Bot sits between the Quake client and the Quake server and enhances the player's abilities (i.e., aiming, firing and other functions). These Proxy Bots effectively turn the individual player into a kind of cyborg. Can you explain briefly how it does this?

RickMark: Sure thing. Quake uses a client/server architecture in which the player is the client. Everybody who plays Netquake is familiar with the process of connecting to the server. To get the proxy bot to sit between you and the server is a two step process. First, the proxy connects to the server very much as you would with Netquake. As far as the game server goes, the proxy is the player. The next step is for the human player to start Netquake and connect to the proxy instead of connecting to the game server. Now the proxy is in place to modify the game information sent to you and modify the game information you are sending to the remote game server.

Many proxies can actually play the game completely by themselves if the right command line flags are set. Besides being about to ping spoof, highlight opponents and time item spawning the proxies can project the motion of an opponent and determine the proper lead required to compensate for weapon speed and server lag. It is this enhanced firing ability that is at the core of why some people use them and others hate them.

Quake Terminus: The question everybody wants to ask, is why do you work on Quake proxy bot? Why do you work on something that is designed primarily for cheating?

RickMark: That's two questions...
a) Why work on Quakebot? This answer is simple, it's because I enjoy it. The coding problem is interesting and has forced me to expand my coding abilities. It is a way to learn and improve a useful, employable skill with limited drudgery. Debugging this code is a blast!

b) Why do you work on something that is designed primarily for cheating? ... Uhh, because I had to stop beating my wife? :) Quake comes with standard cheats like "fly" "god" "give" and "quad". My bots are limited by the server as to what cheats are allowed the same as for any other player. The bot does not hack the server, nor violate any games rules. There is no code that in any way impeeds the dataflow to the opponents, such as ping flooding. I work on something that is designed primarily to allow a player to play the game as best as possible. The computer handles the jobs that can be automated and the human's job is to do what the computer can't - THINK!.

Quake Terminus: A lot of people think proxy bots ruin game play on Quake servers. Do you feel any guilt by knowing that you are the cause of that?

RickMark: No, not at all.   Time passes.   Games change.   Get over it.
I don't see that aimbots are as bad for Quake as are Cable or DSL modems have been; but neither of them will kill off Q1. Today if you are on 56K (as I am) without access to broadband, you can't play at 320 ping (against 32 ping) without some assistance. The inherent problem with Netquake and LPB's has been intrinsic to the game since release. Quake just isn't fair, never has been.

Quake Terminus: Some people out are fanatical anti-cheats. Have you been bothered by nutcases trying to flame, flood and hack your computers?

RickMark: I love Q1, and am extremely tolerant of the high emotion of other players. I would not use the term nutcases; but some are a bit over zealous. I view attacks as tests of my defenses, and generally take action only when I feel that the attacker truly does not understand they are committing a felony offense. Last Sunday my Win98 machine was rebooted twice by another player, for example. Big whoop; my attitude is to consider it as being hit by a BFG. I go find the latest Win98 patch and load it. The skilled hackers are out to get copies of my source, not to destroy it.

Quake Terminus: Did you create, and do you update Quakebot alone, or is it a team effort?

RickMark: I started with Terminator by Olivier Montanuy. His code was very informative to read, and I consider my proxy to be an updated version of his last release. My current bot is based on the released source, and as such is my updated version of Quake. The mods I have added are my personal code. I do have about 40 users who have helped with various aspects of the bot over the years, mostly by contributing good ideas and helping with the beta code testing.

Quake Terminus: Not so long ago you expanded your Quakebot range by making a Quakeworld version. Was that difficult, and what has the feed back on this been like?

RickMark: IQW-bot was done by popular demand, for many months it was far and away my most common E-Mail request. The job was not difficult, but it isn't finished yet, either. Feedback has been dominated by bug reports. I never knew there that many TF snipers out there! :)

Quake Terminus: Quakebot is now very advanced for a Quake 1 bot. Have you finished tweaking it, or are there features and tweaks you are still trying to add?

RickMark: Oh, it is never finished. I am not happy with the grapple code (I prefer CTF). The autonomous code is substandard, and needs much more work. Many users want a better item timer display. I want to add lag prediction. As long as get ideas like the new anti-spam chat filter and the name editor from Quakebot users there will always be another version in the works.

Quake Terminus: What one function on Quakebot are you most proud of designing.

RickMark: The lag prediction in V1.6. It may not be my best code, but it is relatively unique in a terminator proxy. Now that the source is released, I expect to improve on it in the Quakebot version when I reintroduce the predict mode. The intent is to have the reduced lag feeling of QW over the Q1 net protocol.

Quake Terminus: What other projects have you worked on?

RickMark: I guess I started modifying games a long time ago; by now I probably have worked over maybe 20 games. Most all are for private consumption only, in that the modified game can not be distributed (as can Netquake) without copyright issues. My favorite was a rework of Commander Keen for my daughter. Changing the monsters, powering up the weapons, modifying the maps and adding cheat keys to suit her whim and fancy was always a challenge. Seeing her face light up was my reward.

Quake Terminus: Tell us a little about yourself.

RickMark: Well, I'm 48; married with two daughters, ages 16 and 13. I grew up in central California and have a PhD in physics from UCSB. I work at IBM in the division that makes hard disk drives in San Jose.

I just love driving my GS 400. :)

I have been playing move and shoot games since I saw my first one on a DEC PDP15. I have watched the FPS games progress from Keen and Duke Nukem to Catacombs 3D to Wolfenstien to Doom to ROTT to Quake 1 to Duke 3D to Unreal to.... a complete explosion of FPS games.

Quake Terminus: Have you been interested in Quake long?

RickMark: At first when it came out I had a 486 machine; so it sat in the box until I got a pentium class CPU. By the time I had a 133 Mhz P1 to play with, bots were already rampant. When I figured out why I "woke up dead" so much playing Netquake against certain other players I did a web search and found much discussion of Stooge and Terminator. I then found the Terminator source... ...and Descent and Duke 3D have been gathering dust ever since.

Quake Terminus: What are your long term plans. Have you got any other projects in the works?

RickMark: As to future game code? I have been recently been asked to write anti-bot code for use on the server side. It seems to me to be an interesting code challenge, in that a proper bot should be indistinguishable from a first rate player. As I know the Bot side of things quite well I suspect writing antibot code into the server side of quakebot would be an interesting change of pace. It would fit my sense of irony to have anti-bot servers running my bot as the game server. :)

Quake Terminus: Thanks for your time.