Skip to content

JShum00/FFE

 
 

Repository files navigation

Frontline Forge Engine (FFE)

A custom fork of id Tech 4, derived from the RBDOOM-3-BFG codebase, designed to support the development of a cinematic World War II first-person shooter.


🎯 Overview

Frontline Forge Engine (FFE) is a restructuring of id Tech 4 focused on building a grounded, narrative-driven FPS experience.

This engine powers:

Crimson Star: Ruins of Ash
A cinematic WWII FPS set during the Battle of Stalingrad.

FFE transforms the original engine by removing DOOM-specific gameplay systems and introducing features suited for human-scale combat, squad-based encounters, and environmental storytelling.


🧠 Design Philosophy

FFE is built around:

  • Cinematic, linear mission design
  • Hybrid realism combat (grounded but playable)
  • Squad presence as environmental pressure
  • Strong atmosphere through lighting and audio
  • Controlled, scripted battlefield chaos

This is not a DOOM port, it will be the foundation for a new game.


🔧 Key Modifications (Planned & In Progress)

  • Replacement of monster AI with human combat AI
  • Modernized input and player movement
  • Weapon systems redesigned for WWII combat
  • Mission scripting for cinematic sequences
  • Improved audio systems for battlefield immersion
  • Cleanup of legacy DOOM-specific systems

📁 Project Structure

  • /engine Core engine code (id Tech 4 fork)
  • /game Game-specific logic and systems
  • /assets Game content (non-GPL)
  • /docs Design documents and technical notes
  • /tools Build tools and utilities

⚙️ Building the Engine

🐧 Linux (Recommended)

1. Install Dependencies

Debian / Ubuntu:

Install ISPC: sudo snap install ispc


2. Install DirectX Shader Compiler (DXC)

Download from: https://github.com/microsoft/DirectXShaderCompiler/releases

Then:

chmod +x dxc
mv dxc ~/.local/bin/

3. Build

Preferred repo-root workflow:

./build.sh

This script:

  • reuses the existing build/ directory for incremental builds
  • runs neo/cmake-linux-release.sh automatically when CMake has not been configured yet
  • compiles the engine from build/

Manual equivalent:

cd neo
./cmake-linux-release.sh
cd ../build
make -j"$(nproc)"

4. Run

Preferred repo-root workflow:

./run.sh

This launcher:

  • starts the binary from build/
  • mirrors stdout/stderr into log.log
  • keeps the repo-root log as the primary runtime debug log

Manual equivalent:

cd build
./RBDoom3BFG

Note: the runtime window title is already Frontline Forge Engine, but the binary name is still RBDoom3BFG.


📦 Game Data (Required)

FFE requires original DOOM 3 BFG assets for now.

You must provide:

  • base/ folder from DOOM 3 BFG Edition

Options:

  • Steam install
  • GOG install
  • SteamCMD

Place in: <repo_root>/base/


⚖️ License

This project is licensed under:

GNU GPL-3.0-or-later

  • Engine code modifications must remain open source
  • Game assets (models, audio, maps) are NOT covered by GPL

See:

  • LICENSE.md
  • LICENSE_EXCEPTIONS.md

🧱 Credits

  • id Software — original id Tech 4 engine
  • Robert Beckebans & contributors — RBDOOM-3-BFG

🚧 Project Status

Early development.

Current focus:

  • Engine setup and validation
  • System refactoring
  • First playable vertical slice (Stalingrad, July 1942)

🪖 Vision

To create a WWII FPS that emphasizes:

  • the confusion of first contact
  • the exhaustion of prolonged combat
  • the transformation of a city into ruins

📌 Notes

  • This project is in active development
  • Many systems are placeholders or under heavy modification
  • Expect instability during early stages

About

Frontline Forge Engine (FFE) is a renamed, modernized fork of the id Tech 4 codebase.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 86.4%
  • HTML 8.8%
  • C 2.8%
  • HLSL 1.4%
  • ISPC 0.2%
  • CMake 0.2%
  • Other 0.2%