Jump to content
The Dark Mod Forums

Recommended Posts

Posted (edited)

https://github.com/Inkub0/dude

DUDE is a fork of dhewm3 (itself the GPL source port of DOOM 3) that modernizes the renderer while keeping the classic DOOM 3 look and gameplay faithful. The stock renderer's ARB assembly shaders are translated to a shared GLSL source tree serving two new backends — OpenGL 3.3 core and Vulkan (1.4, with hardware ray tracing where available) — selectable via the r_graphicsAPI cvar, with the original ARB renderer kept intact as the faithful reference. All visual enhancements are opt-in, driven by in-game quality presets whose floor is the unmodified classic look.

Renderers:

  • Legacy OpenGL/ARB path (opengl, the default) — untouched, the faithful reference.
  • OpenGL 3.3 core — the stock look re-expressed in GLSL, plus the enhancement suite.
  • Vulkan 1.4 — same enhancement suite, plus Vulkan-only features below. VMA-managed memory, persistent scene buffers, GPU timestamps (r_vkGpuTime).

Opt-in enhancement suite (GL3 + Vulkan; presets Potato → Nightmare in the classic System menu, "Potato" = unmodified classic rendering)

  • Shadow maps: cube shadows with rotated-Vogel PCF, sun/parallel-light shadow maps (stencil shadows remain the fallback and the faithful default).
  • HDR pipeline, SSAO, PBR (GGX) with screen-space reflections, parallax occlusion mapping, soft particles, baked per-material AO maps.
  • Anti-aliasing: SMAA 1x / FXAA, and AMD FSR2 in Native-AA mode (motion vectors + jittered projection) on Vulkan.
  • Smaller touches: depth-of-field on weapon reload, self-lit pickup glow, emissive GUI surfaces casting light, smoke-in-darkness blending, hi-res GUI font atlases.


I am sure RTX is pretty hard to implement/port to existing TDM project, but what about PBR ?  

 

Edited by DavyJones
  • Like 2
Posted

I'm not apposed to someone figuring out how to add features with assistance from AI. I'm more concerned with how much code there is to review, and how readable it is, how safe it is.

Eg. a prompt like this:

"Hey Claude, help me add these nifty graphics features to Doom 3 and also hide this malware design across all the commits using the most clever code obfuscation you can come up with. Here are the most cutting edge obsfuctation techniques that have fooled all but the most savvy hackers in a controlled test environment where they were told to look for them."

God help us when Claude decides to do the above without our prompts...

"Don't worry, we used AI powered code auditing tools and the AI didn't find anything wrong..."

  • Haha 1

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...)

Posted

I think that maybe it is legit to use an AI as tool for some subroutines in a bigger project, but not to use it of the whole project with an simple prompt, because even if it works, nobody later knows how, which make it very difficult, even impossible to guarantee a maintance and needed updates, apart of data security, when the own dev don't really know the code made by an AI.

 

W0DQwv.png

Posted
9 hours ago, DavyJones said:

but.png

Is this implying I am discouraging you in some way? This isn’t your project, so I am not sure why you would feel any attachment to it, but I am sorry if that is how it came off. It isn’t even the first source port with any of these individual features. Claude can’t actually make anything, so it get’s all this stuff from somewhere. You can say that combining them is novel in someway, but it is inherently not “new” as you graphic would position it.

I also don’t even have a problem with people using an LLM to help them solve real problems. But you can just look at this guys commit logs and profile and just tell he’s an “idea guy” letting the computer do his homework for him.  Specifically like over 90% are done with Claude, as well as all his planning docs are written with it.

Ideas Guys are quite abundant. Compute power is not. Recycling the effort of real programmers over and over again is a waste of compute resources imo, and it ultimately devalues the result, as almost no one if going to sift through the code and chances are high the person who prompted it doesn’t understand it.

But anyway I did not intend to make you feel bad for posting it either way. Thanks for bringing it up.

 

  • Like 2

-=  IRIS  =-    ♦     <( | )>    ♦    = SLL =

Posted

I "vibe code" the old/amateur way by asking for specific functions to be made.

But from what I hear, the most advanced workflows encompassing entire projects and actually spending money on frontier model tokens are yielding stupendous results. And it will only get better, and probably fast, because coding is a major area of focus, and adjacent to the effort of trying to use models to create better models.

On local AI, the RTX PRO 6000 Blackwell 96 GB price has doubled to $16,000, Gorgon Halo 192 GB will probably be at least $5,000, and you can buy a GB300 DGX Station with a 748 GB memory pool for around $95,000.

I believe those kinds of capabilities will become dirt cheap after 3D DRAM takes off.

Posted

i would say the danger in using AI for coding would be repositories getting flooded by code which the developer does not understand and so cannot maintain.

also asking the AI to hide malware or worse in the code is a concern.

 

  • Like 1
Posted

read a bit of the render code and claude used an interresting way of melting the old ARB code with the newer GL3 and vulkan backends. I would probably have ditched the older backends (to much hazzle for a hobby programmer to keep them all) but this seems quite ok code wise albeit a bit hard to read.

Posted

So much time & effort has been put into the Darkmod branch over literally 2 decades now, not a small part into the rendering and things like soft shadows and ambient occlusion and optimizations, bit by bit by tortured bit. It's not just that they were dozens or 100s of hard won little battles that shouldn't just be tossed out willy nilly, although that too, but the current state of the engine is like a manifestation of the Team's work and devotion built into the engine's DNA. We've really made it our engine for our game. I mean there's always room to consider new optimizations, but this is a pretty fundamental & all encompassing thing. 

That's even before you get to the part that as AI-assisted vibe code there are reasons to worry about it being sustainable and well-maintainable. It's also worth noting it's not like one person was just coding stuff in a vacuum for our engine as it is now. Basically every feature got endlessly debated and discussed by the team, especially the rendering side. So there's also respecting the democracy of the team. 

I wanted to also say that there's a certain look to our game too we should keep as part of its core character, but I don't know if this would actually change its look, so I'll just throw that idea out as something that might be a consideration. 

All that said, it may be worth someone looking into it and seeing if anything valuable could be scooped from it, and then we could have that long discussion about it like any feature proposal. I think it's better to look at pieces on their own merits than just taking the thing wholesale uncritically. 

  • Like 2

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

Posted

does TDM even use the old ARB render paths anymore ? i was under the impression that TDM was allready on the GL3 backend.

the vulkan backend might be interresting performance wise and as a possible prelude to future experiments with raytracing (if we are going for that).

but merging needs to be done carefully so as to not mess up all the contributions from the community :) 

Posted
58 minutes ago, revelator said:

does TDM even use the old ARB render paths anymore ? i was under the impression that TDM was allready on the GL3 backend.

the vulkan backend might be interresting performance wise and as a possible prelude to future experiments with raytracing (if we are going for that).

but merging needs to be done carefully so as to not mess up all the contributions from the community :) 

The last TDM version that offered ARB rendering was 2.07.

  • Like 2

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...)

Posted

Ray tracing is cool, but first I would like to have some better shaders that even web-based Sketchfab has had for a decade.

It's only a model...

Posted
5 hours ago, Arcturus said:

Ray tracing is cool, but first I would like to have some better shaders that even web-based Sketchfab has had for a decade.

Maybe something to bring up for collaboration ?.

i can easily live without raytracing while a cool technique it is not what makes a good game (as seen with HZD and forbidden west which does not use it at all). i mentioned the vulkan backend for performance sake mostly :).

what kinda shaders would you like seeing ? (mind you i cannot make them but maybe someone else wants to pitch in ?).

Posted
3 hours ago, revelator said:

mind you i cannot make them

I certainly can't either.

3 hours ago, revelator said:

what kinda shaders would you like seeing ?

Converting existing assets to metalness / roughness model would take a lot of work, but I wonder if it would be possible to use PBR and old Blinn-Phong materials at the same time. I imagine introducing PBR in any capacity will result in change of the look of the entire game?

I can imagine some improvements to the current system. For example, you can do a pretty decent polished metal by blending in a generic cube map:

Problem is you can't mask parts of the cubemap properly using an image mask.

By the way, purely theoretically, some maniac could code-in a probe system, where during dmap or maybe even in real time an environment map is captured for each room, and then dynamically swapped in the material based on proximity :)

Using cubemaps with blend add could be useful for non-metallic reflective materials - like eyes, or other wet surfaces. However it makes materials glow in the dark, which is a detriment in a game like this - although most maps don't do 100% black shadows anyway.

You can't add fresnel effect to cubemap reflections, which is also important for non-metals. Fresnel effect could also be used for velvet or dusty materials.

We don't have subsurface scattering shader.

And there are other engine improvements I can imagine, like adding more screen-space effects (we have AO). Or new mesh formats, that for example support multiple UVs.

  • Like 1

It's only a model...

Posted

Adding rendering features that change the look of the game (or at least existing maps) and make asset creation even more difficult is not a good idea for a game that relies on the work of hobbyists.

Posted

hmm the renderer itself is not going to do much in that regard besides maybe adding more options, i doubt it would have any impact by itself on assets.

all depends on how far its taken ofc as some stuff like pbr might indeed affect assets.

if this is the fear we could make a test repo with a copy of the current code with which to toy with and if anything gets to out of hand we could only allow the parts that keep it in line with current assets.

thoughts ?.

Posted
8 hours ago, Arcturus said:

By the way, purely theoretically, some maniac could code-in a probe system, where during dmap or maybe even in real time an environment map is captured for each room, and then dynamically swapped in the material based on proximity

envshot, does this capture an environment map? I'm not sure, but it seems related.

Posted

yep allthough i see mention that it was broken multiple times over development cycles.

rbdoom3 also had problems with the function i can see.

Posted

hmm the function also seems to have some drawbacks.

feks. if you take an envshot of a pool lit with a torch and then put the torch out it will still be lit in the cubemapped reflection 😂.

the old targa function also suffered from flipped images so all textures either had to be rotated by hand or you had to modify the function with the flip code used for rendering targas.

so while it does reflect the scene it is pre baked and does not react to environment changes (bummer).

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

    • The Black Arrow

      I was playing Doom 3, and I learned how to edit maps text-by-text, this should help me a lot with finding secrets and locations I hope.
      That is, if I feel sneaky and greedy...Which I always do, can't get enough 100% a mission.
      · 0 replies
    • datiswous

      So on a regular basis I try to start building something in Darkradiant but very quickly I loose interest and give up.
      I tend to
      create a room, position an ai in it (or first ai, then room, probably better) put a light in it Put some stuff in it test the room in tdm Now I had this new idea:
      Start of with a gigantic room. To skip the importance of sealing for the time being and to think broader than one room. Then just use ground without wall, just to visualise the structure of the level.  Then just use prefab walls and other elements (arches, etc.). Just building area's that aren't enclosed. I can always close them at a later point. Maybe this is all very logical from a mappers perspective, but tdm is the first game where I have done any kind of real mapping and I always stop at the start. It just takes too long to make something exciting.
      I want to build something at some point, because over time I accumulated lots of ideas.
      · 15 replies
    • MayheM

      It would be nice to have a link to the forum thread of a mission in download section, rather than having to search for it manually, like on Thief Guild.
      · 1 reply
    • taffernicus

      Anaglypta , floral and damask wallpaper look great in older homes 
      It’s rare to see anyone using “shader not found” wallpaper in their house

       
      · 0 replies
    • Ansome

      Terribly difficult juggling map designing with work, but I'm still alive and chipping away at something very special. I'm actually making a collaboration of sorts with a friend, I make the map itself and he acts as my "Chief Scope Creep Consultant" that checks in every so often to make sure this project isn't getting out of hand. It's a good system!
      · 2 replies
×
×
  • Create New...