Quake .map file support for Godot.
Qodot extends the Godot editor to import Quake .map files, and provides a data-driven framework for converting the entities and brushes contained therein into a custom node hierarchy.
- Natively import
.map
files into Godot and convert them into a usable scene tree - Supports
- Brush geometry
- Textures and customized UVs
- Convex and concave collision volumes
- Gameplay entities
- FGD (Forge Game Data) export for custom game definitions
- Configurable scene population
- Leverages the map format's classname and key/value property systems
- Spawn and configure custom Godot scenes and scripts based on entities defined in the map editor
- Define the visual and collision properties of brush entities on a per-classname basis
- TrenchBroom Integration
- Simple, intuitive map editor with a strong feature set
- TrenchBroom game configurations can be exported for tighter workflow integration
- Nested TrenchBroom groups can be used to build a tree hierarchy from the format's standard flat structure
Assorted props by @SunkPer
Summer Island by @SunkPer
Qodot was created to solve a long-standing problem with modern game engines: The lack of simple, accessible level editing functionality for users without 3D modeling expertise.
Unity, Unreal and Godot are all capable of CSG to some extent or other with varying degrees of usability, but lack fine-grained direct manipulation of geometry, as well as per-face texture and UV manipulation. It's positioned more as a prototyping tool to be used ahead of a proper art pass than a viable methodology.
Conversely, dedicated 3D modeling packages like Maya or Blender are very powerful and can iterate fast in experienced hands, but have an intimidating skill floor for users with a programming-focused background that just want to build levels for their game.
Enter the traditional level editor: Simple tools built for games like Doom, Quake and Duke Nukem 3D that operate in the design language of a video game and are created for use by designers, artists and programmers alike. Thanks to years of community support, classic Quake is still alive, kicking, and producing high-quality content and mapping software alike. This continued popularity combined with its simplicity means the Quake .map format presents a novel solution.
Documentation is available on the Qodot Wiki
The Qodot example content repository contains a Godot project showing off its functionality with a simple .map
file imported into a .tscn
. Installation and usage instructions can be found in its README.
The Qodot extra content repository contains a set of additional resources, such as map editor plugins, logo graphics, showcase content and screenshots.
If you'd like to support the ongoing development of Qodot, a Patreon page is available for the project:
Donations via PayPal are also accepted:
Kristian Duske - For creating TrenchBroom and inspiring the creation of Qodot
Arkii - For example code and handy documentation of the Valve 220 format
TheRektafire - For a variety of useful tidbits on the .map format
Calinou - For making Qodot work on case-sensitive systems
SunkPer - For showcase screenshots
lordee, DistractedMOSFET and winadam - For laying the groundwork of the FGD export and entity scripting systems.
fossegutten - For a typed GDScript pass
Corruptinator - For the idea of using TrenchBroom groups as a scene tree.
grenappels - For implementing smoothed brush normal edge splitting
FreePBR.com - For royalty-free PBR example textures