Jump to content
The Dark Mod Forums

How to make fans of classic thief happy: 3 easy steps.


kano

Recommended Posts

1. Produce an updated version of the two games with RTX (full-blown path-tracing) support. If Nvidia did it with Quake 2, then Square/Eidos could do it with the Thief engine.

 

2. Leave the game open to modding. We want fans to create custom levels that take advantage of the path tracing and global illumination on RTX.

 

3. As tempting as it may be, don't make the game require a connection or check-in with mandatory online spyware services in order to be played.

 

I'm actually surprised and a little disappointed that Nvidia didn't grab TDM and port it to RTX, with path tracing. Maybe the polycounts in TDM are too high, I don't know. Many of the modern AAA games that are getting ray tracing only use it for the reflections, and not for everything, like Quake 2 does. That means an updated game from 22 years ago has a renderer that is more faithful to reality than modern games being made today. You've gotta admit, that is kind of funny. For example, instead of using invisible point lights, they use area lights for everything. The textures actually emit light and cast shadows based on their color, shape and size. All reflections are dynamic and real-time. Think of a character swinging his sword around and it reflecting the environment, and anything else that is moving around in the environment too. Polycounts aren't everything, and this is amazing to see.

  • Like 1
Link to comment
Share on other sites

They might try it with Doom 3, although it doesn't make sense to choose tech that ultimately was a fork in a road and more of an experiment. They definitely won't choose TDM, as they need correctly made assets and as much overhead as they can get. There is a RTX-based lightmapping project in the works though (for vanilla Doom 3).

Link to comment
Share on other sites

"correctly made assets"

 

What's wrong with TDM's assets? Why would they not be appropriate for use with path/ray tracing? You've already got the diffuse, the normal, and the specular map. At least for most stuff in TDM. This stuff had to be created by Nvidia (or by modders) for Quake 2 RTX. Unless you mean assets of TDM are too high poly to run real-time with the full path tracing treatment. Or that there is no roughness map. A crude solution for this last bit is to just invert the specular map. :) At least that's how I do it in Blender.

 

On top of the engine enhancement, a Thief RTX port would require all the assets to be augmented with specular and normal maps. They have none, far as I know, just like Quake 2 originally did. That would take a lot of work, come to think of it. But at least it's not like remaking the game from scratch. Square/Eidos should do it.

Edited by kano
Link to comment
Share on other sites

All of this is a weird way to phrase things considering TDM is not Thief & built off the Doom3 engine, but  anyway for the record:

By Thief engine I guess you mean TDM engine, and not the actual Dark Engine for Thief, which is open source and for all I know they may well be also having this debate.

If they do it for Doom3, they would have to release the sourcecode, and how possible would it be to port to TDM (which is on the Doom3 base)?

What do you see when you turn out the light? I can't tell you but I know that it's mine.

Link to comment
Share on other sites

Well ideally Doom3, TDM, and Thief would all get support for RTX. :) Yes, I have one of those cards in my system. I know that Thief and TDM are definitely different things, and I wasn't talking about mixing the two.

 

I don't think classic Thief is open source. Someone found the source code, dumped it on the Internet, and people have been fixing and enhancing it ever since. But Square could put a stop to that if they wanted, since they never gave permission. It's just that Thief is 20 years old and they probably have better (aka more profitable) stuff to do than going after fans who are keeping a 20 year old game alive and compatible with new systems.

Link to comment
Share on other sites

18 hours ago, kano said:

What's wrong with TDM's assets?

They use very high number of materials per model, and the material complexity is often high too. That's a textbook example of how not to make assets, for any engine really. You can easily clog the graphics pipeline this way, even in something like UE4. Since the realtime ray tracing is very young and first rtx cards are still relatively inefficient, nvidia uses older games like Quake 2.

Link to comment
Share on other sites

Quote

That's a textbook example of how not to make assets, for any engine really.

 

If your primary concern is performance, that's correct.  However, TDM has a goal most game companies do not, and that's making assets that are flexible and easily modified by casual users.  Using multiple materials is an obstacle to the first goal, but is highly useful for the second goal.  Exactly where we should have drawn the line between those two competing concerns is open to debate.
 

  • Like 1
Link to comment
Share on other sites

One issue impacting ray tracing in games will be the terminator artifact. It looks like this, and you'll se it in Quake2RTX. The proper way to solve it is to use very high polygon models, which obviously comes at a huge cost. Basically if you have lights that cast sharp shadows, especially the sun, you get jagged stair-step artifacts because of the low polygon model.

http://www.creativewithjaakko.com/2017/07/27/low-poly-artifacts-in-cycles/

Pumping up the render samples will NOT make this go away.

Edited by kano
Link to comment
Share on other sites

On 9/19/2019 at 8:09 PM, kano said:

1. Produce an updated version of the two games with RTX (full-blown path-tracing) support. If Nvidia did it with Quake 2, then Square/Eidos could do it with the Thief engine.

No way. Quake 2 was a very popular game, compared to the Thief's. Shooters are a very popular genre, also today. Thief will never get any further development from the people involved, or the owners of the intellectual property. If you're waiting for that, then you'll die waiting. There's not even interest from players in regards of such games anymore these days, and, back in the days, it was already pretty niche.

Link to comment
Share on other sites

13 hours ago, Springheel said:

 

If your primary concern is performance, that's correct.  However, TDM has a goal most game companies do not, and that's making assets that are flexible and easily modified by casual users.  Using multiple materials is an obstacle to the first goal, but is highly useful for the second goal.  Exactly where we should have drawn the line between those two competing concerns is open to debate.
 

Not really the case of companies vs. hobbyists, as e.g. CS mappers or Skyrim mappers have to do the same, so the engines they use work as expected (i.e. maintain high framerate in competitive online play, or make the gameplay in TES engine as smooth as possible (which isn't easy from the get go). Mappers don't need high number of materials per model to have versatility, they need a decent number of skins.

Link to comment
Share on other sites

But the way it is, creating skins is easier for people with little to no experience in creating textures. You can simply create a skin by exchanging one material with another. No need to create a texture from scratch. That (I belive) is the versatility Springheel meant: The easy possibility to create new skins.

  • Like 1
Link to comment
Share on other sites

Most beginner mappers won't make textures at all, but they will feel the limiting consequences of not optimized assets. They would have more freedom with enough preset skins and optimized assets, as they would hit performance limits later than sooner.

Even now you can see the consequences of that approach: many missions look same-ish and they are unoptimized, or they limit mappers a lot. It's the same as if the assets had fewer editing options, but with all the disadvantages ?

Edited by peter_spy
Link to comment
Share on other sites

19 hours ago, jaxa said:

RTX is a complete dead end, watch this before continuing:

 

This guy does not know what he's talking about; referring to DirectX ray tracing as an "open standard". It's only a standard if you are happy with Windows 10 and all that it represents for the consumer market. Meanwhile I am using this RTX card just fine on Linux, running Quake 2 RTX and looking forward to how the Blender developers use it. He also claims that Quake 2 RTX does not even take advantage of the RTX exclusive features. But it flat-out will not run on prior-gen cards or cards from AMD, save for NVidia who backported ray tracing to the GF10x series of cards for some reason (it runs significantly slower). If competitors like AMD could run Quake 2 RTX at playable frame rates on their current product line, they could hack the game's source code to make it run and prove it, remember that Q2 is open for anybody to modify however they wish. This is another positive aspect of open source gaming. Everything is out in the open for people to see and ensure that no favoritism toward particular hardware is taking place inside the game (this actually does happen with some games).

 

Of course, any hardware can do ray tracing, even a Commodore Amiga. It's making it run at 30 or even 60FPS that's the real magic. I know that there's a big difference between ray tracing a 20 year old game and a modern one at interactive rates. And of course the hardware coming out tomorrow will be better than what we have today. But I still feel that RTX (finally!) represents a reasonable advancement over shadow maps and especially cube maps and screen space reflections. And then we come to the uses outside of games. Even if it can't run a modern game with ray tracing at 60FPS, it will speed up Blender once properly implemented and optimized for.

Edited by kano
Link to comment
Share on other sites

Quote

Mappers don't need high number of materials per model to have versatility, they need a decent number of skins.

 

Skins can be created in two ways.

1.  Use a single texture map on a model, resulting in a single set of image files (diffuse/normal/specular) that cover the entire model.  This will perform better because there is only one material, but as a mapper you're stuck with the texture the modeller provided (or perhaps one or two other options if you're lucky).  if you wanted to change part of the model from wood to metal for your mission, you would need to manually edit all the diffuse, normalmap, and specular image files in a way that fits the model's uvmap, something many mappers don't know how to do.

 

2.  Use models that reference existing textures where possible.  This results in multiple materials and can be a drain on performance, but allows mappers to change the appearance of the model with nothing but a skin file.  No manipulation of image files is required, and mappers can theoretically replace a texture with any other existing texture they like.  The tudor modules, for example, come with 24 possible skins to choose from, and I still see mappers creating their own unique combinations.  No model using a single texture map has that kind of flexibility.

 

So again, it comes down to which goal you want to care about more.   You can certainly argue we went too far towards the versatility goal.  It's much easier to focus only on performance when you are making models to be used in a pre-planned scene that you have complete control of, which is the position most game companies find themselves in.
 

  • Like 1
Link to comment
Share on other sites

Haven't had any complaints with TDM's performance in many years. Even integrated graphics will run it now. The shadow maps are indeed very expensive if you want them to look good, but thankfully they are optional. You should see what they do to my Radeon HD8790m laptop. :)

Link to comment
Share on other sites

the only difference between one type of ray tracing and another type of ray tracing is how many rays from a light source get traced to the camera and how many reflections can one of those rays handle before a cut off is imposed, if the reflections are higher than a cut off then that texture pixel is rendered black.

in the persistence of vision ray tracer program, the default is something like 16 rays and 15 reflections before the 16th reflection is rendered black, but you don't really get to that limit unless doing something weird with mirrors.

Link to comment
Share on other sites

On 9/22/2019 at 12:11 PM, kano said:

This guy does not know what he's talking about; referring to DirectX ray tracing as an "open standard". It's only a standard if you are happy with Windows 10 and all that it represents for the consumer market. Meanwhile I am using this RTX card just fine on Linux, running Quake 2 RTX and looking forward to how the Blender developers use it. He also claims that Quake 2 RTX does not even take advantage of the RTX exclusive features. But it flat-out will not run on prior-gen cards or cards from AMD, save for NVidia who backported ray tracing to the GF10x series of cards for some reason (it runs significantly slower). If competitors like AMD could run Quake 2 RTX at playable frame rates on their current product line, they could hack the game's source code to make it run and prove it, remember that Q2 is open for anybody to modify however they wish. This is another positive aspect of open source gaming. Everything is out in the open for people to see and ensure that no favoritism toward particular hardware is taking place inside the game (this actually does happen with some games).

 

Of course, any hardware can do ray tracing, even a Commodore Amiga. It's making it run at 30 or even 60FPS that's the real magic. I know that there's a big difference between ray tracing a 20 year old game and a modern one at interactive rates. And of course the hardware coming out tomorrow will be better than what we have today. But I still feel that RTX (finally!) represents a reasonable advancement over shadow maps and especially cube maps and screen space reflections. And then we come to the uses outside of games. Even if it can't run a modern game with ray tracing at 60FPS, it will speed up Blender once properly implemented and optimized for.

I am a little dubious about some of the claims in that video too. It was my understanding that there are two different Minecraft ray tracing demos and

one is RTX whereas the other is a screen-space ray tracing tech similar to what Reshade is currently doing with it's advanced AO tech.

 

I have no doubt that AMD can do ray tracing on current hardware. They've shown ray tracing demos as far back as 2008 so it's not a matter of

"capability" but instead it's a matter of "performance". I would be pretty surprised to see Nvidia spend over 30% of their GPU die on something

that doesn't really accelerate ray tracing in any meaningful way at all.

 

The only thing I can fathom is that this "might" be analogous to how Tessellation came to fruition with Nvidia.

 

ATI\AMD had a viable Tessellation tech as far back as DX8 hardware but Nvidia couldn't implement an equivalent without infringing on ATI patents (patent minefield).

So Nvidia spent years claiming that AMD's solution was "wrong", "incomplete" , etc then after Nvidia lobbied Microsoft and OpenGL ARB

to require the Tessellation specification to include features that were friendlier to Nvidia's pipeline then Nvidia was happy to release their own Tessellation

solution and shit on AMD for "not being able to Tessellate".

 

I think that RTX is in a similar category to that.

 

It's a ray tracing implementation that allows Nvidia to continue to use their existing OpenGL based hardware approach rather

than try to rebuild their tech to be closer DX12 which was designed by Microsoft and AMD.

 

Even if PS5 has superior ray tracing to RTX, Nvidia will be able to offer "acceptable" PC support with the original RTX generation and RTXv2

will be powerful enough to handle any disparity between how AMD's implementation works and how much translation overhead is needed to

make it run on Nvidia. Unless AMD figures out how to match or beat Nvidia's "secret sauce" of performance per die size (cough, better deferred render hardware, cough)

Nvidia can still "waste" it's silicon on RTX acceleration to close the gap with AMD in ray tracing while still beating them in standard raster performance.

 

It's a chess game for sure but it's probably Nvidia's only choice since redesigning their hardware to be map closer to DX12 would be another

patent minefield along with being expensive and risky.

 

Still... I think that this is the real practical solution in the near future:

 

https://www.gdcvault.com/play/1026182/

 

Battlefield 3 came up with the idea of doing a low frequency ray tracing run on simplified geometry and using that as input

for GI Probes. It was doing this on the CPU! With GPU accelerated ray tracing, the same approach could be done with much

more detail and still be 100x less expensive than full scene ray tracing and de-noising. This could also be done "now" with

current AMD hardware so it's already a viable production strategy. Nvidia can simply tout it as their tech since they are providing

the end-to-end implementation strategy (which, of course, favours their hardware... ).

Please visit TDM's IndieDB site and help promote the mod:

 

http://www.indiedb.com/mods/the-dark-mod

 

(Yeah, shameless promotion... but traffic is traffic folks...)

Link to comment
Share on other sites

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.   Paste as plain text instead

  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.

  • Recent Status Updates

    • Petike the Taffer

      I've finally managed to log in to The Dark Mod Wiki. I'm back in the saddle and before the holidays start in full, I'll be adding a few new FM articles and doing other updates. Written in Stone is already done.
      · 1 reply
    • nbohr1more

      TDM 15th Anniversary Contest is now active! Please declare your participation: https://forums.thedarkmod.com/index.php?/topic/22413-the-dark-mod-15th-anniversary-contest-entry-thread/
       
      · 0 replies
    • JackFarmer

      @TheUnbeholden
      You cannot receive PMs. Could you please be so kind and check your mailbox if it is full (or maybe you switched off the function)?
      · 1 reply
    • OrbWeaver

      I like the new frob highlight but it would nice if it was less "flickery" while moving over objects (especially barred metal doors).
      · 4 replies
    • nbohr1more

      Please vote in the 15th Anniversary Contest Theme Poll
       
      · 0 replies
×
×
  • Create New...