Giter Site home page Giter Site logo

qodot's Introduction

Quake .map file support for Godot 4.x. For the original Godot 3.x plugin, see Qodot-Plugin.

About this version

Latest Tested Engine Version: 4.2 rc1

Unlike Qodot-plugin, this Qodot repository is currently the official version of the plugin and where active development continues. You can also find the plugin on Godot's Asset Library.

Documentation

We have official Qodot Documentation. The docs are undergoing maintenance, so feel free to ask questions in Issues or the Official Discord.

Overview

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.

Features

  • 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

Showcase

Assorted props by @SunkPer

Summer Island by @SunkPer

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.

Extra Content

The Qodot extra content repository contains a set of additional resources, such as map editor plugins, logo graphics, showcase content and screenshots.

Qodot Elsewhere

Discord - Qodot

Reddit - Qodot

Godot Asset Library - Qodot 3.x

Credits

Josh "Shifty" Palmer - Original Qodot plugin

Hannah "EMBYR" Crawford - Godot 4.x & C# GDScript port & maintainance

Emberlynn Bland - Starting the docs & community support & maintenance

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

qodot's People

Contributors

rhapsodyingeek avatar embyrdev avatar deertears avatar epergo avatar mode777 avatar gwenvis avatar realplanet avatar odecay avatar arran-nz avatar knil79 avatar saikyun avatar notmagu avatar jlahman avatar bytes-ls avatar slowblink avatar thekai64 avatar solarbearcub avatar nikoraito avatar zwische avatar schetle avatar greenfox1505 avatar rburing avatar mrjshzk avatar gelosofederico avatar snakeworks avatar kazetsukai avatar cachorrovoador avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.