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

The Force Engine (Jedi Engine Port/Replacement)

Recommended Posts

6 minutes ago, DuckReconMajor said:

Your link destination just points to this thread.

But I copy/pasted the text and I'm thrilled about the progress always

Thanks for letting me know - fixed.

Share this post


Link to post

Another small update:

 

The renderer reverse-engineering is complete except for 3D object (3DO) rendering. That includes loading and setting up the 3D objects correctly, sorting, sprites, frames, etc.. So next week will be spent finishing up model rendering and refactoring/porting the rest of the code to TFE and then getting ready for the "Classic Renderer" test release. I don't know if the release will happen next week or the following, we'll see how it goes.

 

Once the test release is out the plan is to do another fairly quick follow-up release to allow key/mouse/controller bindings to be set up in the UI and then I will be focusing on reverse-engineering the player movement/physics and collision. While I have started down the "Logics" setup path during this process, I think player control, movement, and collision accuracy will be vital to have in place before combat and to test level traversal properly.

Share this post


Link to post

Huh, just saw this. I really want to play the game properly from start to finish in 2x native res in widescreen :D

Share this post


Link to post
On 10/16/2020 at 3:10 AM, VGA said:

Huh, just saw this. I really want to play the game properly from start to finish in 2x native res in widescreen :D

Reverse-engineering and porting the original renderer is about 95% done. I am actually in the process of implementing widescreen now and will be posting a new update once that is done.

 

That said, the software renderer supports 200p (320x200 in 4:3), 400p (2x resolution) as well as higher resolutions now (up to 4k at the moment). So you don't have to limit yourself to 2x native res unless you want to. :)

Share this post


Link to post

I like my Build engine and Quake engine games at 1080p but Doom engine games usually at 2x vanilla res. THICC pixels.

Share this post


Link to post

Thanks for the comments.

 

A playable release is still a ways off but I think finishing the Classic Renderer and INF will give a really solid foundation. Then I can finally get some accurate gameplay and player control in the builds to test. :)

Share this post


Link to post

Both games really need this, Outlaws in particular. I was never able to play Outlaws without it crashing every few minutes, and there were a handful of other problems I had with running it. 

Share this post


Link to post

Can't wait for this! I actually never got far into playing Dark Forces on PC due to the awkward controls via dosbox and i'm too dumb to mess with them (lol). I did beat it on PS1 though (don't know how as those controls aren't much better tbh). I remember really, really liking it though.

 

I never played Outlaws but i'd really like to try it sometime. I don't mind waiting for this port though. I have plenty of other games to play in the meantime :) 

Share this post


Link to post
6 hours ago, CyberDreams said:

Can't wait for this! I actually never got far into playing Dark Forces on PC due to the awkward controls via dosbox and i'm too dumb to mess with them (lol). I did beat it on PS1 though (don't know how as those controls aren't much better tbh). I remember really, really liking it though.

 

I never played Outlaws but i'd really like to try it sometime. I don't mind waiting for this port though. I have plenty of other games to play in the meantime :) 

Doesn't it play worse on PSX than DOS? More laggy?

Share this post


Link to post
5 hours ago, VGA said:

Doesn't it play worse on PSX than DOS? More laggy?

It plays and looks worse on the PSX. And it doesn't do anything new except CD music. Unfortunately, it isn't like the PSX port of Doom, which while slower and lower resolution did at least add notable new features/ambiance and new effects (like colored lighting). Though TFE should probably support the music at least eventually.

Share this post


Link to post
1 minute ago, lucius said:

It plays and looks worse on the PSX. And it doesn't do anything new except CD music. Unfortunately, it isn't like the PSX port of Doom, which while slower and lower resolution did at least add notable new features/ambiance and new effects (like colored lighting). Though TFE should probably support the music at least eventually.

While I have your attention: What exact resolutions do the DOS and PSX versions of Dark Forces run at?

Share this post


Link to post
2 minutes ago, VGA said:

While I have your attention: What exact resolutions do the DOS and PSX versions of Dark Forces run at?

I don't remember the PSX resolution, honestly. As for DOS, it is 320x200 - though the 3D display skips the top and bottom scanlines.

Share this post


Link to post

I wrote a new blog post:

 

Adjustable HUD

 

Last post I talked about the remaining work for the Classic Renderer and the next steps. In the meantime, based on feedback regarding widescreen, it came to light that just moving the status HUD elements to the edges of the screen in widescreen may not be ideal - especially for ultrawide resolutions. So I decided to implement some basic HUD options, including the ability to move the HUD elements away from the edges. This, of course, appears unnatural since the graphics were designed to sit at the edges of the screen. “Dzierzan” - a member of the discord server - quickly made some art to fix these cutoff edges so I spent a little bit of time to implement an adjustable HUD.

. . . .

 

Read the post here: https://theforceengine.github.io/2020/12/11/TFE-Adjustable-HUD.html

Share this post


Link to post
On 12/10/2020 at 12:39 PM, VGA said:

While I have your attention: What exact resolutions do the DOS and PSX versions of Dark Forces run at?

PSX, it was pretty common for games to run 320x240. Of course, that's just the output resolution; the game's internal rez may be lower and then scaled up (this is exactly what happens to PSX Doom, after all).

Share this post


Link to post

I've looked at https://theforceengine.github.io/TFEM_Spec.html and there's one point I find odd, though I suppose it's inherited from the original level formats and is mostly weird due to my familiarity with the solutions used in Doom ports. But basically, it's the header content.

  DisplayName: <string>  // Name displayed for the player.
  SlotName: <string>     // Name of the level slot the map occupies, game specific.

So each map contains its own "MAPINFO-equivalent" information, meaning the engine has to parse every map on startup to find out which one is the first?

 

Then there's the enumeration of the resources used in the level. For some resources (palettes and colormaps, music, sky, etc.) the information makes sense, obviously, due to the header also fitting the role of a MAPINFO entry; but for others it seems quite rigid -- having the level be responsible for telling which sprites and sounds to load would prevent creating the equivalent of gameplay mods unless they're perfect calques of the original resources -- and also redundant as parsing the rest of the level data should give the engine the list of used textures and entities anyway.

Share this post


Link to post
13 hours ago, Gez said:

I've looked at https://theforceengine.github.io/TFEM_Spec.html and there's one point I find odd, though I suppose it's inherited from the original level formats and is mostly weird due to my familiarity with the solutions used in Doom ports. But basically, it's the header content.


  DisplayName: <string>  // Name displayed for the player.
  SlotName: <string>     // Name of the level slot the map occupies, game specific.

So each map contains its own "MAPINFO-equivalent" information, meaning the engine has to parse every map on startup to find out which one is the first?

 

Then there's the enumeration of the resources used in the level. For some resources (palettes and colormaps, music, sky, etc.) the information makes sense, obviously, due to the header also fitting the role of a MAPINFO entry; but for others it seems quite rigid -- having the level be responsible for telling which sprites and sounds to load would prevent creating the equivalent of gameplay mods unless they're perfect calques of the original resources -- and also redundant as parsing the rest of the level data should give the engine the list of used textures and entities anyway.

Hey Gez, thanks for taking a look.

 

Unfortunately, the original games had hardcoded, named slots, and each level fit into one of those slots. There is another file that lists all of the level names and slots (JEDI.LVL). The display and slot names are not actually required to be here, though the slot name is in the original format. This point can probably use some improvement though, this is certainly just a first draft. I kind of like having them here for verification and so that tools can quickly figure this stuff out by looking at just one file.

 

As for enumerated resources, those are only for level load. New resources can be created during gameplay - such as enemies dropping items. The idea is to load up all of the resources up front and then index them in the map. I don't think this is a big issue since tools can handle this part, the end user should just be able to add whatever textures, sprites, sounds, etc. they want when creating a level.

Edited by lucius

Share this post


Link to post

Just popping in again to say I've still been following the development of this. Although the vast majority of what you're doing is way over my head and beyond me, I'm still eager to check out the level editor whenever it's (more or less) fully functioning. Keep up the good work Lucius!

Share this post


Link to post
On 12/10/2020 at 6:20 AM, VGA said:

Doesn't it play worse on PSX than DOS? More laggy?

 

On 12/10/2020 at 11:37 AM, lucius said:

It plays and looks worse on the PSX. And it doesn't do anything new except CD music. Unfortunately, it isn't like the PSX port of Doom, which while slower and lower resolution did at least add notable new features/ambiance and new effects (like colored lighting). Though TFE should probably support the music at least eventually.

True, but i played it on PS1 some years ago before i really started playing PC games again (around 2015). Before that i only played PC games as a kid (around 2001-2004?) for a short time when my parents had a PC that worked. I thought the game played okay, besides the controls being kinda iffy i guess.

 

It's hard to go back and play those on PS1 too (same with Doom on PS1) since it don't support Analog sticks (Dual-Analog or Dual-Shock). I'm too spoiled by today's controllers ;)

 

TBH, i never noticed games lagging back when i was younger. It's only become noticeable to me ever since i started playing games on an LCD screen or higher later in life. Never really on a CRT TV.

Share this post


Link to post
5 hours ago, CyberDreams said:

 

True, but i played it on PS1 some years ago before i really started playing PC games again (around 2015). Before that i only played PC games as a kid (around 2001-2004?) for a short time when my parents had a PC that worked. I thought the game played okay, besides the controls being kinda iffy i guess.

 

It's hard to go back and play those on PS1 too (same with Doom on PS1) since it don't support Analog sticks (Dual-Analog or Dual-Shock). I'm too spoiled by today's controllers ;)

 

TBH, i never noticed games lagging back when i was younger. It's only become noticeable to me ever since i started playing games on an LCD screen or higher later in life. Never really on a CRT TV.

To be fair, while I do think the port of Dark Forces to PSX was worse than the Doom port, my comments were less about criticizing the port and more about explaining why I don't see any need to add support for it (except for music). Or to put it another way, I consider the DOS version to be the basis for the Dark Forces reverse-engineering/port in TFE - though I think there is some value to making the good parts of the Mac and PSX ports usable at some point (some higher resolution assets for the Mac and the music for the PSX).

Share this post


Link to post
16 hours ago, lucius said:

To be fair, while I do think the port of Dark Forces to PSX was worse than the Doom port, my comments were less about criticizing the port and more about explaining why I don't see any need to add support for it (except for music). Or to put it another way, I consider the DOS version to be the basis for the Dark Forces reverse-engineering/port in TFE - though I think there is some value to making the good parts of the Mac and PSX ports usable at some point (some higher resolution assets for the Mac and the music for the PSX).

Don't worry haha! I agree with you. I wasn't saying that you needed to add support for it either. Like you said, if you want to add support for the music later on down the line, that's up to you. Same with the higher res assets for the Mac version.

Share this post


Link to post

TFE One Year Anniversary

 

The Force Engine started out life as DarkXL 2 on December 21, 2019. Two months later, the project was renamed to The Force Engine, in order to encapsulate the intent of the engine, and put up on GitHub. After another month of work, about 3 months from the beginning, The Force Engine was announced on DoomWorld.

 

. . . .

 

Read the post here: https://theforceengine.github.io/2020/12/21/TFE-One-Year.html

Share this post


Link to post

I posted a final blog entry for 2020, the Classic Renderer is finally complete - just in time to end 2020.

 

TFE Classic Renderer Complete


The 3D Object rendering system, derived from the original DOS code, is now working in both 320x200 (fixed-point sub-renderer) and at higher resolutions and in widescreen (floating-point sub-renderer). This completes the Classic Renderer reverse-engineering and integration project, allowing me to move on to reverse-engineering the INF system.

 

. . . .

 

Read the post here: https://theforceengine.github.io/2020/12/27/TFE-Classic-Renderer-Complete.html

Share this post


Link to post

Really love the effort you put into this. Can't wait to properly replay Dark Forces.

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
×