The modern way to play PREY.
An open-source engine and game-code replacement that runs the original 2006 game on today's Windows and Linux PCs.
Quick start · Features · Platforms · Guides · Help · Build from source
openPREY replaces PREY's engine and game binaries with its own: a GPL engine built on openQ4 and a source-available game module built from the PREY SDK. Your original campaign and multiplayer maps load from the retail game files, now with modern window and display handling, a choice of OpenGL or Vulkan rendering and one game module for single-player and multiplayer.
Note
openPREY does not include any PREY game data. You need your own copy of PREY (2006), from the original discs or another legitimate source.
Important
openPREY is in early development and has no release yet. Representative campaign maps, save/load and a two-client multiplayer session have been played on it, but full campaign completion and multiplayer parity aren't claimed. See release status.
Until the first release, you build openPREY yourself:
- Install PREY (2006). Leave it where it is; openPREY keeps to its own folder.
- Build and stage openPREY with BUILDING.md. The staged package lands in
.install/. - Launch
openPREY-client_x64(.exeon Windows) from.install/. - openPREY finds your PREY install on its own. If it doesn't, launch with
+set r_fullscreen 0 +set fs_basepath "C:\path\to\Prey", pointing at the folder that containsbase, not atbaseitself. See If auto-detection fails.
Tip
Don't copy retail .pk4 files into basepr/. That folder is for openPREY's own files.
The Releases page still lists nightly builds from April 2026. They predate openPREY's move onto the current openQ4 engine and don't match this README.
What the current code does:
- 💿 Finds CD-era installs. openPREY checks the folder it starts in, the Windows registry (install keys, App Paths and uninstall entries) and the usual install folders such as
Human Head Studios\Preyand2K Games\Prey. It doesn't depend on Steam or GOG. On Linux it looks in~/Games/Prey. - ✅ Checks your game files. Startup confirms the official base packs are present. The consolidated retail layout is checksum-verified; CD-era numbered packs are checked for presence until their checksums are recorded.
- 🎮 One module for every mode. A single
game_x64module, built from the PREY SDK, runs single-player and multiplayer. - 🖥️ Modern window handling through SDL3: windowed, borderless, desktop fullscreen and exclusive fullscreen, monitor selection with
r_screen, and aspect ratio and FOV that follow the render size. Linux runs native Wayland or X11. - 🎨 OpenGL or Vulkan. OpenGL is the default and matches PREY's original interaction stages. The Vulkan renderer (
r_renderApi vulkan) reaches gameplay in focused tests but isn't at full parity yet. - 💡 Baked light grids add indirect light to portal areas: bake them, inspect them and switch them on. See Light Grids.
- 🤖 Multiplayer bots (experimental): a cast of bot characters on PREY's own artificial player, each with a fighting style and chat. Retail maps ship no bot navigation, so bots fight what they can see and don't plan routes. See the bot guide.
- 🧪 Inherited from openQ4, not yet checked against PREY: shadow maps, cel shading, DDS texture replacements, controller support with a Steam Deck profile, performance presets with Auto-Detect, and the level-load cache. Their guides are below.
The rebase status ledger records what has been ported and how each piece was tested.
Active CI builds Windows x64 and Linux x64 on every push. No packages are published yet: the Windows installer, Linux AppImage, ARM64 and macOS lanes inherited from openQ4 are switched off until they're rebuilt around basepr/ and the unified game module. See release status.
| Platform | State | Notes |
|---|---|---|
| Windows x64 | Built in CI; most runtime testing happens here | Windows 10/11 recommended |
| Linux x64 | Built in CI | A modern 64-bit desktop, comparable to Ubuntu 24.04 or newer. SDL3 picks Wayland or X11; set OPENPREY_FORCE_X11=1 to force XWayland |
| Steam Deck / SteamOS | Launcher in Linux builds | Run openPREY-steamdeck; inherited from openQ4, not yet checked with PREY. See the Steam Deck guide |
| Linux AppImage | Not produced yet | tools/build/package_linux_appimage.py is rebranded for openPREY (x86_64 and aarch64 names), but nothing runs it until the release lane is rebuilt |
| Linux ARM64 | Not supported yet | openQ4's ARM64 lanes are switched off until they're rebuilt for openPREY |
| macOS | Not supported yet | The build files cover macOS hosts, but CI doesn't build or test it and there's no package |
| Windows ARM64 | Not supported yet | Switched off, as for Linux ARM64 |
You'll need a 64-bit CPU, a graphics driver with OpenGL ARB2-era vertex and fragment program support, and PREY (2006)'s retail base/ files. Details are in Getting Started.
Start with release status: what works today and what isn't claimed yet. Most other guides describe engine features carried over from openQ4, and each one says where PREY testing is still pending.
Set up
- Getting Started: install layout, platform notes and what to do if auto-detection fails
- Client Settings: where the most useful options live
- Display Settings · Input Settings · Gameplay Settings · Steam Deck
- Virtual Reality (not yet checked with PREY) · macOS Support Data (macOS isn't supported yet)
Play
- Multiplayer Networking (experimental) · Multiplayer Chat
- Multi-View Demos: why MVD recording and playback are unavailable for now
Look and feel
- Shadow Mapping · Light Grids · Cel Shading
- Temporal AA and Dynamic Resolution · Advanced Screen-Space Lighting (both experimental)
- DDS Texture Replacements · PBR Materials · Level-Load Cache
Host and create
- Server Setup · Server Security
- Map Entity Strings: for mappers and modders
- openPREY runs the official retail PREY (2006) assets with its own engine and game module.
- Mods built for the original proprietary PREY game DLLs won't load.
- For multiplayer, use matching openPREY builds on every client and server.
- openPREY is in early development: compatibility work is ongoing.
- Something broken? Open an issue with your setup details and a log: launch with
+set logFile 2, reproduce the problem and attach theqconsole.logit writes to your save folder. - Crashed on Windows? Attach the log and minidump from the
crashes/folder beside the executable. - Building on a Mac? macOS isn't supported yet, but the macOS support-data guide shows what a useful report contains.
- Want to chat? Find us on the DarkMatter Discord.
- BUILDING.md: build openPREY on Windows, Linux and macOS hosts
- TECHNICAL.md: compatibility status, file layout, configuration and dependencies
- AGENTS.md: project rules, including the licence boundary between engine and game code
- Source layout: where new code and vendored libraries go
- The rebase plan: how openPREY moved onto openQ4 and adapts upstream engine changes
- Platform support: what each platform needs before openPREY claims it
- CONTRIBUTING.md: project conventions for pull requests
themuffinator leads openPREY's development, with stewardship from DarkMatter Productions. openPREY stands on Human Head Studios' PREY and its SDK, and on the openQ4 engine, which brings the work of everyone credited there with it.
Full credits and third-party software
- themuffinator: openPREY development and maintenance; author of openQ4
- DarkMatter Productions: project stewardship and website
- Human Head Studios: PREY (2006) and the PREY SDK that openPREY's game module is built from
- openQ4: the engine openPREY is built on; its engine history is merged into this repository
- Emile Belanger (emileb): original author of the Android port, SigmaTouch integration, OpenGL ES 3.0 renderer, GLES shader variants, ETC2/EAC compression and associated mobile work, carried into openPREY with the openQ4 engine; see CONTRIBUTORS.md and the integration record
- Justin Marshall: Quake4Doom and early BSE reverse-engineering reference work
- Daniel Gibson and the dhewm3 contributors: cinematic JPEG handling inherited through Quake4Doom and openQ4, and the
dds/texture-replacement naming convention openPREY follows - Robert Beckebans: renderer modernization reference work, including RBDOOM-3-BFG inspiration
- id Software's official Doom 3 and Doom 3 BFG source releases: retained idTech 4 source lineage; see the source-provenance inventory
- id Software and Raven Software: idTech 4 and the Quake 4 codebase behind openQ4
- Ronald Rivest and RSA Data Security, Inc.: the MD4 Message-Digest Algorithm behind the PK4 compatibility checksums; notice
- The RmlUi Team, CodePoint, Shift Technology and contributors: MIT-licensed layout library behind the engine's retained interface; licence notice
- Baptiste Lepilleur and the JsonCpp authors: JSON parser for the retained interface's source files, used under its MIT option; licence notice
- Mikko Mononen, Eric Veach and the libtess2 contributors: SGI-B-2.0 polygon tessellator for the retained interface's vector shapes; licence notice
- Sam Lantinga and the SDL contributors: cross-platform window, display and input support; SDL uses the zlib licence
- Chris Robinson and the OpenAL Soft contributors: the OpenAL runtime bundled with Windows builds
- Xiph.Org Foundation: libogg and libvorbis audio codecs
- Sean Barrett and the stb_vorbis contributors: MIT/public-domain Vorbis decoding
- The GLEW team: OpenGL extension loading
- The Khronos Group and glslang contributors: GLSL-to-SPIR-V compiler used by the Vulkan renderer; licence notice
- The Khronos Group, Valve Corporation and LunarG: Apache-2.0 OpenXR loader and headers carried with the engine; licence notice
- The Khronos Group: MIT-licensed OpenGL ES API headers, with their original notices retained; licence notice
The openPREY engine is licensed under the GNU General Public License v3.0. Files that keep Doom 3 or Doom 3 BFG Edition headers also keep their upstream notices and Additional Terms; the source-provenance inventory records their scope and lineage.
The game code in src/game, src/Prey and src/preyengine is derived from the PREY SDK and remains under Human Head Studios' SDK EULA. LICENSING.md explains each component's terms, including the open question about distributing them linked together. PREY's game assets remain the property of their rights holders and are not included.
openPREY is an independent project and is not affiliated with, endorsed by or sponsored by Human Head Studios, 2K, Bethesda, ZeniMax Media, id Software or Raven Software. PREY is a trademark of ZeniMax Media Inc.
Website · Releases · Issues · Discord · Back to top