Kristian Duske began developing TrenchBroom in 2010 to address a specific need: a level editor that suited his workflow as a Mac user. While tools like ToeTag existed, Duske sought a more intuitive experience for creating maps in the Quake engine. He initially built a macOS-specific version using Objective-C and C, but quickly pivoted to a C++ codebase to ensure cross-platform compatibility. Today, TrenchBroom has become a cornerstone of the retro FPS scene, used by indie developers for modern titles like Wrath and GRAVEN, as well as by the Godot game engine community through extensions like Qodot.

The editor's success is attributed to several key technical and UX decisions. Duske emphasizes a 3D-centric workflow, which allows mappers to have more direct control and quicker iteration compared to traditional 2D-heavy interfaces. A significant feature is the use of 'linked groups,' which allow mappers to establish and evolve a design language more efficiently, often resulting in symmetrical map designs. Furthermore, TrenchBroom utilizes the standard textual map format rather than a proprietary one, ensuring that maps can be exported and edited in other tools. This interoperability is a deliberate choice to maintain flexibility for the user.

A 3D level design interface showing the map Neuron Uplink being edited in TrenchBroom.
The TrenchBroom interface provides a 3D-centric workflow for creating complex environments like Neuron Uplink.funcarena.com

This image illustrates the 3D-centric workflow and the practical application of the editor in creating modern retro FPS maps.

A screenshot of the entity editing menu and properties within the TrenchBroom software.
Mappers use the integrated entity editing system to place and configure game objects within the level.funcarena.com

This visual demonstrates the specific tools and menus used by mappers to manage game entities and logic.

Despite its success, the project faces inherent technical challenges, particularly regarding Constructive Solid Geometry (CSG). Duske notes that implementing a perfect CSG subtraction algorithm—one that produces clean symmetry and no unnecessary vertices—is an NP-complete problem, meaning it is computationally intractable for large inputs. Consequently, he opted for a simpler, functional approach. Additionally, the project underwent a major architectural shift in 2020, moving from the wxWidgets framework to Qt. This transition was driven by the need to reduce platform-specific workarounds and improve the maintainability of the codebase, allowing Duske to focus on new features rather than managing 'over-engineered' legacy code. While the tool remains a primary resource for the Quake community, Duske balances its growth by prioritizing features that benefit the core mapping experience over requests from vocal minorities.