Jump to content

The Force Engine (Jedi Engine Port/Replacement)


Recommended Posts

This is so cool!! I've never actually played Outlaws but i love Dark Forces! I'm really excited for this! Glad to see you back in the community as well :)

Share this post


Link to post

I read the news about this in Daggerfall Unity forums. This is REALLY great stuff! Big thx for You Lucius for making this!
btw I know its a long shot but...its possible to make port of Jedi Knight 1 in distant future? This game really needs engine rewrite.

Share this post


Link to post

There are tons of good DF mods out there and it's a pain to set them up in DOSBox. Lots of files have to be replaced. If this port will make mod usage as easy as "zip all mod files, drop them into a folder and load any zip to make it work", I am absolutely in.

 

I admit I couldn't wait for a solution and replayed DF a few months ago on DosBox after at least 20 years or so. It wasn't the amazing experience I remembered it to be, mostly because I got used to high resolutions which the original version doesn't provide. This is badly needed, also since I want to play stuff like "The Dark Tide" series without having to be afraid of running into memory-related crashes in DOSBox.

Oh, and DF checkpoint system STILL sucks. Why are there no quicksaves in this game? It's annoying to be forced to play through some of the massive levels later on without having the option to take a break.

Edited by NightFright

Share this post


Link to post

Like others, I was one of the people who was waiting for XL Engine and scouring its forums for any news for years before its untimely death. After looking at the screenshots, I think it's worth saddling up once more.

 

2 hours ago, NightFright said:

Oh, and DF checkpoint system STILL sucks. Why are there no quicksaves in this game? It's annoying to be forced to play through some of the massive levels later on without having the option to take a break.

I agree, it was pretty much the sole reason why I still didn't beat DF after all these years, eventually it gets too frustrating to continue. An option for quicksaving/manual saving would be a godsend.

 

2 hours ago, NightFright said:

There are tons of good DF mods out there and it's a pain to set them up in DOSBox. Lots of files have to be replaced. If this port will make mod usage as easy as "zip all mod files, drop them into a folder and load any zip to make it work", I am absolutely in.

The roadmap for the first official release says "Direct mod loading from zip files".

Edited by Vic Vos

Share this post


Link to post

Very interested. I've played through Dark Forces for the first time a couple of months ago (GOG version), the level design in this game is amazing. It definitely deserves a good source port.

Share this post


Link to post
7 hours ago, Zaratul said:

I read the news about this in Daggerfall Unity forums. This is REALLY great stuff! Big thx for You Lucius for making this!
btw I know its a long shot but...its possible to make port of Jedi Knight 1 in distant future? This game really needs engine rewrite.

I knew someone ask about Jedi Knight eventually. :)  The Jedi/Sith engines do share some formats and functionality but are also very different at their core. So, I'm not sure yet - I want to focus on finishing Dark Forces and Outlaws first and avoid feature creep. But I did intentionally pick a project name so that supporting both the Jedi and Sith engines would make sense. :)-

7 hours ago, NightFright said:

There are tons of good DF mods out there and it's a pain to set them up in DOSBox. Lots of files have to be replaced. If this port will make mod usage as easy as "zip all mod files, drop them into a folder and load any zip to make it work", I am absolutely in.

 

I admit I couldn't wait for a solution and replayed DF a few months ago on DosBox after at least 20 years or so. It wasn't the amazing experience I remembered it to be, mostly because I got used to high resolutions which the original version doesn't provide. This is badly needed, also since I want to play stuff like "The Dark Tide" series without having to be afraid of running into memory-related crashes in DOSBox.

Oh, and DF checkpoint system STILL sucks. Why are there no quicksaves in this game? It's annoying to be forced to play through some of the massive levels later on without having the option to take a break.

It currently doesn't work yet but the plan is to directly load mods from their zip files. The idea is that you will be able to put all your mods in a directory and then load the one you want to play through the in-app menu. So it will be super-easy. :D

 

And finally, save games . . . The original checkpoint/save system will be used as-is. However, I am planning on adding a "save state" system, as you find in a modern emulator, in order to get proper save game functionality if you want to use it while keeping the original system in place. This will also be useful for dealing with bugs since I can have people send me a save state where it happens.

Share this post


Link to post

Lucius I have no coding knowledge whatsoever besides ACS and basic C++ commands, and I've been doing 2-D level editing for many years. Im not sure how I can help out with this, but I am very very interested in doing so.

Share this post


Link to post

(Edit: Sorry the Quote started acting really weird so I deleted it).

@MikeyScoots

I'm not really looking for help at the moment. However I am planning on integrating asset and level editor tools, you can see early versions of them in the build (and screenshots). If you have suggestions for things that can make level editing easier or modding better or just tools you really like, please let me know. :)  And of course, testing out the tools when they become more functional would be great.

 

Right now, however, my primary focus is on the reverse-engineering work and getting Dark Forces functionally complete. But I will certainly post about it when there are updates to the tools (and of course other updates as well).

 

Thanks for the kind offer.

Edited by lucius

Share this post


Link to post
33 minutes ago, lucius said:

(Edit: Sorry the Quote started acting really weird so I deleted it).

@MikeyScoots

I'm not really looking for help at the moment. However I am planning on integrating asset and level editor tools, you can see early versions of them in the build (and screenshots). If you have suggestions for things that can make level editing easier or modding better or just tools you really like, please let me know. :)  And of course, testing out the tools when they become more functional would be great.

 

Right now, however, my primary focus is on the reverse-engineering work and getting Dark Forces functionally complete. But I will certainly post about it when there are updates to the tools (and of course other updates as well).

 

Thanks for the kind offer.

Well, if its anything like Doom Builder that would be the best option, which I already see a 3D mode. Ive been trying to find a level editor for the Jedi engine for years and could never get anything to run on a modern. I'd love to test it out and give suggestions for sure. If Im not mistaken didnt the Jedi engine have some 3D floor features but you couldn't see the floor you were going under at the same time or something? Definitely integrate a way to show the 3d floors and warnings would be great.

Share this post


Link to post
 
 
 
 
2
1 hour ago, MikeyScoots said:

If Im not mistaken didnt the Jedi engine have some 3D floor features but you couldn't see the floor you were going under at the same time or something? Definitely integrate a way to show the 3d floors and warnings would be great.

Sort of.

 

The version of the engine used in Dark Forces is similar to Build [ but less janky :)- ] - each sector is distinct and connected through portals to other sectors (called "adjoins"). Because of this, sectors can be layered on top of each other, you can have spiral staircases or different levels. Using INF, adjoins can be changed dynamically, allowing an elevator to go between floors in a multi-level structure, for example. To avoid overlapping sectors from getting too confusing, sectors are assigned a "layer" - and only the current layer is shown on the automap. The level editor uses these same layers to show the current layer and "lower" layers are faded wireframes to avoid getting in the way visually.

 

The second method Dark Forces has of supporting multiple levels, such as bridges you can pass under or walk on top of, is by using two additional features:

* 3D models (affine textured, but flat floor-like sections can instead use the same texture technic as the sectors, making them look the same).

* Second sector height.

 

The way this works is that the 3D model of a bridge or object is rendered such that the top of the object matches the sector's second height. And then if the player is below the second height, that is treated as the ceiling for collision and if the player is above it is treated as the floor. So these 3D bridges have player collision both from beneath and on top, giving you two levels to work with. The level editor in the current build renders this correctly now.

 

Finally, the Outlaws version of the Jedi Engine added new features (relevant 2 listed):

* Vertical Adjoins

* Double Adjoins

 

Basically vertical adjoins can connect sectors vertically through the floor/ceiling (but vertices must match XZ positions) - this is how swimmable water is done. However, each sector can only have a single vertical adjoin.

 

Double adjoins allow a single wall to connect to two sectors instead of one allowing for true "room over room" effects. These are also commonly used in Outlaws to build furniture, like tables, shelves, and 3D railings out of sectors. But this is also used for room over room effects as well as you might see in late Build engine games - but it's built into the engine instead of being done through game code or using multiple rendering passes. And it is used all over the place in Outlaws, so it has to be efficient. :)

 

The level editor does not yet support Outlaws features but it will before the proper first release. In addition, I plan on supporting both the Dark Forces and Outlaws level formats for Dark Forces modding - which means (if you use the newer format) that you get the enhanced Jedi features such as slopes, vertical adjoins, double adjoins, per-sector colormap, floor and ceiling overlays, etc. with new Dark Forces mods. Of course, if you do this than the mod will no longer be vanilla compatible.

Share this post


Link to post
1 hour ago, lucius said:

The level editor does not yet support Outlaws features but it will before the proper first release. In addition, I plan on supporting both the Dark Forces and Outlaws level formats for Dark Forces modding - which means (if you use the newer format) that you get the enhanced Jedi features such as slopes, vertical adjoins, double adjoins, per-sector colormap, floor and ceiling overlays, etc. with new Dark Forces mods. Of course, if you do this than the mod will no longer be vanilla compatible.

Since you mention this, it'd be important for modders to know in the future if their mod will work for Vanilla Dark Forces or not.

 

Is there any sort of plan for that sort of executable (a la how we have Chocolate Doom to be as close to vanilla Doom, bugs and all)? Or would Force Engine be smart enough to be able to tell you "This mod isn't vanilla compatible" or whatever?

Share this post


Link to post
18 minutes ago, Dark Pulse said:

Since you mention this, it'd be important for modders to know in the future if their mod will work for Vanilla Dark Forces or not.

 

Is there any sort of plan for that sort of executable (a la how we have Chocolate Doom to be as close to vanilla Doom, bugs and all)? Or would Force Engine be smart enough to be able to tell you "This mod isn't vanilla compatible" or whatever?

When you create a new level, you will get to choose which format you want to use. At this point, it will warn you of the consequences. In other words, you won't be able to use new (level) features without using the newer level format.

 

The Force Engine "Classic" mode will give you the "Chocolate Doom" effect - the original software renderer, behaviors, etc.. But from there you can enable features one by one until you get the right mix of "Classic" and modern that you are looking for.

Share this post


Link to post

Please add a quick save function to dark forces, and also allow texture filtering for those of us that want it. Thanks!

Edited by Yhe1

Share this post


Link to post
21 minutes ago, Yhe1 said:

Please add a quick save function to dark forces, and also allow texture filtering for those of us that want it. Thanks!

I mentioned this in previous responses but 1) emulator-like "save states" will be available in a future build - allowing for quicksaves while keeping the original system in place and 2) hardware rendering will be supported before the first proper release with all the usual texture filtering options (bilinear, mipmaps, anisotropic, etc. in addition to point sampling).

Share this post


Link to post

The big question @lucius is:

 

Will it support the PSX release of Dark Forces?

 

AFAIK that also ran the Jedi Engine (And it runs it so well) but it was a very neat conversion back then.

Share this post


Link to post

That "save state" feature will do it for me, I guess. Just some way to be able to interrupt gameplay while playing a map and return to it later. I know LucasArts wanted to increase suspense with this feature, limiting your respawn amounts and so on, but today it just seems like it's lacking an essential feature. And the way you intend to implement loading mods reminds me of BloodGDX, and I like that system a lot.

Share this post


Link to post

You know what would be amazing? If eventually grandgreed or Phredreeke could make upscale packs, much like what they did with Hexen and Blood.

Share this post


Link to post
9 hours ago, Redneckerz said:

The big question @lucius is:

 

Will it support the PSX release of Dark Forces?

 

AFAIK that also ran the Jedi Engine (And it runs it so well) but it was a very neat conversion back then.

The PSX conversion was pretty poor and unlike Doom on PSX, it didn't really add anything. So I'm not currently planning on dealing with the PSX version. However, I am planning on supporting some of the assets from the MAC version (such as higher resolution HUD). But ultimately The Force Engine is based on the DOS version of Dark Forces and Windows version (only version?) of Outlaws - at least for now.

Share this post


Link to post

Pre-Release Build Version 0.01.005; Win64 has been released.
Downloads

 

Changes:

  • PrintScreen will now take screenshots that will be saved in the /Documents/Screenshots/ folder.
  • The “Configure” menu option now opens up configuration menus.
  • Game paths can now be set in the application in the “Game” configuration menu.
  • A few graphics settings such as resolution, Fullscreen/windowed can be set in the Graphics menu. “Custom” is available as a resolution choice, which provides additional UI to manually set the desired resolution.
  • About tells you the Build version and provides useful links.


This is a minor "quality of life" update but a much larger update is coming in the next few weeks that will make the game rendering even more accurate, such as better light falloff in some levels. The coming renderer update will make the renderer functionally identical to the Dos version - including bugs (in 320x200 anyway) and add support for widescreen. There may be additional minor updates beforehand however.

Share this post


Link to post

^Sounds good! I probably won't play it until it's a bit more stable but thats alright with me. I don't mind waiting. I appreciate the posts/updates and builds :) The last time i played this game was on PS1 (i own a copy) and it was damn hard on that console. I think i had to cheat later on haha! That game doesn't utilize analog control so it wasn't easy for me.

 

I'm really stoked for this though! I've been thinking about buying the actual game on Ebay but it's hard to find a complete copy in good condition. Maybe i'll look into it more. I have a tiny collection of PC games going but it's not much so far. Anyway's i just wanted to say good luck with this source port :)

Share this post


Link to post
2 hours ago, CyberDreams said:

^Sounds good! I probably won't play it until it's a bit more stable but thats alright with me. I don't mind waiting. I appreciate the posts/updates and builds :) The last time i played this game was on PS1 (i own a copy) and it was damn hard on that console. I think i had to cheat later on haha! That game doesn't utilize analog control so it wasn't easy for me.

 

I'm really stoked for this though! I've been thinking about buying the actual game on Ebay but it's hard to find a complete copy in good condition. Maybe i'll look into it more. I have a tiny collection of PC games going but it's not much so far. Anyway's i just wanted to say good luck with this source port :)

Thanks CyberDreams. :)  You can purchase a digital copy of the games on Steam and GOG, which are the easiest and cheapest ways of playing.

Share this post


Link to post

Felt compelled to look and see if somehow, for some reason, a DF source port was being worked on actively right now. I cannot express my joy. You absolute madman.

Share this post


Link to post
On 5/20/2020 at 3:48 AM, lucius said:

The version of the engine used in Dark Forces is similar to Build [ but less janky :)- ] - each sector is distinct and connected through portals to other sectors (called "adjoins"). Because of this, sectors can be layered on top of each other, you can have spiral staircases or different levels. Using INF, adjoins can be changed dynamically, allowing an elevator to go between floors in a multi-level structure, for example. To avoid overlapping sectors from getting too confusing, sectors are assigned a "layer" - and only the current layer is shown on the automap. The level editor uses these same layers to show the current layer and "lower" layers are faded wireframes to avoid getting in the way visually.

 

I remember playing with one or two map editors for DF back in the 90ies. Unfortunately, there wasn't any good documentation about all these features and functions, so user maps for DF were a rather rare thing.

 

Hopefully that will change with your port, because DF is my personal fave in this series. Later games become less "dark forces" and too many "jedi knight" for my taste.

Share this post


Link to post

This looks amazing and quite promising! I echo the sentiments of others in that I could never quite get into level editing for Dark Forces due to the janky, archaic editors. (Although I admit I did not try very hard to pick them up haha) This looks like it has great potential to breathe some new life into the game and spark a new modding scene. I'll be keeping an eye on this, good luck to you!

Share this post


Link to post

I have posted a new blog post regarding the upcoming Upcoming DF Classic Renderer Release and some information about what comes next once that release has been finalized.

 

Let me know if you have any comments or questions. :)

Edited by lucius

Share this post


Link to post

Pre-Release Build Version 0.01.006; Win64 has been released.

Download https://theforceengine.github.io/downloads.html


Changes:

  • Fixes a “freeze” in “Prelude to Harkov’s Defection” when shooting at certain walls.
  • Fixes hardcoded GOG game source data paths for Dark Forces.
  • Fixes Steam game source data paths for Outlaws.
  • Outlaws paths are always filled out now if possible, though only Dark Forces is playable.
  • Now uses the registry to find Steam and GOG game paths, making auto-detecting the game data much more robust - similar to Doom ports like ZDoom and Chocolate Doom.

This is another small "quality of life" release that fixes a freeze in at least one mod when shooting and makes auto-detecting source game data much more robust.

Edited by lucius

Share this post


Link to post
  • 2 weeks later...

I have posted a new blog post which talks about the classic renderer progress.

 

Work on the reverse-engineering effort has been progressing well. The sector rendering portion is almost complete with some more work in the next few weeks on sprites and 3d objects. The goal of this effort is to finish the Classic Renderer (for Dark Forces) and have all levels and mods render correctly - except for issues caused by missing gameplay elements (caused by INF bugs or lack of AI).

. . .

Read the full post here:
 Blog Post

 

As you can see from the blog post, I decided to put together a side-by-side image of the Classic Renderer and DosBox in an area that the current test build is least accurate - low light conditions. The views aren't perfectly lined up and there is a slight amount of distortion in The Force Engine version due to Photoshop resizing, but it shows the accuracy well:

ClassicRendererAndDosBox.png?raw=true

Edited by lucius

Share this post


Link to post

this is amazing Lucius!! i will try it out right now! i played Dark forces in October or so and i could not get DarkXL to work properly on my pc so i ended up playing the whole game with a mouse fix o found on steam forums and original graphics..thank you!

Share this post


Link to post
50 minutes ago, Kerunato said:

this is amazing Lucius!! i will try it out right now! i played Dark forces in October or so and i could not get DarkXL to work properly on my pc so i ended up playing the whole game with a mouse fix o found on steam forums and original graphics..thank you!

Just remember that the current release is a "Test Release" - while it is possible to "play" through the game the AI just stands around (killable but no challenge) and the player movement/collision is a placeholder and not correct yet. The next planned build will be the "Classic Renderer" release, which should complete the Classic Renderer (reverse-engineering complete on that portion). And then I can focus on gameplay elements.

Share this post


Link to post
  • 3 weeks later...

It's about time to post another update regarding the progress towards the Classic Renderer Release. RE = fully reverse-engineered and ported to the engine.

 

Task List
The following task list shows the items required for the release. The biggest remaining items are Object/Sector assignment and RE Object 3D rendering. Once those are complete the remaining tasks will be completed quickly. The release is still on track for this month. Also note that the reverse engineering efforts touch many systems in the DOS exe, so this work is also laying the foundation for the rest of the reverse-engineering effort, accelerating this project towards release.

. . . .

Read the post here: https://theforceengine.github.io/2020/07/08/ClassicRendererProgress2.html

Edited by lucius

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...