WORR is an advanced gameplay expansion and standalone engine fork for QUAKE II Rerelease, designed as a drop-in replacement offering a richer, more dynamic and refined single-player and multiplayer experience.
The KEX-dependent server mod variant can be found here: themuffinator/worr-kex
WORR is the spiritual successor to Muff Mode.
WORR is a fork of Q2REPRO, which in turn is a fork of Q2PRO, which itself is a fork of the original Quake II.
The goals of WORR are:
- To act as a drop-in engine replacement for the official Quake II Rerelease assets.
- To provide a modern C++ codebase suitable for long-term development and experimentation.
- To power the extensive WORR gameplay module (and future projects) with:
- Expanded entity and monster support (across Quake titles and mods),
- Competitive and casual multiplayer improvements,
- Modern rendering and UI systems.
⚠️ Compatibility note:
Future engine updates may break compatibility with non-WORR game modules.
Status key: ✅ Complete · 🟡 In Progress · 🔴 Planned
- ✅ Implement a bare-minimum C++ migration, buildable and bug-free
- 🟡 Complete Vulkan renderer (covering GL feature set and compatibility), allow external binary build and renderer selector
- 🔴 Implement a functional bot system – workable in campaigns and multiplayer alike
- ✅ JSON menu scripting
- 🟡 Update GUI to allow for a full range of UI elements
- 🟡 Integrate full FreeType2 support and Quake III color escape sequences
- ✅ Enhance aspect correction / screen positioning to be more robust and correct
- 🟡 Extend / enhance menu selection
- 🔴 Graphical obituaries, chatbox
- 🟡 Website: Basic server browser, user environment, ladder, etc.
- 🔴 Engine: Engine bootstrapper with auto-updater, CDN for asset and update delivery
- 🔴 All: Discord OAuth integration for user management, wired into engine and game module
- 🔴 All: Discord server bot (or alternative) to bridge game server, web backend and Discord
- 🔴 Set up a public game server (NL location to start, ideally)
- 🟡 Depth of field / slow-time
- 🔴 Player outlines (and possibly rim lighting) with team support
- 🔴 Player bright skins with color selector
- 🟡 Shadowmapping, compatible with Quake II Rerelease maps
- 🟡 Motion blur
- 🟡 Revised bloom with modern tone/color correction
- 🟡 HDR pipeline
- 🔴 Split game module into
cgame/gamefor client / server separation - 🔴 Migrate the majority of UI code from the engine into
cgame
- 🔴 IQM model support
- 🔴 Extended BSP support:
IBSP29,BSP2,BSP2L,BSPX
For build instructions, see BUILDING.
This covers:
- Required toolchain and dependencies,
- Configuration options,
- Build targets for the engine and game module.
For information on using and configuring WORR, refer to the manuals in the doc/ subdirectory:
- Client configuration and advanced options,
- Server configuration, match presets and hosting details,
- Notes on compatibility with Quake II Rerelease assets.
scr_font/scr_font_size/scr_fontpath: select TTF/OTF or legacy fonts and pixel height for HUD text.scr_text_backend: choosettf,kfont, orlegacy(bitmap) rendering.scr_text_dpi_scale: override automatic DPI scaling (0 = auto).scr_text_outline: default outline thickness (0 = disabled).scr_text_bg/scr_text_bg_alpha: enable an optional black text background and set its opacity.ui_font/ui_font_size: menu/UI font selection and scale.ui_text_bg/ui_text_bg_alpha: UI-only background fill and opacity.con_font/con_scale: console font selection and scale.scr_text_debug: draw debug outlines around text bounds for troubleshooting.- Style flags available to UI code:
UI_BOLD,UI_ITALIC,UI_UNDERLINE,UI_OUTLINE, plus shadow/color flags.
-
WORR (KEX server mod):
https://github.com/themuffinator/worr-kex -
Muff Mode (legacy project):
https://github.com/themuffinator/muffmode -
Q2REPRO:
https://github.com/Paril/q2repro
See the LICENSE file in this repository for licensing details.
