luciusDXL / TheForceEngine

Modern "Jedi Engine" replacement supporting Dark Forces, mods, and in the future Outlaws.
https://TheForceEngine.github.io
GNU General Public License v2.0
976 stars 71 forks source link
dark-forces force-engine jedi-engine outlaws

The Force Engine (TFE)

About

“The Force Engine” is a project with the goal to reverse engineer and rebuild the “Jedi Engine” for modern systems and the games that used that engine, like “STAR WARS™: Dark Forces” and “Outlaws”. The project will include modern, built‑in tools, such as a level editor and will make it easy to play “STAR WARS™: Dark Forces” and “Outlaws” on modern systems as well as the many community mods designed to work with the original games.

Playing “STAR WARS™: Dark Forces” or, in the future, “Outlaws” using “The Force Engine” adds ease of use and modern features, such as higher resolutions and modern control schemes, such as mouselook. Using the built‑in tools, once they are available, will enable easier modding with more modern UI, greater flexibility, and the option to use enhancements made to the “Jedi Engine for “Outlaws” in custom “STAR WARS™: Dark Forces” levels, such as slopes, stacked sectors, per‑sector color palettes and more.

“STAR WARS™: Dark Forces” support is complete, but “Outlaws” is not playable yet. The focus so far has been on the framework, “STAR WARS™: Dark Forces” support, and “Jedi Engine” reverse‑engineering. However, “Outlaws” support is planned and will be complete in TFE version 2.0. See Current State below.

A purchased copy of the original game is required and is not provided by “The Force Engine”. The documentation has some information on how to legally purchase “STAR WARS™: Dark Forces”. TFE is not a remaster, it is essentially a source port designed to run the original game natively on modern systems with quality of life improvements and optional enhancements. “STAR WARS™: Dark Forces” and “Outlaws” are owned by Disney and are still active, commercial products. The IP is owned solely by Disney.

Linux is supported but may require additional setup. You may need to compile TFE from source in order to run it directly on your favorite Linux distro. For most Linux users, it is recommended to install and run TFE via Flatpak from Flathub on those Linux systems where Flatpak is available. Search your distro’s software center or app portal; if you are already using GNOME Software or KDE’s Discover (like on the “Steam Deck”) then installing TFE may be just one click away from you. See the Linux section below.

In addition, a Snap package is planned for the future, alleviating the need to manually compile the project on systems employing Snap. If you don’t want to compile the code, it might be better to use Windows for now or use Proton on the “Steam Deck”.

Steam Deck

On this system it is recommended to run “The Force Engine” in desktop mode and installing it via KDE’s Discover (from Flathub).

Current Features

Current State

Full support for “STAR WARS™: Dark Forces” has been completed. You can play through the entire game, with all AI, weapons, items, and functionality working as expected. While the project shares a legacy with DarkXL, it is a complete rewrite, rebuilt from the ground up with a much greater focus on accuracy. It is much more focused than the “XL Engine”, focused on being a “Jedi Engine” replacement/port only. Thus, full support for “STAR WARS™: Dark Forces” and later “Outlaws”. Please, check the Roadmap for more information.

Current Release

The current release only supports “STAR WARS™: Dark Forces”. All weapons, AI, items, and all other systems work, including iMUSE. You can play through “STAR WARS™: Dark Forces” from the beginning to the end and even play “STAR WARS™: Dark Forces” mods. As with any project of this nature, there may be bugs and system specific issues. If you run into any bugs that cannot be reproduced in the DOS version, please post them on the forums or GitHub.

Minimum Requirements

Note that there are plans to lower the requirements for using the classic software renderer in the future. However, the minimum requirements for GPU rendering are here to stay. For now, only OpenGL is supported, which may limit the use of some older Intel integrated GPUs that would otherwise be capable. There are near term plans to add Direct3D 10/11, Vulkan, and maybe Metal render backends which should enable more GPUs to run the engine efficiently.

Windows

The release package includes the Windows binary and all of the data (except for the original game) needed to run. If you want to compile TFE yourself, use the Visual Studio solution provided.

Linux

General Notes

Runtime data like savegames, configuration, mods, etc. are by default stored in ${HOME}/.local/share/TheForceEngine. This can be overridden by defining the TFE_DATA_HOME environment variable.

Required Libraries

Optional Libraries

Building from Source

Recommended Tools

Running TFE

External application dependencies
Launch

Packaging

TFE comes with the build‑in “AdjustableHud” mod. Package maintainers may wish and are encouraged to package “AdjustableHud” into a separate required or recommended package.

By default TFE builds and installs with the “AdjustableHud” mod. If you do not want to install the “AdjustableHud” mod, for example when building separate packages, configure the CMake build with the -DENABLE_ADJUSTABLEHUD_MOD=OFF option. If you want to install the “AdjustableHud” mod only use the -DENABLE_TFE=OFF option.

Freedesktop

On Freedesktop compliant systems package maintainers are encouraged to use the provided AppStream meta data file when packing the “AdjustableHud” mod into a separate package.