Jump to content
The Dark Mod Forums

The Great Topic of TDM's Engine's Limitations (Tadaaaaa !)


Recommended Posts

I've been exploring and reading everything I could find on this forum as well as the various wikis such as Dhewm3 wiki and IdDevNet archives, which unfortunately both often contain only some half-finished tutorials, and I've been finding conflicting statements here and there regarding some limitations of the IdTech 4 Engine, so eventually I've decided to create a topic on this subject, which will also regroup various questions I have while I'm at it. ^_^

I would have preferred to finish exploring the forum before asking, but, well, 79 pages with something like 20 results per page with an average of 3 pages per topic to explore and sometimes much more (like the Newbie's Question topic and its 419 pages :o)... I'm not done yet and I won't be done since at least a couple of months, so I'd rather ask anyway. :)


--- On a site note, that's a confirmation that a forum is less efficient in spreading information than an encyclopedia: adding a specific section on The Dark Mod Wiki containing and regrouping all the invaluable tidbits of information spread here and there in the forum would help a lot of people, as well as being quite an incitement for people discovering TDM-the-game and tempted with building a FM, as the mere fact of knowing for instance how detailed the AI system is could be that little spark that get them motivated, instead of going blind for lack on information on how TDM's gameplay works, what the TDM Engine can do, etc. and eventually giving up.

One topic about creating destructible lamps, for instance, contains a lot of valuable information that would warn a beginner that, yes, TDM can have destructible lamps. It may seem obvious, but not anyone is competent in programming, and one of the things I was wondering was exactly "Can TDM's engine allow destructible objects ? Is it only technically possible ?"... that's the typical problem when someone has a limited understanding on a subject due to not enough accessible information (adding a few quick definitions could help as well: I only learnt what a "Cvar" is via an encyclopedia for another game on which I stumbled by accident just because "TDM" was confused with "Team DeathMatch" by the search engine. :mellow: )

Also, and I find this quite important, this would be a great way to honor Grayman's work by drawing any passerby's attention on how much TDM owes him: some information on how the AI works (finding a sword on the ground alerts it, etc) can be found by accident, confirmed by Grayman here and there in a few scattered topics, but it would be way better to have all of this regrouped in a specific section on The Dark Mod Wiki that will also indicate that he is the one who created all of that.

I volunteer to do so, if TDM team members' agree.
---


Anyway, here are the questions, firstly about the engine's limitations:


1) regarding the maximum of weapons that can be declared in the engine's files: I think to have understood that the IdTech4 engine/TDM engine has a limitation regarding the max number of weapons that can be declared, not more than 16 weapons if I understood correctly, but does this mean that "there can be no more than 16 weapons existing" or does this mean that there cannot be more than 16 weapons' "templates" that can be created as basis for inheritances ?


2) What is the maximum of npcs that can be active on the same map ? Are they affected by VisPortals ?
I do know that TDM's engine is limited to a maximum of around 1500-1600 polygons if I remember correctly, but since the models present in a map are at the same time the characters and the scenery (buildings, etc) and that I don't have a reference regarding the average number of polygons both assets need, estimating the max number of active npcs is difficult.

3) Is it possible to display images as readables in a map ? I mean in "fixed" readables.

 

- And the "while-I'm-at-it" questions:

4) Is there a line controlling the lateral movement of a weapon's 3D model when it shoots ?
 In the S.T.A.L.K.E.R series, there is one line in each .LTX file (the type of files where all the lines of code for each weapon are located) called "cam_max_angle" which controls that, as well as "cam_max_angle_horz" which provides a hard limit on the degree of maximum horizontal movement -it "locks" the horizontal movement of a weapon's model, preventing to go past the number of degrees indicated.


5) Is there a line controlling the weapon's position on-screen ?
For the moment, I've repeatedly found nothing in the .dec and .script files of TDM's weapons, while in Doom 3's .dec & .script files I find no line of code whose wording could indicates that and a lot of lines lack commentaries, no information about that in the Dark Radiant Wiki or in the Dhewm3 Wiki or the IdDevNet archive either... I'm wondering if it could be actually something located elsewhere in the PAK files, maybe in some .dec files regarding models ???
 

6) About creating destructible doors: should I want to create that, based on what I've read regarding destructible lamps, all I'd need to do would be to create an entity "door", give it some health points, and have various 3D models of the same door representing its successives states of destruction, is that right ?
Can this entity have armor points too ?

  • Like 1
Link to comment
Share on other sites

9 hours ago, Cecil of Cynope said:

I do know that TDM's engine is limited to a maximum of around 1500-1600 polygons if I remember correctly,

What is your source for this claim? I have never heard of any polygon limit in this engine (other than the soft limitations provided by the performance of any given GPU), and 1600 polygons is a tiny number compared to the hundreds of thousands of polygons which are on screen in a typical TDM scene.

Are you perhaps confusing some suggested guideline (e.g. "Typical NPC models should have an average of X polygons") with an actual engine limit (which does not exist AFAIK)?

By way of comparison, as I recall the original Thief 1 had an on-screen polygon limit of 1000 before rendering artifacts would appear. If some source is claiming that modern TDM can only manage 60% more polygons than a 1998 game which used a software renderer, that source is woefully inaccurate and should be ignored.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Did you check out the following wiki page? https://wiki.thedarkmod.com/index.php?title=Editing_FAQ_-_Troubleshooting_%26_How-To

There is some info on breakable glas and AI . Maybe not what you seek, but that is the place it should go I guess.

 

On a side note, not targeted at you:  On that wiki page there are a lot of links to forum pages. Better put that info in that wiki faq directly by using the hide feature, for longer explanations (I might just do that). Or maybe this is nonsense, I just wonder if it could get lost somehow with a forum update or something. I think it's risky to use the forum as a general source of information. It's more temporary.

 

Btw. I think your topic-title is a little too much attention seeking.

Edited by datiswous
  • Thanks 1
Link to comment
Share on other sites

9 hours ago, Cecil of Cynope said:

Also, and I find this quite important, this would be a great way to honor Grayman's work by drawing any passerby's attention on how much TDM owes him: some information on how the AI works (finding a sword on the ground alerts it, etc) can be found by accident, confirmed by Grayman here and there in a few scattered topics, but it would be way better to have all of this regrouped in a specific section on The Dark Mod Wiki that will also indicate that he is the one who created all of that.

I volunteer to do so, if TDM team members' agree.

Not entirely true. Sure, Grayman did a ton of work on AI, but we had working AI even before Grayman took up the Job, you know. 😉 And how would you even go about identifying all the features of our AI? Would you go study the code? Is that within your capabilities?

I generally think our wiki offers all the needed basic information to start working for TDM, 'though. More detailed questions can be asked in the forums. If you feel your question is a rather simple question related to Dark Radiant, we have a thread for that, otherwise, create a new topic for it and ask away. Some things may be impossible to answer right of the bat and might need some exploring.

 

Regarding your other questions:

  • 1: Not really sure about the maximum number of weapons, but I do wonder why you even have that question. Do you intend to create a mod of TDM with tons of weapons?
  • 2: There is no limit, as Orbweaver already pointed out.
  • 3: It is possible. You'd have to setup a custom readable GUI for that.
  • 4 and 5: I can't check myself right now, as I am at work, but you can always try to find cvars in the console via autocomplete or even the listcvars command.
  • 6: No clue.

 

I am stilling trying to make sense of what you want to achieve with this topic. Are you just curious, or do you plan on creating somehing with TDM?

 

 

  • Thanks 1
Link to comment
Share on other sites

2 hours ago, Filizitas said:

1600 Polygons only O.o thats like nothing! That cannot be right at all! A total level screen probably contains over 50K! Just the geometry!

Last time I checked, and that was around TDM 2.05, TDM could handle 1,5 million tris in one scene on my hardware. That was an isolated test though, results may vary in real FM. You may hit polygon limits for single mesh/model though. I think I had a difficulty working with 30k tris .ase models, and editing their paths in notepad was a nightmare. That probably doesn't apply to .lwo. Still, that's probably more than most of us need.

Edited by peter_spy
Link to comment
Share on other sites

Some details on making things breakable:

 

We also had an internal discussion about natively supporting bashing of doors back in 2010, which I will link for reference, but as it is an internal discussion, there is no public access to it. To summarize, it was decided to not go forward with this, as it adds nothing to the gameplay of TDM.

  • Thanks 1
Link to comment
Share on other sites

  

On 6/29/2021 at 11:37 AM, OrbWeaver said:

What is your source for this claim? I have never heard of any polygon limit in this engine (other than the soft limitations provided by the performance of any given GPU), and 1600 polygons is a tiny number compared to the hundreds of thousands of polygons which are on screen in a typical TDM scene.

Are you perhaps confusing some suggested guideline (e.g. "Typical NPC models should have an average of X polygons") with an actual engine limit (which does not exist AFAIK)?

Oh... yeah, now that you mention it I remember reading something about NPC models, so it may actually be just me mixing that up and ending up believing that this was a strict engine limit :unsure::blink:

The big problem is that I lack some basic knowledge in several areas regarding how a game engine work, as I'm just at beginner-level I don't have a reference of knowledge with which to compare any information to know if it's exact / its source is credible or not, and I can also jump to erroneous conclusions.

Kinda like how people lacking a precise knowledge base about firearms end up misunderstanding what a telescopic bolt is for instance (not to mention that some of the technical terms in this area are either archaist references or even plain misnomers to begin with -a "telescopic bolt" is absolutely not related to anything "telescopic", it just a bolt carrier extended forward by design to cover the chamber and the barrel, as a technical solution to save space inside the receiver/the frame) or how a silencer works and how much does it silence a weapon (in movies: quiet as a snap of the finger, in reality: not much, even by piling up various technical solutions and tinkering with the ammunition or creating specific ammo with very particular ballistics, which opens a whole new list of constraints), and end up believing politicians affirming that a heat shield is "A Shoulder Thing That Goes Up" that must be banned " 'cuz it like makes the guns totally more dangerous or sumfin' " whereas it's just both a safety measure for the user and a protection for the barrel (true story... "it's a shoulder thing that goes up" was a reply from a law-making politician to a question from a host on a US radio station, a Libertarian host if I remember correctly, asking if said politician knew what she was talking about regarding the heat shields she was creating a law for and wanted so eagerly to ban).

Anyway, enough gun autismo for today :laugh:

So, with that in mind, I think you have a good understanding on how messy things can become to someone who's lacking a knowledge base in a specific topic :) And thanks a lot for giving me a point of comparison with Thief 1's polygon limit, that helps a lot ;)

 

On 6/29/2021 at 11:47 AM, datiswous said:

Did you check out the following wiki page? https://wiki.thedarkmod.com/index.php?title=Editing_FAQ_-_Troubleshooting_%26_How-To

[...]
Btw. I think your topic-title is a little too much attention seeking.

Thanks for pointing me out to this specific FAQ, I missed that one, lots of interesting info on that page :)

It's odd that you perceived this topic's title as attention-seeking, it was intended to be just a funny title as I thought this could be a topic regrouping all the informations regarding the engine's limitations to help people make a decision regarding the use of TDM's engine for their own project, which... fell very flat, as it turns out I was completely wrong to begin with :blink::laugh:

 

On 6/29/2021 at 1:59 PM, STiFU said:

 

Not entirely true. Sure, Grayman did a ton of work on AI, but we had working AI even before Grayman took up the Job, you know. 😉 And how would you even go about identifying all the features of our AI? Would you go study the code? Is that within your capabilities?

 

I didn't know that you did have working AI before Grayman worked on that, I assumed he did most of the work on the AI as I kept seeing comments written by him next to several lines of code in a lot of files, as well as "Copyright - Grayman - 2005" appearing at the top. About identifying all the features of the AI, well almost all of the lines of code regarding the AI are commented, with phrases explaining precisely what the AI related to such type of character (guard, rival thief, low-level bandit, elite guard, "civilian", etc.), so I expected to be able to do that pretty easily :)

By the way, are you the STiFU who worked with BOMBER GAMES on the remake of a specific beat'em all from the 1990's initially made by a brand with a hedgehog for mascot ?

 

 

On 6/29/2021 at 1:59 PM, STiFU said:

I am stilling trying to make sense of what you want to achieve with this topic. Are you just curious, or do you plan on creating somehing with TDM?

 

Yeah, I do plan on creating something with TDM, I actually made a topic about that which gives a little bit more details about what I have in mind, my replies in it are a bit long but provide more context about my project.

Regarding specifically what I wanted to know by creating this topic here, along with what I said in my reply to Datiswous above, my main aim was to collect as much information as possible concerning TDM's possible limitations, as I'm very concerned by the possibility of discovering an unexpected limitation mid-development. This would end up causing a waste of development time that can be catastrophic, depending on how far in the project's development that limitation is discovered... that's what almost killed VTMB, Vampire The Masquerade: Bloodlines, the game from 2004 that was almost cancelled, and ended up being shipped unfinished with game-breaking bugs that had eventually been all solved by WESP5's Unofficial Patch, who almost deserves a statues to his eternal glory for that.

When such kind of unforeseen problem occurs mid-development, the "least shitty" solution is usually to switch to a new engine, but usually that's such a waste of development time and causes such a loss of money that you can just scrap everything you've done and definitively abandon the project forever... as I don't want to end up indebted or with half of my savings burnt for an aborted game, I take extra precaution during what can still be called "pre-production" for the moment: I carefully think about every thing that could went wrong and plan ahead, hence this topic ;) :)

I'm glad to learn that there is no limit regarding the total number of polygons that can be displayed in-game, thanks a lot for your answers STiFU, here are a few precisions regarding the points evoked, I put your reply in bold and italics, with mine just below:
 

1: Not really sure about the maximum number of weapons, but I do wonder why you even have that question. Do you intend to create a mod of TDM with tons of weapons?

Well it's not exactly adding tons of weapons, it's actually about managing to implement elements of my game system, I mean going from paper to line of code: as several weapons will gain some specific new effects as the player character progresses in the character sheet, I was expecting to have to create a lot of versions of the same weapon for each and every weapon.
Keeping in mind that VTMB had a hard-coded limitation about the number of templates of objects (they're all definitively set, one cannot add more than all the existing templates or objects, which complicated the life of a lot of modders as one had to erase an existing object and use its template to "create" a false new one, WESP 5 could tell you more about that as I'm not completely familiar with modding VTMB), I was again concerned about the fact that if a similar limitation existed in TDM's engine, I'd very probably have to scrap this part of my game system, which by ricochet would throw shit at my balancing system regarding weapons. -_-
 

3: You'd have to setup a custom readable GUI for that.

Ok... so this means that's something that will have to be added by programming, I guess.

4 and 5: I can't check myself right now, as I am at work, but you can always try to find cvars in the console via autocomplete or even the listcvars command.

Mmm... so... if I understand correctly, this means that, during the game, by typing a console command that would display a list of all the actions currently done by the engine in real time, and then by using the various guns at that moment, the various lines of code involved would appear and I'd see if there is one whose name reveals that it's related to the movement of a weapon's 3D model and the idle position of that model, amirite ? :huh:

 

 

On 6/29/2021 at 2:10 PM, STiFU said:

We also had an internal discussion about natively supporting bashing of doors back in 2010, which I will link for reference, but as it is an internal discussion, there is no public access to it. To summarize, it was decided to not go forward with this, as it adds nothing to the gameplay of TDM.


That was a wise choice, the ability to bash doors is something that is more necessary for a RPG than for a stealth-oriented game. It could still be justified in TDM as a mean to provide an alternate solution for the player at the cost of not achieving "Ghosting", but since there is no incentive to ghosting in your game system as it's just a personal challenge for the player, and that TDM was a spiritual successor to Thief, it was indeed not useful to add this functionality.

 

Link to comment
Share on other sites

Thanks for pointing me out toward this topic, I had already found the limited weapons slot explanation from the archived iddevnet threads but I didn't found this particular topic on The Dark Mod forums, there seems to be lots of info in this one, I'm gonna read it attentively :)

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.

 Share

  • Recent Status Updates

    • STiFU

      We are taking our son on his very first holiday trip to see the sea for the first time. 🙂 Will be back in a week.
      · 0 replies
    • Gilkar

      When I was a young man my father was so ignorant I could hardly stand to have him around. As I grew older I was amazed at how much the old man had learned in such a short time.
      · 1 reply
    • jaxa

      RTX 3090 Super, RTX 3070 Ti 16 GB, RTX 2060 12 GB
      https://wccftech.com/nvidia-launching-rtx-3090-super-rtx-3070-ti-16gb-and-rtx-2060-12gb-by-january-2022/
      · 0 replies
    • duzenko

      CPU benchmark time - compiling DarkRadiant (2nd run)
      i5 8600K 6C/6T@4.4GHz DDR4 2x2133MHz 9MB cache
      Parallel builds: 1. 3:57 Parallel builds: 6 (default). 2:28 r5 1600AF 6C/12T@3.3GHz DDR4 1x2666MHz 16 MB cache, temp folder on HDD
      Parallel builds: 1. 5:05 Parallel builds: 4. 2:47 Parallel builds: 6. 2:55 Parallel builds: 12 (default). 2:57
      · 6 replies
    • nbohr1more

      Status updates are back so it is also a good time to return to contests!
      https://forums.thedarkmod.com/index.php?/topic/21095-christmas-connections-contest-2021
       
      · 0 replies
×
×
  • Create New...