A purchased copy of the original game is required and is not provided by The Force Engine. The documentation has information on how to legally purchase Dark Forces.
Generally it is a good idea to download the latest available version. Previous builds are mainly for archival purposes. When downloading a new version, simply copying over an existing install will work fine. Note that there are no automatic downloads and TFE does not currently connect to the internet in any way. However, optional features such as checking for the latest version, directly downloading new versions and mods, and similar features will be added later.
This means that you will need to check for new versions of TFE manually for now.
GNU General Public License v2.0
The GNU GPL is the most widely used free software license and has a strong copyleft requirement. When distributing derived works, the source code of the work must be made available under the same license. There are multiple variants of the GNU GPL, each with different requirements.
License: Github.com
Threads
Doomworld: Doomworld.com
Duke4: Forums.duke4.net
Links
The website has additional links to the forums, Discord channel, and GitHub repository.
---
System Requirements
In early 2023, TFE will gain official cross platform support - both Linux and Mac. Until then Windows is required.
- Windows 7, 64-bit
- GPU with OpenGL 3.3 or better compatibility
Note that there are plans to lower the requirements for using the classic software renderer in the future. However, the minimum requirements for GPU Renderer support are here to stay. For now only OpenGL is supported, which might limit the use of some older Intel-integrated GPUs that would otherwise be capable. There are near-term plans to add DirectX 10/11, Vulkan, and maybe Metal render backends which should enable more GPUs to run the engine efficiently.
Bugs and Issues
Like any project of this nature and any new release - there will still be bugs. Some of these bugs will be DOS bugs that can be reproduced in the original game - these bugs are unlikely to be changed anytime soon. Other bugs will be TFE related. For those, please report them on the forums or GitHub.
----
Update
Version 1.09.4 added several large features: bloom, colormap interpolation, smooth Vue animation, subtitles/closed captions for sounds and voices (beta).
Version 1.09 OPL3 and SF2 midi synth support.
Version 1.08 added Linux support (self-compile only for now).
Version 1.02 has been released that addresses additional quality-of-life issues, and many custom-level issues as well.
Version 1.01 has been released which addresses several issues in the initial release.
Upcoming Releases
Version 1.09.5 will add true color support and texture filtering options.
Version 1.09.6 will add dynamic lighting support.
Version 1.10 will add support for HD/True-Color assets
----
Changelog:
Version 1.09 Release
This build adds both Sound Font (sf2) and OPL3 midi synthesis. External midi is no longer required on Linux. Note that midi settings will be reset with this build, if you want to change from the default (OPL3 emulation) - then use the Sound menu.
OPL3 support required reverse-engineering the iMuse "FM4" driver code, as well as changing the midi device/output architecture to support synthesis, and dynamically changing both devices and outputs during gameplay. In addition, the audio system now processes audio at 44.1 kHz (instead of 11 kHz) - which means upsampling the iMuse mixed digital audio.
Download: Theforceengi
Changes
- Implemented midi device types to support system midi as well as midi synthesis.
- Implemented support for midi synthesis using Sound Fonts (sf2).
- Implemented support for midi synthesis using OPL3 emulation and the iMuse OPL driver.
- Implemented the ability to change midi devices and outputs during gameplay, the game music is restarted as needed.
- Added Roland SC-55 and AWE64 sound fonts.
- Added support for 800p in the resolution list for the Steam Deck.
- Update the Readme to reflect that external midi is no longer required on Linux.
- The midi device now defaults to OPL3.
- Reduced stack size requirements in the audio system to fix issues on Steam Deck.
- Linux/CMake: also install the Mods and SoundFonts folders.
- Linux/Paths: look for support data in the executable directory too.
- CMake: gitVersion: do nothing if Git is not available.
- Linux: name executable “theforceengine”
- Add comments categorizing keywords and noting those which are not implemented.
----
A purchased copy of the original game is required and is not provided by The Force Engine. The documentation has information on how to legally purchase Dark Forces.
Generally it is a good idea to download the latest available version. Previous builds are mainly for archival purposes. When downloading a new version, simply copying over an existing install will work fine. Note that there are no automatic downloads and TFE does not currently connect to the internet in any way. However, optional features such as checking for the latest version, directly downloading new versions and mods, and similar features will be added later.
This means that you will need to check for new versions of TFE manually for now.
Timeline
The release of version 1.0 is a momentus event but it is not the end of the road. Outlaws support will be coming in version 2.0 and before that there will be new features, bug fixes, cross-platform support, and the built-in editors (including the level editor). See the TFE Roadmap for more information.
Version 1.09.540
Windows Build TheForceEngine-v1.09.540.zip
Source Code v1.09.540.zip
Another small release that fixes some issues and releases another iteration of the editor (still early WIP).
Editor
- Fixed a crash when returning from the Editor the menu, and then selecting editor again.
- Escape now exits the editor, unless a modal dialog is active in which case it closes that dialog instead.
- Levels and 3DOs are listed in the Asset Browser, but functionality is somewhat limited.
- Added multi-select.
- Added the ability to force selected assets to use an alternate palette for testing.
- Added export selected - allowing for assets to be exported and PNGs to be generated where appropriate for viewing.
- Added central error handling and modal message box functionality for errors/warnings.
General
- Linux: Make RtMidi optional - this allows for OPL 3 and SF 2 synth but disables system midi.
- This should make it easier to compile in some cases.
- Replace DeviL with SDL Image to make future Linux packages easier.
- Small PNG issues fixed.
Version 1.09.530
Windows Build TheForceEngine-v1.09.530.zip
Source Code v1.09.530.zip
A bug-fix release, with some improvements to the Accessibility UI, slight improvements to true color texture color accuracy, more work on the TFE editor, and mostly bug fixes.
TFE Editor
- Implemented Editor Config with font/UI size and thumbnail size options.
- Improved the Asset Browser UI.
- Added support for Frames and Sprites.
- Factored out Asset system to reduce code and data duplication.
Game
- Removed RTAudio and uses SDL audio instead, which fixes a number of audio issues on Linux (@mlauss2).
- Replaced different Windows/Linux Mutex/Thread code with SDL equivalents (@mlauss2).
- Improved German subtitles (@mlauss2).
- Improved Accessibility UI (@kevinfoley).
- Fixed game settings text getting cutoff (@kevinfoley).
- Improved discoloration that can occur to some textures when using the true color mode.
Version 1.09.521
Windows Build TheForceEngine-v1.09.521.zip
Source Code v1.09.521.zip
Bug-fix release, but it includes the per-texture color adjustment when using the true color renderer.
- Removed an extra multiply that was darkening alpha blended edges.
- Disabled alpha blending for sprites when using the true color renderer (fixes fringing artifacts).
- Implemented a per-texture adjustment based on texture hue shift at 50% light level when using the true color renderer.
- Re-enabled the Editor option in the menu (Windows only).
- Initial work on Asset Browser.
- Fixed compile issues on Linux.
- Fixed memory overwrite in audio system.
- Fixed A11y crash on startup.
- Headwave is now a persistent setting in the Accessibility menu.
- Added a better error message when failing to compile a shader.
- If a texture fails to be created, the GL error code is now written.
- Fixed various shader compile issues.
Version 1.09.500
Windows Build TheForceEngine-v1.09.500.zip
Source Code v1.09.500.zip
The “True Color” release.
- Automap is no longer affected by Bloom.
- Fixed several GPU renderer bugs.
- Fixed serialization of Vue state for save games when using Vue smoothing.
- Added the “True color” (non-palettized) colormode, including settings and UI.
- Added support mipmapping and anisotropic filtering.
- Added support for bilinear filtering with sharpness setting.
- Added approximate true-color to colormap mapping.
- FOV is now adjustable with UI slider.
- Three settings templates, instead of two: Vanilla, Retro, Modern.
- Added “LVB” level format loading as work towards future Dark Forces demo support.
- Added support for custom caption files and fonts, with UTF-8 Unicode support. Caption and font files can be added to the program or documents directory in the corresponding folder. This makes it possible to translate * the captions into other languages, even languages that use a non-ASCII character set, as long as a compatible font is used.
- Added Noto Sans as the new default font for captions. It includes Latin, Cyrillic, and Greek character sets, as well as the Devanagari alphabet (most notably used for Hindi).
- Added a section about caption customization to the in-game manual
- Added captions for enemy death sound effects (these help with situational awareness)
- Added missing captions for Kyle's voice-over on M11 Imperial City
- New cheats LAADDLIFE and LASUBLIFE for adding and subtracting lives.
Version 1.09.410
Windows Build TheForceEngine-v1.09.410.zip
Source Code v1.09.410.zip
A quick bug-fix release following up version 1.09.4.
- Fixed the Linux build.
- Fixed a crash on some graphics drivers when creating textures for bloom.
- Color correction and bloom can now be used at the same time.
- Fixed captions and subtitles both showing if you had either one or the other enabled.
- Fixed a timing issue with subtitles when running at very high framerates (the subtitles would never disappear and become “stuck”).
Version 1.09.400
Windows Build TheForceEngine-v1.09.400.zip
Source Code v1.09.400.tar.gz
This build introduces several new features as part of the set of releases leading up to version 1.10. Features include Bloom, Colormap Interpolation, Smooth Vue animations, and a Closed Caption system for accessibility.
- Smooth Vue Animations (optional).
- Fixed color flashing when switching between levels.
- Ported over GPU Renderer portal fixes - now supports up to 65536 visible portals as originally intended.
- Fixed GPU Renderer issues when using more than 65536 vertices for sector or sprite geometry in a frame.
- Fixed Wireframe so it works correctly in release mode, and made 3DOs solid color when in wireframe.
- Added a new “Retro” settings template which matches the “Modern” template from previous versions, where “Modern” enables new features, such as Bloom by default.
- Added an “8-bit Interpolated” color mode, which smooths out colormap-based shading and removes most of the banding.
- Added a new console command exportTexture that will export the texture on the surface the camera is currently pointing at.
- Added a bloom option, with the ability to adjust its strength and spread.
- Added Accessibility options, starting out with Closed Captions / Subtitles (Beta).
Version 1.09.300
Windows Build TheForceEngine-v1.09.300.zip
Source Code v1.09.300.tar.gz
Another small bug-fix release.
- Fixed a bug when there are too many entries in Jedi.lvl
- Fixed a bug with display bounds when selecting the correct display.
- Fixed a crash if the HUD pieces do not load.
- Added a confirmation for loading a game from the Load Menu.
- Added mod filtering for the Mod Loader, to make finding mods easier.
- Mods are now alphabetically sorted (once the list loading is complete).
- Fixed issues with the “No Game Data” message being incorrectly displayed.
- Separates out errors because files aren't found, versus files are invalid.
- Fixed a memory overwrite bug in Dark Tide 4, level 3 - due to having too few “texture vertices” set.
- Fixed Vue Logic sprite yaw to match vanilla.
- Hopefully fixed Steam path detection when the game is installed on a different drive than Steam itself or the ACF files cannot be found.
- IMuse: clamp priority parameter to 127 (Manuel Lauss)
- Linux: improve crash handler (Manuel Lauss)
Version 1.09.200
Windows Build TheForceEngine-v1.09.200.zip
Source Code v1.09.200.tar.gz
A small bug fix release with fixes backported from the “True Color Renderer” branch, as well as other fixes. The “True Color Renderer” release will be the next major build.
- Fixed a bug where IR Vision state wasn't properly saved and loaded.
- Fixed a bug where IR Goggles would stay active after respawning from death.
- Fixed a bug where the player could pick up items while dead.
- Fixed a bug where the player could use cheats, such as LAPOSTAL, to resurrect from death.
- The “About” tab in the Settings menu now works correctly.
- Added an option, enabled by default, to ignore the INF limit. When enabled, there is no hard coded limit to the number of INF items that a level can have.
- Fixed a “hang” (infinite loop) if an invalid INF sector class is used in a level. This fixed the hang in “STEALTH.GOB”.
- Fixed the spelling of the LARAMSHED cheat.
- Fixed a crash that occured in the mod loader if files cannot be loaded from a zip file.
- Fixed a bug in the mod loader where stale text would be shown for a mod without a valid text file or description.
- Fixed bugs with the way mousebots would die, removing the up to 1 second delay that could happen.
- Fixed 3DO lighting bugs in the software renderer.
- Added an option, enabled by default, to fix the normal calculation in 3DOs in some cases.
- Portal traversal optimizations.
- Greatly reduced the number of memory allocations that the GPU renderer would use for 3DOs.
- Fixed a collision bug that kept the player from jump onto some ledges at certain framerates (including 60 fps). This fixes jumping issues in “DeathStr” and “Lara Hotel”.
Version 1.09.100
Windows Build TheForceEngine-v1.09.100.zip
Source Code v1.09.100.tar.gz
Hotfix release that addresses critical issues with version 1.09.
Note For Linux Users
Linux is now supported but it requires additional setup. For now, you will need to compile from the source in order to run Linux. For more information, see the Linux section of the GitHub README.
In addition, a Flatpak/snap (or similar) package is planned for version 1.10, alleviating the need to manually compile the project. If you don't want to compile the code, it might be better to use Windows for now or wait for version 1.10.
Changes
- System Midi volume bugs, causing notes not to play properly on some midi devices and volume issues with Windows GM synth.
- Linux crashes when not specifying the build type.
Version 1.09.000
Windows Build TheForceEngine-v1.09.000.zip
Source Code v1.09.000.tar.gz
This build adds both Sound Font (sf2) and OPL3 midi synthesis. External midi is no longer required on Linux. Note that midi settings will be reset with this build, if you want to change from the default (OPL3 emulation) - than use the Sound menu.
Changes
- Implemented midi device types to support system midi as well as midi synthesis.
- Implemented support for midi synthesis using Sound Fonts (sf2).
- Implemented support for midi synthesis using OPL3 emulation and the iMuse OPL driver.
- Implemented the ability to change midi devices and outputs during gameplay, the game music is restarted as needed.
- Added Roland SC-55 and AWE64 sound fonts.
- Added support for 800p in the resolution list for the Steam Deck.
- Update the Readme to reflect that external midi is no longer required on Linux.
- The midi device now defaults to OPL3.
- Reduced stack size requirements in the audio system to fix issues on Steam Deck.
- Linux/CMake: also install the Mods and SoundFonts folders.
- Linux/Paths: look for support data in the executable directory too.
- CMake: gitVersion: do nothing if Git is not available.
- Linux: name executable “theforceengine”
- Add comments categorizing keywords and noting those which are not implemented.
Version 1.08.000
Windows Build TheForceEngine-v1.08.000.zip
This build contains most of the features slated for version 1.10, with the only major missing feature being internal midi synth support and better Linux packaging. This marks the version “official” TFE version with Linux support.
Changes
- Changed “activated” to “toggle” to better match existing cheat messages.
- Fixed a HOM issue in Executor.
- Added a proper FPS counter which can be enabled in the graphics menu.
- Renamed “energy” to “battery power”.
- Official Linux support added.
- Updated the README with Linux build and run instructions.
- Removed the unique 3DO model limit.
- Fixed font rendering bugs (lack of language-specific symbols) due to using signed 8-bit characters instead of unsigned.
- Dark Forces menu shortcuts now work correctly for different languages.
- Fixed the Gamorrean Guard attack delay - they were attacking much more often than in vanilla.
- Fixed the Sewer Creature attack and search delays, they were slightly longer than vanilla (meaning it attacked less often than it should have).
- Midi selection in the Sound menu now works correctly.
- The Escape menu now uses the correct palette, fixing issues with some languages and mods.
- Fixed a crash when a WAX did not have the appropriate animation in certain areas of the AI code.
Version 1.02.000-6-g779b9745
TheForceEngine-v1.02.000-6-g779b9745-1.zip
- Fixed a bug where the mouse buttons wouldn't work if ALT is being held.
- Replaced single dots on the automap when diamonds that scale with resolution when using the GPU Renderer.
- When typing cheats into the console, they no longer need to be prefaced with cheat. So instead of
cheat LAMAXOUT
you can type LAMAXOUT
.
- Added a new cheat code:
LAFLY
- when active, the player is not affected by gravity and can fly up using jump and down by using crouch.
- Added a new cheat code:
LANOCLIP
- when active, the player will pass through walls and adjoins regardless of collision.
- Added a new cheat code:
LATESTER
- this is short hand for activating LAREDLITE, LAIMLAME, LAFLY, LANOCLIP
.
Version 1.02.000-1-g7ec69bb1
TheForceEngine-v1.02.000-1-g7ec69bb1.zip
- Changes the default audio outputs back to the 1.01 default.
- Adds buttons to the Sound Menu to reset audio outputs.
Version 1.02
TheForceEngine-v1.02.000.zip
Quality of Life Features
- Alt+Enter will toggle fullscreen in addition to F11.
- Frame limit options added to the Graphics UI.
- Load added to the main menu.
- The Mod Loader will now return to the main menu if escape is hit.
- The Mod Loader will close mod descriptions is escape is hit.
- A System Menu has been added with two options:
- An option to return to the main menu if you Quit a game.
- An option to return to the Mod Loader if you Quit, if you loaded a mod (assuming the first option is enabled).
- The Audio system will try multiple sound APIs, including Direct Sound, if the default fails.
- You can now select the output audio and midi devices.
Bug Fixes
- Fixed a crash when playing Evacuation of Hoth custom level due to a frame scenery object being destroyed.
- Fixed a bug where levels wouldn't load if they had spaces in front of certain keywords - such as Mission 2 of Don Sielke's.
- Fixed a bug where items would be despawned in some cases where the sector heights were too small.
- Fixed a bug where briefings could be skipped in some mods due to an order of operations error.
- Fixed a bug where sprites didn't always light up correctly when attacking.
- Fixed a bug where the Probe Droid would stay fullbright after firing.
- Fixed a bug where autoaim wasn't working with 3D objects like turrets and welders.
- Fixed a bug where autoaim targeted farther away items instead of closer items in some cases.
- Fixed a bug where the player could save while dying and then be invulnerable on load until they healed.
- Fixed crashes when INF sectors don't exist in custom maps.
- Fixed a bug where jumping up to sector second heights isn't as forgiving in TFE as DOS, resulting in custom level progression issues.
- 3DO PLANE projection when using the GPU Renderer now matches the software renderer for non-flat polygons.
- Fixed a bug where the top and bottom textures were drawn even with the “no wall” flag set instead of showing the sky when using the GPU Renderer.
- Fixed a bug with crouch jumping that kept the player from fitting into small places, blocking progression in Boba Fett's Revenge and other custom levels.
- Fixed bugs with exterior adjoins that caused walls to be incorrectly drawn where there should only be sky.
- Fixed a bug with INF messages using invalid delay values behaving different in TFE than DOS, making switches in some custom levels work incorrectly.
- Fixed a bug with invalid INF message types (such as “done”) being treated different than DOS, breaking different triggers and elevators in custom levels.
- Fixed bugs with Gas Mask rendering when using the GPU Renderer at 320x200 resolution.
- It is now possible to hold ALT and move, and use ALT for crouch and slow actions.
- Improve Mod Loader text file parsing so it can be reliably extract the mod names.
- Improved PDA input and fixed layer keys being swapped.
- Fixed another PDA input issue, where the mouse location could effect hotkey results.
- Fixed a bug with keyboard input on the Agent menu, where scrolling downward would not wrap if all levels are complete.
- Secret Percentage update after loading from a save, fixed LADATA save percentage issue.
- The GPU renderer now properly emulates several stretching mid-texture effects (these worked in the software renderer).
- Fixed a sky texture offset bug using the GPU renderer that caused the incorrect part of the sky to show up in part of Stars End.
- Saved games with no name given are now assigned a default name, so that they can be selected and loaded.
Version 1.01
TheForceEngine-v1.01.001.zip
- Improved robustness against sound system setup errors.
- Added –nosound commandline to disable digital sound (music still plays).
- Draw “no data” message in large red letters so it is obvious.
- Changed the name of the file the the Browse dialog asks you to point to from DARK.EXE to DARK.GOB to reduce confusion.
- Steam path detection is now more robust and should handle libraries on different drives than the base Steam install.
- TFE will now find the game source data if it is in the same directory as TFE.
- TFE now supports putting the game data under the TFE directory, under Games/Dark Forces/* and that case will be autodetected.
- Source data path validation is now more robust.
- Fixed a bug where the ‘settings.ini' failed to parse, messing up settings.
- Shows a configuation menu on the first run where you can set either Vanilla or Modern defaults.
- Fixed Escape Menu background stretching when using the GPU Renderer with widescreen disabled.
- Fixed divide by zero crashes in the projectile code.
- The GPU Renderer now honors fullbright and opaque/transparent flags for signs and sign textures.
- Fixed a flags issue in the explosion code, where explosions could effect some things they are not supposed to.
- Fixed the thermal detonator damage the player takes, they were taking too much.
- Added a custom deadzone setting and proper deadzone sensitivity scaling.
- Fixed a lighting bug with the muzzle flash being too dark.
- Fixed sprite culling using the GPU renderer close to the camera.
It's a shame that Reshade depth buffer don't work. This game would profit from Reshade effects.
I hope the developer reads the comments here, because I found two issues:
1) If you have auto-run off you can't jump anymore while running which breaks the game.
2) I'm not sure but it looks as if Kell Dragons are not damaged by Termal Detonators at all.
Otherwise fantastic work, no need for Dark Forces Remastered if you own it!