Skip to content

sepehrij/Qodot

 
 

Repository files navigation

Qodot

Quake .map file support for Godot.

Image Heading

Overview

Qodot extends the Godot editor to import Quake .map files, and provides an extensible framework for converting the entities and brushes contained therein into a scene-based node hierarchy with custom properties.

Features

  • Natively import .map files into Godot
  • Supports
    • Brush geometry
    • Per-face textures and customized UVs
    • Precise trimesh collision
    • Entities with arbitrary collections of parameters
  • Extensible tree population
    • Leverages the .map format's simple key/value property system
    • Spawn custom entities and brushes
  • Supports the TrenchBroom editor
    • Simple, intuitive map editor with a strong feature set
    • Includes a simple Qodot game preset
    • Can be built upon with game-specific entities and brush properties

Thesis

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

Documentation is available on the Qodot Wiki

Example Content

The repo contains an example project with a simple .map scene imported to a .tscn.

In order to open the example map in TrenchBroom, it will need access to the Qodot game configuration as specified in the TrenchBroom wiki page.

Qodot Elsewhere

Discord - Qodot

Reddit - Qodot

Godot Forums - Qodot

Godot Asset Library - Qodot

Shifty's Twitter

Credits

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

Redhacker2 - For stress-testing Qodot to within an inch of its life and motivating me to improve it

FreePBR.com - For royalty-free PBR example textures

About

Quake .map support for Godot.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • GDScript 100.0%