Quest - a 3d map editor

About - News - Downloads - Documentation - Contact - Bug list - Mailing lists - Development


Latest stable version:
 Quest v2.4

Alexander Malmberg <>

SourceForge Logo

This page is a bit out of date.

Quest is an editor for the games Quake and Quake 2, by id software. It also supports other games using their engines, like Hexen 2. Quest was originally written by Chris Carollo and Trey Harrison back in '96, and after they stopped working on it, I (Alexander Malmberg) continued working on it.

Quest is distributed under the GNU General Public License, and therefor comes with the full source code.


Quest features as of v2.3. The list is probably incomplete.

Main features

  • Full support for Quake, Quake 2, Hexen 2, and other games based on these engines.
  • Customizable entity description files, so it's easy to add support for mods. Includes entity sets for standard Quake, Quake 2 and Hexen 2, Quake 2 CTF, Rocket Arena 2, and AirQuake 2.
  • Four 'working modes': brush, face, entity, and model mode. This allows you to concentrate on each individual aspect of creating your map without other stuff cluttering the display.
  • Three individually controllable viewports, with several display modes:
    • 2d wireframe.
    • 3d wireframe.
    • Z-buffered polygon.
    • Grey shaded (BSP).
    • Solid colored (BSP).
    • Fast texture mapped (BSP).
    • Perspective correct texture mapped (BSP).
    With a hidden, popup menu, you have very much space left for the viewports (at 1024x768, the viewports cover ~1020x660).
  • Loads and saves standard .map files, including .map files with floating point coordinates.
  • Ability to compile maps and run Quake/Quake 2 from within Quest.
  • Optionally uses a new map format, featuring:
    • Faster loading.
    • Smaller files.
    • No vertex drifting.
    • Text format, can be edited with any text editor (just like the old map format).
    • There is a version of qbsp3 that can read this new format, so you don't have to convert it to the old format before compiling.
  • Loads .pts and .lin files created by qbsp/qbsp3 so you can easily find leaks.
  • Group system, hiding the parts of the map you aren't currently working on, thus making Quest run faster.
  • 'Temporary' group system. You can hide everything but the stuff you currently have selected so you can edit them without other stuff getting in your way.
  • Complete, multi-level undo system.
  • You can have multiple maps open at the same time.
  • Customizable keyboard 'bindings'.
  • Clipboard, you can copy and paste brushes, entities, and models.

Brush features

  • Powerful brush editing. Move individual vertices or groups of vertices from one or many brushes, allowing you to create any shape you want to.
  • Mirror, rotate, and scale brushes.
  • Snap a brush or individual vertices to the grid.
  • Cube, prism, and room primitives.
  • CSG subtraction and intersection.
  • CSG make hollow and make room.
  • 3-point clipping plane.
  • Brush welding (combine two brushes).
  • Ability to 'draw' any valid 2d shape and have Quest extrude it for you.
  • Automatically combines vertices and removes edges and faces.
  • Split faces and edges.
  • Texture locking. The textures on the brushes will stay aligned when you move, rotate, mirror, stretch, and otherwise edit the brush (within qbsp's limits).
  • Consistency checker catches many errors in the map.

Face features

  • Change textures on individual faces, either one by one or many at once.
  • Powerful dialog that allows you to align the texture on a face, or many faces in the same plane.

Entity features

  • Powerful entity editor. Allows you to edit any key/value pair, and optionally helps you edit some (classname, origin, _color, noise, spawnflags). It's also easy to edit several entities at once.
  • Moving entities with brushes causes all brushes attached to the entity to move too.
  • Loads and draws .mdl and .md2 files for entities directly from .pak files or from individual files.

Model features

  • Draws arrows to indicate target/pathtarget/killtarget-targetname relationships.
  • Automatically manages target/targetname:s for you.
  • Helps you maintain teams (Quake 2).
  • Editing models are easy, and can be done just like editing other entities.

Texture features

  • Fully customizable texture category system.
  • Fullscreen texture picker with bookmarks.
  • Loads texture from .wad files (Quake) or .pak files (Quake 2). Also loads individual .wal files (Quake 2).
  • Texture cache system that hides textures you don't want to use (Quake 2).
  • Automatically removes duplicate textures (Quake 2, precompiled list).