Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
lucius

The Force Engine (Jedi Engine Port/Replacement)

Recommended Posts

This is incredibly cool. Look forward to when the UI / briefings etc are done, I'll have my first playthrough in a couple of decades. And probably quit in rage once again at the dark annoying sewer level.

Share this post


Link to post
4 hours ago, holaareola said:

This is incredibly cool. Look forward to when the UI / briefings etc are done, I'll have my first playthrough in a couple of decades. And probably quit in rage once again at the dark annoying sewer level.

The sewer level is pretty straightforward when you get used to it. To do it quickly, when you get to the 4-state switch, go through the first door (hitting the switch to raise the sewer level during the process), then the third door, and finally the second door. That will save you a trip through the tunnels. You can ignore the fourth door unless you want the goodies there (but I don't bother when I'm playing through it).

 

I should add - you can hit F5 to turn on your headlamp to help illuminate dark areas. It consumes battery power, but there are battery pickups and the consumption is reasonable (unlike some games where flashlights last for two seconds).

Edited by lucius

Share this post


Link to post
38 minutes ago, lucius said:

The sewer level is pretty straightforward when you get used to it. To do it quickly, when you get to the 4-state switch, go through the first door (hitting the switch to raise the sewer level during the process), then the third door, and finally the second door. That will save you a trip through the tunnels. You can ignore the fourth door unless you want the goodies there (but I don't bother when I'm playing through it).

I'll make a note. I remember really enjoying DF other than that, but I hated, detested, wished I could have a violent personal intervention with the designer for that map.

 

Off-topic, if I could, I'd expunge sewer levels from FPS history, it has never struck me as an interesting environment. Traversing a bunch of small-ish, pitch dark passages, literally swimming through virtual shit as a bonus of the setting. I honestly think the preponderance was due to light asset requirements and an excuse for really repetitive design. The utterly excrementitious hollywood sewer section in Vampire Bloodlines remains my all time #1 most hated. Mirror's Edge has the #1 most loved sewer, taking the top spot only due to there being NO OTHER CONTENDERS.

 

Anyway, I feel lighter, cheers for the advice and your effort on the port. I remember there being quite a few level packs/mods out for DF too, will they be compatible?

 

 

3 hours ago, MrFlibble said:

The sewer is nuthin' compared to the Kell dragon fisticuffs IMO.

I don't remember this. Urk. Doesn't sound good. Melee was yet to become a strong point in FPS games for a long time after this was made!

Share this post


Link to post
9 minutes ago, holaareola said:

I remember there being quite a few level packs/mods out for DF too, will they be compatible?

Most mods work, though support is "beta" quality - meaning some still have TFE-related bugs and a few can crash at a certain point. But the plan is that they all work before version 1.0 is released. I will be making a post, most likely later tonight, about the mod support and mod loading.

Share this post


Link to post
2 hours ago, lucius said:

The sewer level is pretty straightforward when you get used to it. To do it quickly, when you get to the 4-state switch, go through the first door (hitting the switch to raise the sewer level during the process), then the third door, and finally the second door. That will save you a trip through the tunnels. You can ignore the fourth door unless you want the goodies there (but I don't bother when I'm playing through it).

 

I should add - you can hit F5 to turn on your headlamp to help illuminate dark areas. It consumes battery power, but there are battery pickups and the consumption is reasonable (unlike some games where flashlights last for two seconds).

This is some information that could've been brought to my attention YESTERDAY!

 

Quite literally, I decided to try out the work that you've done on Dark Forces, and it's absolutely great. Getting to run this smooth in Windows, and with resolution scaling, I mean it's absolutely amazing the work that you've put into it. I did play a little of the GOG version, but I haven't really played, and completed, the game since 1996. And that was on DOS, where it played just fine. So to be able to play it again on a modern system without having to dink around with Dosbox is amazing, so kudos to you. 

 

That aside, I decided to try it out last night, and I was stuck on that damn sewer level for at least an hour. I missed one switch towards the beginning, the one that raises the sewer level. It is so easy to miss switches in this game. Great game. But it seems like the level designers started out their dev map with "Piss the player off".

 

Still, very impressive what you've accomplished. I look forward to seeing the finished product, because it already plays really nicely.

Share this post


Link to post

Version 0.8 is well underway and should be complete this week.

 

Cutscenes in the vanilla game all play, though there are some visual glitches to iron out.

cutscenes4.jpg?raw=truecutscenes5.jpg?raw=true

 

cutscenes8.jpg?raw=true

 

The Mission Briefings and PDA are also complete - along with fixing a bug with difficulty levels and finally loading and handling mission "goals" correctly - so they show up properly in the PDA when completed.

modBriefing.jpg?raw=true

 

pdaFinished1.jpg?raw=truepdaFinished2.jpg?raw=truepdaFinished3.jpg?raw=truepdaFinished4.jpg?raw=truepdaFinished5.jpg?raw=true

 

So what is left for version 0.8:
* Fix the font in the Agent Menu (some characters show up wrong).

* Add the keyboard shortcuts to the Escape Menu. I will probably not do the fade, despite the small inaccuracy, because 1) it isn't complete and looks kind of bad, 2) I don't want it to take so long when hitting Escape and being able to use the menu. Same with the PDA - you hit the button and it comes up near instantly.

* Figure out what to do with the config menu - I'm either considering implementing it as-is or having it bring up the Alt+F1 menu instead - where all the valid configuration options are available. The latter option is what I am leaning towards since it will be less confusing than having a partial set of options, some of which are useless right now (the level of detail options).

* Fix visual glitches in cutscenes.

* Integrate sound and music support for cutscenes (they are currently silent).

 

Another nice feature is that TFE supports automatically loading custom briefing and cutscene LFD files for mods, so players can load their mod directly from the zip files and TFE can still support the custom mission briefings and cutscenes.

Share this post


Link to post

hi Lucius, I hope all is well

I'm a bit worried, seeing as the project's website hasn't been updated since xmas..

how's the progress on this?

 

Share this post


Link to post
5 hours ago, Delfino Furioso said:

hi Lucius, I hope all is well

I'm a bit worried, seeing as the project's website hasn't been updated since xmas..

how's the progress on this?

 

 

If you want to keep tabs on the very latest work done, see this view of the different branches in github:

https://github.com/luciusDXL/TheForceEngine/branches

Last commit was a couple weeks ago. Also worth noting that some work might be going on in non-public branches or depots.

This is really normal with spare time open source projects, people get pulled away by real life stuff, energy for the project wanes and waxes, etc. I say let folks take a break when they need to. Lucius made incredible progress over the last year, I'm happy to wait.

Share this post


Link to post

He's still working on the IMUSE. Keep in mind that he also has a private repository where he commits reverse engineered Dark Forces code.

 

Also, have this:

 

unknown.png

Share this post


Link to post

Sorry for the lack of updates on the forums, but work continues on iMuse, as Dzierzan says. At the pace of work last year, it would only have taken a few weeks to complete but unfortunately, there has been less time available at the beginning of the year (Q1 issues). The reverse-engineering for the midi part of iMuse is basically done (it also handles digital sound effects to some degree, especially in cutscenes) but the reconstructed iMuse library that will be used by TFE is still a work in progress. You can see the post linked above by Dzierzan for more details.

 

Also, I do keep a private repository for reverse-engineered code, "Dark Forces DOS" - it is more of a "code document" than something I would ever release, with a lot of extra data, such as memory addresses and notes that don't appear in the final code. The refactored, cleaned-up version of the code is what makes it into TFE. The private RE "code document" has extra bits that are handled by the TFE framework - such as VGA code, various interrupt handlers, low-level DOS audio driver code, etc. It also contains things like unused structure members (without proper names because I don't know their original purpose), empty functions (code compiled out), wrapped functions that serve no purpose (i.e. whatever the original purpose was, it was later removed or compiled out, such as debug code), and that kind of thing that is cleaned up for TFE. But to give you an idea why I would never release it, one of the files is over 60k lines long.

Edited by lucius

Share this post


Link to post
26 minutes ago, Kinsie said:

I don't seem to be getting any music with the new release.

That is definitely odd. You can check settings and make sure the volume isn't set to 0. You can also go to Documents/TheForceEngine and delete settings.ini, so TFE will regenerate it on the next load and see if you get music under default settings.

 

A few questions: 

1. Do you get any music during cutscenes? Or no music at all?

2. Do you hear sound effects, or is it completely silent?

3. Try deleting the settings.ini and then check again and see if that fixes it.

4. You can check the log, Documents/TheForceEngine/the_force_engine_log.txt, and see if there are any midi-related errors printed in there.

5. TFE uses General Midi, so make sure that isn't disabled somehow (or the volume manually turned down in Windows). Though there doesn't seem to be any obvious way to access this anymore in Windows 10+. :(

Edited by lucius

Share this post


Link to post
13 minutes ago, lucius said:

That is definitely odd. You can check settings and make sure the volume isn't set to 0. You can also go to Documents/TheForceEngine and delete settings.ini, so TFE will regenerate it on the next load and see if you get music under default settings.

 

A few questions: 

1. Do you get any music during cutscenes? Or no music at all?

2. Do you hear sound effects, or is it completely silent?

3. Try deleting the settings.ini and then check again and see if that fixes it.

4. You can check the log, Documents/TheForceEngine/the_force_engine_log.txt, and see if there are any midi-related errors printed in there.

5. TFE uses General Midi, so make sure that isn't disabled somehow (or the volume manually turned down in Windows). Though there doesn't seem to be any obvious way to access this anymore in Windows 10+. :(

Poking around, it looks to actually be an issue on my side. Sorry for the hassle!

Share this post


Link to post
3 minutes ago, Kinsie said:

Poking around, it looks to actually be an issue on my side. Sorry for the hassle!

Good to hear, thanks.

Share this post


Link to post

0.9x Bug Fix Release 1

TheForceEngine-v0_90_000-13-g2b1bc8d: https://theforceengine.github.io/downloads.html

  • Fixes a sound crash when exiting to the main menu while in a level and then starting up a mod.
  • Fixes a Dark Forces bug where music doesn't play in a cutscene on a second viewing in the same session.
  • Fixes a bug when an object has an incorrect class or type on load - it should be skipped.
  • Clean up differences between TFE level loading and DOS.
  • Fixes a bug where the ambient sound index was always 0 (incorrect ambient sounds could play).
  • Correct screen flash fade lengths for shield and health damage, and pickup flashes. Before some effects were not long/intense enough, especially when taking large amounts of damage.
  • Fixes crash when a destructible object has no animation 1 - this resulted in numerous crashes (though almost all in mods).
  • Fixes the sound update when a projectile is passing by the camera.
  • Fixes an issue that could cause textures to fail to load if one line is malformed.

 

Please see the post above about the iMuse and Sound 0.9 Release above if you haven't already. As I talked about there, I plan on posting semi-frequent 0.9x bug fix releases leading up to the version 1.0 release.

Share this post


Link to post

0.9x Bug Fix Release 2

TheForceEngine-v0_09_000-15-gc28638a: https://theforceengine.github.io/downloads.html

  • Fixed OBJ_FLAG_HAS_COLLISION, which should be OBJ_FLAG_MOVABLE. This fixes errors such as corpses not moving with rotating sectors.
  • Fixed object collision radii - this fixes a bug where the collision for many objects was too large.
  • Fixed a bug where TFE crashes if there is no briefing.
  • Fixed a bug with collision where a flag was incorrectly checked - it should only check the collision radius. This fixes a bug where some props did not have collision when they should have.
  • Fixed the default message type for line triggers (which can affect some INF functionality in mods).
  • Fixed several areas while loading INF that could cause crashes with malformed data.
  • Fixed slave “value” - I thought it was fixed-point but it is actually an angle.
  • Fixed triggers to accept event == INF_EVENT_ANY (aka -1), this can also have an effect on INF in mods.
  • Fixed collision issues with moving and rotating walls.
  • Fixed object default flags - this also could cause some objects to not move correctly with rotating or moving sectors.
  • Fixes a bug when decompressing transparent textures (compressed transparent BM) - this fixes bugs such as holograms in Assassination at Nar Shaddaa.

Share this post


Link to post

0.9x Bug Fix Release 3

TheForceEngine-v0_09_000-27-g5f123b0: https://theforceengine.github.io/downloads.html

 

  • Fixes a crash that occurs when a cutscene “film” fails to load.
  • Fixes a crash when the top or bottom texture of a wall is null.
  • Frees a digital sound if it fails to set up data, which avoids a bug where all of the channels can be consumed.
  • Fixes a bug where a teleport can fail to be set up correctly if it has an invalid field - this caused a crash in Dark Tide 2 when going into water.
  • For Boba Fett, make double sure the msg is MSG_RUN_TASK before freeing the task after death - which can cause a crash on DT 2.
  • Added support for half-step rounding when a rotating elevator delta is too small (due to high framerate combined with low speed). - This fixes the train in Harkov when running at higher than 90 fps.
  • Fixes a bug where a texture with a blank name wasn’t set to default - some mods, like the Dark Tide series, such blank texture names to mane default.bm for some reason. This fixes missing textures and HOM effects.
  • Reduces the velocity jitter threshold by half so the player doesn’t get stuck on low friction surfaces when the framerate is high. - This fixes a bug where I got stuck underwater in DT 2 with vsync off.
  • Made time tracking more robust - Ensure that time is purely monotonic; disable vsync interval rounding at 120+ fps since it becomes unreliable; recheck sync and refresh rate less often to avoid stutters.
  • Fixed a bug where some trigger functions were firing even with the trigger master was off.
  • Fixed a potential crash when iterating through objects in a sector.
  • Reduced external velocity 0 clamping by half to better handle high framerates. - This should reduce sliding on some moving platforms at high framerates.
  • Cleaned up landing animation code, which is now accurate.
  • Cleaned up head/weapon wave code, which is more accurate.
  • Fixed the headlamp calculation which was slightly inaccurate.
  • The cutscene music repeat bug is fixed when canceling from the mission briefing (previously this bug was fixed when entering a mission, exiting out, and then playing the cutscenes again. This bug handles the case where you cancel from the mission briefing).
  • Fixes a crash in DT 1 because sector vertices are NULL.

Share this post


Link to post

0.9x Bug Fix Release 4

TheForceEngine-v0_09_000-34-gdb7a5c0: https://theforceengine.github.io/downloads.html

 

  • Fixes Kyle incorrectly sliding off of moving platforms in some mods, like Dark Tide 1.
  • Fixes a bug with animated textures that were not setup correctly - this fixes some switches that did not show up at all in mods, and potentially other animated textures.
  • Fixes a bug where transparent animated textures might show up as opaque, this affected some mods and switches.
  • Fixes a bug where animated texture frames may have a few incorrect/corrupted colors.
  • Fixes a bug where some switches could not be triggered in mods, and other switches were harder to trigger than they should be.
  • Added a ‘warp’ command to the console so you can warp directly to positions reported by the LADATA cheat.

Share this post


Link to post

0.9x Bug Fix Release 5
TheForceEngine-v0_09_000-42-g32a941a: theforceengine.github.io/downloads.html

  • Fixes additional sign rendering issues if the base wall texture height is smaller than the switch texture height.
  • Fixed an issue where some switches couldn’t be triggered.
  • Fixed a crash if warping to an invalid position.
  • Fixed crash that could be caused by an elevator with a null sound, which caused a crash when blowing up the lava dam in the Lava Planet mod.
  • Fixes bugs with 3DO parsing, which fixes missing 3DOs in mods.
  • Fixes a display issue with “tall screen” resolutions (i.e. taller than 4:3).
  • Fixes a bug where elevator should remove corpses and continue instead of hitting them and moving back up.
  • Fixes a bug where an elevator thinks there isn’t enough room to fits objects incorrectly, which fixes the bug in DT 3 where the blue key rises, hits the ceiling and then lowers again.
  • No longer sets 0 channels even when requested - fixes music stopping permanently in Imperial Library.
  • Verifies proper texture frame sizes and uses frame 0 if a animated texture asset is bad - fixes crash in Imperial Library.
  • Fixes a crash that can occur if a mid-texture isn’t setup correctly on a solid wall - this fixes the Dark Tide 3 “Droid Deception” level end crash and visuals.
  • Fixes looping VUE animations (such as Nar Shaddaa and Executor).
  • Fixes incorrect 3DO orientations (mostly noticeable in mods).

Share this post


Link to post

0.91 Bug Fix Release 6

TheForceEngine-v0_91_000: https://theforceengine.github.io/downloads.html

  • Added optional extended adjoin limits - this fixes HOM issues in most mods due to engine limits if enabled (default).
  • Added optional crosshair support (defaults to off).
  • Fixed 3DO lighting to match DOS.
  • Fixed a 3DO gouraud shading clipping bug when using the floating-point renderer (which caused streaking artifacts).
  • Fixed differences between DOS and TFE 3DO/sector clipping.
  • Fixed the pitch offset calculation (it was slightly off before) - this makes shots fired up and down more accurate.
  • Improved Escape menu button hover offsets.
  • Fixed a bug where it was possible to not have a mission selected on the Agent Menu, causing a crash if beginning the mission.
  • Fixed a bug where completion of the final level wasn’t shown on the Agent Menu.
  • Fixed a bug where level complete status wasn’t saved when hitting Quit to DOS instead of Next Level.
  • Fixed a bug where land mines were triggering through doors and similar situations.
  • Fixed a bug where death effects kept occurring even after reaching 0 health - this fixes the repeating death sounds on damage floors.
  • Enemies now die properly if they fall too far.

This build fixes 3DO rendering issues, various mission complete issues, dying effects (such as repeating sounds), and various other bugs. It also adds the ability to use crosshairs - with custom color, scale, and 18 patterns to choose from. And finally, with the optional extended adjoin limits, HOM issues in mods are greatly reduced and in many cases eliminated.

 

Extended Limits - Before/After (Dark Tide 3)

ExtendedLimits_Before.jpg?raw=trueExtendedLimits_After.jpg?raw=true

 

Crosshair Support

crosshair.jpg?raw=true

 

Next Steps

Many issues have been resolved to get to version 0.91. While a few INF and AI issues, as well as a possible rendering issue and various minor issues remain to be fixed for version 1.0; I am planning on taking a break from the bug fix releases to finish up the GPU renderer. The plan is to finish the renderer and get it released, then go back and finish up the last issues for version 1.0.

Share this post


Link to post

GPU Renderer Update:

 

The GPU renderer has been progressing nicely. Recently lighting and texture offsets have been implemented, leaving "signs", animated textures, and sky handling to complete the core sector renderer. You can look nearly straight up and down but there will be optional pitch limits to match closer to the original and work better with sprites and skies. (Note: the last image was captured before texture offsets were implemented).

 

GPU-TextureOffsets1.jpg?raw=true

 

GPU-TextureOffsets2.jpg?raw=true

 

lookingUp.jpg?raw=true

Share this post


Link to post

Another quick update - work is progressing with proper sky rendering support for the GPU renderer. This is obviously a challenge since the original skies were not meant for perspective when looking up and down. I am currently working on properly handling adjoins with skies (so you will notice some walls that should be sky).

 

Sky3.jpg?raw=true

 

Sky1.jpg?raw=true

 

Sky2.jpg?raw=true

 

 

Share this post


Link to post

I uploaded a video showing the GPU sector renderer in action

 

 

The core features for the sector renderer are done, though I still have some work to do on sky/pit adjoins and some minor issues (mainly the black flicker you get every once in a while because the portal near plane check is too aggressive). At this point, I am going to go on to object rendering and then sweep back to those issues afterwards.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×