Jump to content
The Dark Mod Forums

Darkmod: Inspiration thread


Bikerdude

Recommended Posts

It does; it doesn't handle a lot of areas being rendered at the same time so well, and can mess with sound propagation (see the original version of RttC). Breaking sight lines is a good way to reduce the chances of that happening, but you can, in fact, create huge scenes that run well, as long as they aren't too heavy on details.

 

Of course, breaking sight lines also results in more cramped, labyrinthine architecture. And that is a Good Thing.

Come the time of peril, did the ground gape, and did the dead rest unquiet 'gainst us. Our bands of iron and hammers of stone prevailed not, and some did doubt the Builder's plan. But the seals held strong, and the few did triumph, and the doubters were lain into the foundations of the new sanctum. -- Collected letters of the Smith-in-Exile, Civitas Approved

Link to comment
Share on other sites

Ok, two questions:

 

Why id tech 4 doesn't handle well long views?

 

Since it's open source is it fixable?

 

Not to fully contradict Melan here but compared to other engine types Doom 3 is relatively "heavier" than other engines for several reasons.

 

1) When larger views are presented, more light bounding calculations must be performed. Shadowed lights include shadow vector and silhouette calculations. This especially heavy when shadowed lights extend far into the horizon. Even without shadows, if Doom 3 lights overlap more triangles must be allocated and they must be "re-filled" with new light data. This is why Doom 3 is often referred to as "fillrate bound". The longer the view the greater the risk of these overlaps. Also, many mappers are not aware that "longer brush surfaces that have one material applied to them" acquire light overlaps from the far distant regions of the surface. You can break-up materials, change texture scale or translation etc to ensure that a large surface doesn't have a huge light count with little visual aberration. Under ideal circumstances, all surfaces in a scene would have 2 or less light overlaps but this is not usually practical for mappers. In fact, if someone had the IQ for it, you could create a tool that automatically converts overlapping lights to custom light textures so that mappers could place lights free-form without worrying about the performance impact. This could have been done even without the Doom 3 source and perhaps should've been done by Id Software but it's academic now and I suspect the math involved in such a "light projection converter" would challenge even Mr Carmack himself... (especially since the LightCarve map compile method wasn't fully working as expected when the product shipped which is a "simpler" problem).

 

2) Longer and more complex BSP branch evaluations need to be evaluated before objects are culled (I believe Serpentine has worked on this already). Most engines no longer use BSP but instead use a more crude visibility system with aggressive LOD swapping (see below).

 

3) Most engines have in-renderer distance LOD systems. TDM was recently granted an LOD system but it runs from game logic which may not be fully optimal. I believe we have yet to see the potential of even the current system due to the lack of LOD models.

 

Can these issues be addressed in the Source? Yes

 

Are they easy to fix? No

 

We finally have 1 example renderer at Doom3world with Deferred Rendering (which would solve most of the fillrate issue) but the renderer is not complete and only works for point lights. The community is hoping for someone like Tr3B or O'dium to come along and make some big strides but the population of engine designers with the skill and motivation is very low.

 

A shadow solution that doesn't require CPU silhouette calculations would be one of the biggest improvements on the wish list and there is also some preliminary experiments with alternate methods but these are early days.

 

I have no doubt that someone will come along and show-off more promising approaches eventually.

 

 

None of this points to the concept that Doom 3 is a "bad engine". Few engines can handle dynamic light as well as Doom 3 even now. Most don't even try.

Edited by nbohr1more

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

^even Source which is a very popular engine handles much the same as Doom3's, but dynamic lights KILL it. 1 or two in a map and fps drops like a brick. They've got baked lighting which is great, but dynamic is great for TDM.

Dark is the sway that mows like a harvest

Link to comment
Share on other sites

Not to fully contradict Melan here but compared to other engine types Doom 3 is relatively "heavier" than other engines for several reasons.

 

Here are a few more explanations:

 

Here is a thread with a "doom3 can do it too" style of posts, huge outdoor scenes etc. Unfortunately, most of the links to images are dead (Do You Feel Lucky Now, You Cloud Hosting Punk?)

 

http://www.doom3worl...&st=0&sk=t&sd=a

 

The biggest problems for performance of large maps in idTech4 are:

 

* no support for LOD (TDM has this now, but it could be better performance when switching/doing the calculation, and we need way more LOD models)

* no instancing (all models are either drawn one by one from the CPU to the GPU, or are "combined" into a multi-models by the CPU. True "instancing" would the GPU let clone models by drawing one model multiple times, that is a lot faster

* no support for imposters (f.i. a far away tree gets replaced by a billboard with the tree image on it which gets updated if you get closer or move toof ar left/right automatically)

* no multi-threading (and under Linux no SIMD support)

 

All these mean the CPU+GPU has to work way too hard compared to other engines.

 

None of this points to the concept that Doom 3 is a "bad engine". Few engines can handle dynamic light as well as Doom 3 even now. Most don't even try.

 

Can only underwrite this. Also, people usually don't "get" it, but the engine used by TDM has come a very very long way from the engine used in D3, even before we had the full source. There is an incredible amount of modifications and revamps that were added over the years - one example is the AI, which now instead being scripted runs all inside the C++ code and is much much more complex.

"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

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

    • taffernicus

      i am so euphoric to see new FMs keep coming out and I am keen to try it out in my leisure time, then suddenly my PC is spouting a couple of S.M.A.R.T errors...
      tbf i cannot afford myself to miss my network emulator image file&progress, important ebooks, hyper-v checkpoint & hyper-v export and the precious thief & TDM gamesaves. Don't fall yourself into & lay your hands on crappy SSD
       
      · 2 replies
    • OrbWeaver

      Does anyone actually use the Normalise button in the Surface inspector? Even after looking at the code I'm not quite sure what it's for.
      · 7 replies
    • Ansome

      Turns out my 15th anniversary mission idea has already been done once or twice before! I've been beaten to the punch once again, but I suppose that's to be expected when there's over 170 FMs out there, eh? I'm not complaining though, I love learning new tricks and taking inspiration from past FMs. Best of luck on your own fan missions!
      · 4 replies
    • The Black Arrow

      I wanna play Doom 3, but fhDoom has much better features than dhewm3, yet fhDoom is old, outdated and probably not supported. Damn!
      Makes me think that TDM engine for Doom 3 itself would actually be perfect.
      · 6 replies
    • Petike the Taffer

      Maybe a bit of advice ? In the FM series I'm preparing, the two main characters have the given names Toby and Agnes (it's the protagonist and deuteragonist, respectively), I've been toying with the idea of giving them family names as well, since many of the FM series have named protagonists who have surnames. Toby's from a family who were usually farriers, though he eventually wound up working as a cobbler (this serves as a daylight "front" for his night time thieving). Would it make sense if the man's popularly accepted family name was Farrier ? It's an existing, though less common English surname, and it directly refers to the profession practiced by his relatives. Your suggestions ?
      · 9 replies
×
×
  • Create New...