Quake2 for Deathmatch HaX0rs

"The fastest way to do something is to not do it." -- Lon Koenig


Initially a fork of the Quake2Forge project, Quetoo aims to be fast, stable, compatible, and secure. The goal is to provide a minimal, speedy Quake2 engine best suited for deathmatch play.

Quetoo is primarily developed on GNU/Linux, and also builds and runs on FreeBSD. Quetoo builds with GNU Automake, and uses Simple Direct Medialayer (SDL) for sound and OpenGL context management. If your platform has Automake and SDL, Quetoo may work for you, as well.

The Details

Since you're probably thinking "Great, yet another cut-and-paste engine," let's clarify some of the points which set Quetoo apart.


In the beginning, I provided 6 security patches to the Quake2Forge project, as Quake2 originally suffered from some serious vulnerabilities to hackers. My patches are sitting in Quake2Forge subversion, but the project is, well.. dead. Forking my own engine seemed like the most straightforward way to get these fixes to the public.


After deciding to fork my own project, I realized that I could remove a lot of features that I don't really care for. This would mean less code to maintain and, hopefully, better performance. My main goal became to strip the Quake2 renderer down to its very core, but maintain backwards compatibility with all original game media.


R1Q2 Protocol 35 support, as well as Quetoo-specific protocol extensions, are in place to save bandwidth. High color Targa images are supported for all models, status bar pics, and world textures. Location file (.loc) support allows you to alert your team mates to your position. Mono (white) lightmap interpolation optionally provides neutral world lighting for higher visibility in pro and tournament deathmatch play. A transparent netgraph, friendlier console, smarter sound mixing, and some less-busy combat effects are all there too. Take a moment to digest the README and familiarize yourself with Quetoo's features.


You even get an optional deathmatch mod which provides a powerful level rotation scheme and can log frags to a MySQL database like this. Voting, alternate gameplay modes, team play, and an optional Lithium II style grappling hook are also available. Full documentation for the mod lives here.


So how do you make Quake2 faster? A lot of ways. A smarter gl_ztrick is a good start. I've also removed all dynamic lighting (no, this is not the same as gl_dynamic 0). Animated explosions have been replaced with simple particle effects. Shadows are gone. Particles are 30% faster. A hundred other things have been tweaked or trimmed. Here are some benchmarks for you:
System: XP2500m, Linux, ATI Radeon IGP
Benchmark: timedemo 1; demo1.dm2


Who would download a game engine without first seeing some obligatory screenshots? These shots actually show off the unfinished Retexture project, which you are free to preview.


The current stable release is 0.6.0. There are two distributions. The standard distribution should be suitable for clients, while the full distribution contains additional game modules which may be helpful to server administrators.

Standard Distribution

  • quetoo-0.6.0.tar.bz2 Mirrored by Tastyspleen.net
  • quetoo-0.6.0.tar.bz2 Local Mirror
  • Full Distribution

  • quetoo-0.6.0-full.tar.bz2 Mirrored by Tastyspleen.net
  • quetoo-0.6.0-full.tar.bz2 Local Mirror

  • To get the most out of this engine, I very strongly recommend viewing the Wiki Page as well as the README.


    For help building or running Quetoo, you may join us in #quetoo irc.freenode.net, or you may subscribe and post to the mailing list. More information is available on my Quake page.


    Quetoo is one of the few game engine projects which encourages involvement from the entire community. You are free to browse the source code and create tickets on the Trac installation. Subversion write access can be arranged for those who wish to contribute on a regular basis.

    The Boring

    Quetoo is available under the GPL. Do with it what you will. I would appreciate feedback and improvements if you have any to offer.