FnQ3 is a modern source-port for Quake III Arena built around a simple goal: enhance the modern Quake 3 experience whilst leaving the game code untouched.
- A flexible display pipeline with renderer selection, fullscreen and windowed mode controls, internal render scaling, HDR, anti-aliasing, and detailed bloom tuning. See the Display Guide.
- Configurable cel shading for model entities, including map world models, player models, and the first-person weapon, with banded lighting and optional silhouette outlines. See the Display Guide.
- Optional player highlighting with rimlight and stencil border effects, per-mode team or free colors, and teammate/enemy override colors. See the Visuals guide.
- Flexible 4:3-aware aspect correction for HUDs, menus, UI model widgets, and cinematics, with sensible widescreen options when you want them. See the Aspect Correction guide.
- Enhanced console functionality, including configurable scaling, smoother scrolling, mouse interaction, text selection, drag and drop, and an optional live tab-completion popup. See the Console guide.
- An expanded screenshot system with pattern-based naming, optional view metadata sidecars, watermark compositing, and OpenGL cube-map capture. See the Screenshot guide.
- CPMA/CNQ3-style rainbow text color escapes, with live preview right in the console input line.
- SDL3 support for video, audio, and input on modern platforms.
- OpenAL is the default audio backend, with device selection, spatial reverb, occlusion, and an easy fallback to the original mixer. See the Audio guide.
- Compatibility support for Quake III Arena 1.17
.dm3demo playback alongside standard retail.dm_XXdemo formats. - Compatibility support for older Quake 3 IHV / q3test
IBSP v43maps alongside standard retail Quake III Arena BSP content. - Quick-and-simple compatibility support for Quake Live
IBSP v47BSPs, including ignored advert data andadvertisemententity fallback tofunc_static. - Support for the
novlcollapseshader keyword used by Quake Live materials. - Support for Quake Live BETA encrypted
.pk3archives alongside normal ZIP-based Quake 3 content packages. - Compatibility support for Quake II
.pakarchives, including archive discovery, reading, seeking, and pure/download path handling alongside standard Quake 3 packages. - Compatibility support for Quake II
.waltextures, with automatic palette loading frompics/colormap.pcxduring decode.
- CPMA/CNQ3-style rainbow text color escape support is adapted from the CPMADevs CNQ3 project.
- IBSP v43 / Quake 3 IHV map loading support is adapted from Spearmint's
bsp_q3ihv.cimplementation. - Legacy
.dm3demo compatibility work was cross-checked against WolfcamQL. - Quake Live BETA encrypted PK3 support uses the XOR table published by Luigi Auriemma's qldec (
quakelivedec.c). - Quake II
.pak/.walcompatibility work was cross-checked against the DarkMatter-Q2 project. - Upstream Quake3e upon which this is based.
- Build the engine for your platform, or grab a packaged build if you already have one.
- Put the executable next to your Quake III Arena installation and data files.
- Leave your original retail game assets alone.
- Use BUILD.md if you need the platform-specific build steps.
- Tagged releases use semantic version tags such as
v0.1.0. - Nightly packages follow current mainline work and include the incremented build version, build date, and commit in the archive name.
- Build Guide if you want to compile FnQuake3 yourself.
- Display Guide for renderer choice, video modes, render scaling, HDR, anti-aliasing, and bloom tuning.
- Visuals Guide for player highlighting and the current visual presentation controls.
- Aspect Correction Guide for HUD, menu, and cinematic presentation options.
- Audio Guide for backend selection, volume, music, spatial audio, and sound debugging tools.
- Console Guide for console scaling, interaction, completion, and appearance.
- Screenshot Guide for capture commands, naming patterns, view metadata sidecars, watermarks, and cube-map export.
- Technical Notes for maintainers, release flow, and repo conventions.
- Agent Guide for automation rules and local repository references.
- Full compatibility with retail Quake III Arena and its demos.
- Speed and efficiency.
- Enhanced modern platform support.
- Cross-platform support, with other platforms considered.
Current tracked base version: 0.1.0
Current build version: 0.1.0