Half-Life, reimplemented in QuakeC

An open-source QuakeC reimplementation of Half-Life’s entities, weapons, monsters, and gameplay for DarkPlaces and FTE-derived engines.

v0.1
In development
TBD
Release date
QuakeC
Language
Zircon
Primary engine
Review
License status

The Project

Libre-life is an experimental QuakeC project that aims to recreate Half-Life-style gameplay on Quake-derived engines. The project is trying to be something more than just a total-conversion "Half-life on Quake" mod. It is an open-source game framework that allows developers to build new games using classic Half-Life mechanics together with relatively more modern rendering, UI systems and expanded mapping capabilities.

Currently Libre-life (v0.1) will be released as a Half-Life modification, because even though I wrote most of the project from scratch, I did look at the Half-Life SDK source code during development. At this time, as a solo developer without a proper knowledge of legal matters, I cannot guarantee the legal status of the code itself or the legality of using the Lambda logo. I will clarify the project's legal status and license with a legal specialist shortly.

The immediate goal is to make Half-Life maps and basic gameplay systems function well enough for testing. The current build is partly playable, requires a legally obtained Half-Life installation, and has incomplete animation, sound, multiplayer, and compatibility work.

The long-term goal is a small standalone game with an original campaign, freely redistributable assets, multiplayer, open tools, and practical mod documentation. Scope, quality, schedule, and licensing may change as development continues.

Development Goals:

Current State

There is no active public release. Version 0.1 is being developed with no confirmed release date.

Playable content

  • Quake 1 — full ID1 BSP support, the original episode playable on the Half-Life inventory
  • Half-Life: Hazard Course — start to finish
  • Half-Life: Uplink — start to finish (Valve's freely-distributed demo campaign)

Weapons

  • All Half-Life weapons: Crowbar, Glock, Python, MP5, Shotgun, Crossbow, RPG, Gauss, Egon, Hornetgun, Handgrenade, Tripmine, Satchel, Snark.
  • Driven by a single weapon-metadata registry
  • Accurate to original behavior, with the unnecessary cruft trimmed

Monsters & AI

  • Scientist, barney, headcrab, houndeye, alien slave, bullchicken, snark, ichthyosaur, gargantua, turrets and more
  • The full Quake 1 bestiary
  • info_node navigation graph with pathfinding (monsters route around geometry instead of stalling on walls)

Entities & rendering

  • Doors, plats, trains, triggers, buttons, breakables, chargers
  • env_* effects, scripted_sequence / scripted_sentence, multi_manager
  • The Half-Life USE-callback dispatch model
  • Half-Life rendermode / renderamt / rendercolor

UI

  • Extended VGUI-style client UI library
  • Windowed, composable HUD and menu primitives
  • Native widgets similar to IMGUI library

Known limitations

  • Sound effects lack reverberation and spatial effects
  • The animation system still has known problems
  • Client-side prediction for multiplayer is incomplete

Libre-life is a hobby project and an active experiment. The final result may remain rough in places. Planned features can change, and the project should not be assumed to have the polish or support of a commercial release.

Roadmap

These milestones are development gates rather than promised release dates. A milestone is complete only when its listed outcomes have been tested and documented. Version 1.0 is projected for December 2027, but it will move if the content, platform, quality, or licensing requirements are not met.

Version 0.1
Current // Release TBD

Basic development milestone

  • Load Half-Life maps and support basic gameplay
  • Load Quake 1 maps and feature full gameplay
  • Provide adequate documentation for the core systems and tools to contribute to development
  • Track known animation, sound, and multiplayer prediction problems
  • Begin source and asset provenance review
Version 0.2
Target late 2026

Foundation review

  • Stabilize crashes, core maps, player systems, weapons, entities, AI, saves, and map transitions
  • A working original Half-Life 1 campaign that can be played from start to finish without using console commands.
  • Address the highest-impact animation, audio, and client prediction defects
  • Remove or isolate source files that do not pass provenance review
  • Provide a system for contributing to the development process
Version 0.5
Target first half of 2027

Original-content alpha

  • Build a 30 to 45 minute campaign slice with a new story and redistributable assets
  • Demonstrate two to four player cooperative play and one Deathmatch mode
  • Provide a basic set of GUI tools for the developers
  • Produce Windows and Linux development packages plus an Android smoke-test build
Version 0.9
Target second half of 2027

Content-complete beta

  • Complete the planned two to three hour original campaign
  • Replace all Valve game data with original or verified redistributable content
  • Complete campaign cooperative play and three original Deathmatch arenas
  • Finish controller support, visual tools, documentation, and platform release candidates
Version 1.0
Projected December 2027

Standalone release gate

  • Ship the complete original campaign for solo play and two to four player cooperation
  • Ship three tested Deathmatch arenas
  • Provide Windows, Linux, and Android packages
  • Support keyboard, mouse, controller, joystick, and Android controls
  • Distribute no Valve assets and use verified free replacements
  • Publish the source assets, mod templates, build files, and complete documentation
  • Release only after provenance review finds no unresolved licensing or redistribution issues

The 1.0 goal is a free development ecosystem containing the game source, redistributable source assets, build scripts, tools, mod templates, attribution records, and reproducible release manifests. It is not a guarantee of commercial production quality or a guarantee that every planned feature will be completed on schedule.

Screenshots

Gauss gun's latest stretched across a dark concrete tunnel
Gauss gun and laser beam with Half-Life weapon logic and DarkPlaces lighting
Chthon, the Quake lava boss
Running Quake 1.5 episode using the Half-Life inventory
Headcrab
Headcrabs!!!
Black Mesa laboratory interior with ceiling lights and lab benches, MP5 held in first person
HUD and Damage Indicator
Half-Life locker room with named lockers and benches, crowbar held in first person
Real-time shadows
VGUI-style main menu with New Game and Options windows open, showing lighting quality, bloom, FXAA and postprocessing toggles
VGUI-style UI library with windowed menus built in MENUQC

Click any shot to enlarge. More media on the ModDB gallery.

FAQ

No. Version 0.1 is a current development milestone, not an active release. Its release date is TBD. Any future package will be announced on this page and on ModDB.

Yes, for the current development build. It relies on models, textures, sounds, maps, and other data from a legally obtained Half-Life installation. Libre-life does not provide those assets. There is not yet any original content made specifically for Libre-life.

I have no intention of appropriating or permanently retaining Valve's assets. From the first material I published on ModDB, I have described Libre-life as a work in progress and identified replacing all proprietary content with free alternatives as one of its main goals.

One developer cannot create entire Black Mesa game in a few months. The practical path is to begin with the code and core gameplay, validate those systems with assets supplied by users, and then build the original game and replacement content on that foundation.

The status is under review. GPLv3 is the intended license for the Libre-life codebase, but I will not claim that every file is cleared until the source provenance and licensing review is complete.

I will publish the source repository when I am confident that the code can be distributed legally and no unresolved provenance or licensing issues remain. I would rather delay the public repository than make licensing claims I cannot support.

Any Libre-life code included in a development release remains governed by the license distributed with that release. That license does not apply to Valve assets or other third-party material.

Zircon, a DarkPlaces fork, is the primary development target. FTEQW and stock DarkPlaces are secondary test targets. Compatibility varies because FTE-specific QuakeC features are used and the project is changing frequently.

I primarily use the Inter-Quake Model format, or IQM. It is an open and capable alternative to the Half-Life MDL format and is a better fit for the project's modern animation pipeline and development tools.

This is another reason I prefer the FTE and DarkPlaces ecosystem: it allows Libre-life to adopt an established open format such as IQM instead of depending on an engine-specific model format and conversion utilities.

It is a reasonable question: when a capable Half-Life engine such as Xash already exists, why bother reimplementing Half-Life on the Quake engine?

First, Libre-life is not an engine port. It can run on multiple Quake engines and could even run on Xash with enough adaptation work. There is no need for the project to be locked to a single Half-Life-based engine.

Second, Xash mods and games based on the Half-Life SDK remain subject to that SDK's license, which does not allow standalone redistribution. Reimplementing the SDK independently would require an effort comparable to the work already completed for Libre-life.

Third, the Xash workflow is not optimal for this project. FTE-derived engines provide a stronger set of tools, formats and ready-to-use solutions.

Finally, Xash's Half-Life implementation is not technically superior. The FTE/DarkPlaces family provides many capabilities that Xash does not, while Quake engines advance quickly through the combined work of a larger open-source community. Features available in DarkPlaces during the 2010s have only appeared in Xash relatively recently.

FreeHL, now known as Rad-Therapy, is another Half-Life gameplay project written in QuakeC. It is based on the Nuclide framework and primarily targets FTEQW.

Libre-life is a separate codebase that experiments with the FTE and DarkPlaces engine families and with Half-Life, Quake 1, and Quake 3 brush-entity conventions. The projects overlap in subject, but use different architectures and development priorities. Libre-life is not presented as a replacement for or improvement over FreeHL.

Not yet. Support is roughly 75% and some monster body/head sub-model selection is not yet mapped to IQM. Complete Half-Life BSP map support is the current focus.

This is a hobby project I enjoy developing; it doesn't have to be "finished" or even appeal to you.

The project is already complete in the form I envisioned; it serves as an excellent foundation for creating a Half-Life-styled game. It features a solid entity system that I wrote, without using any *Half-Life* SDK source code or AI. This is easily verified by analyzing the source code of my previous projects, such as ObjectN, RoR, and QUALKER. It is a finished product that provides some value to the community.

I do not discard projects; I continue using and revisiting them, and I plan to use this codebase in further development of my older mods. If visible progress slows, it means that a hobby developer has limited time or motivation, not that the work has been formally abandoned. Ambitious community projects such as Black Mesa and Xash demonstrate that worthwhile development can take many years.

They are development assets, not final art. Building a polished Half-Life-style game or a Black Mesa-scale environment is difficult, and rough intermediate work is a normal part of that process.

If you believe you can create a stronger implementation or replacement asset set, you are welcome to build one. Once the source repository is public, you will also be welcome to use Libre-life as a foundation for your own project.

Yes. That is one of its explicit goals. Once the source repository is published and the licensing review is complete, Libre-life is intended to provide a modular foundation for independent games and mods on modern Quake-derived engines. I recommend waiting for the public repository, proper tooling, and documentation before starting a serious project with it.

Only FTEQCC, which is bundled in src/. It is QuakeC end to end — no C/C++ toolchain. Run fteqcc64.exe from src/ to produce progs.dat, csprogs.dat and menu.dat in data/.

Yes. I use AI extensively as part of my daily workflow. It assists with code, research, debugging, and documentation, but I remain responsible for the architecture, review, testing, and final result. Although most of the code was written before the AI ​​boom, I use AI daily and plan to continue using it, since it would be foolish not to.

Libre-life is not an anti-AI project. If the use of AI is a deal-breaker, XashXT or FreeHL may be a better fit. I am open to specific technical criticism, but not to blanket demands that I stop using a tool without a practical alternative.

Testing, documentation, original maps, original assets, and code with clear provenance are useful. Contributors must identify the source and license of every contribution and must not submit Valve assets or copied Half-Life SDK code.