{ns_subway} About Clipnodes Limitation

mateomateo Join Date: 2003-04-08 Member: 15320Members, Constellation
Hello,

The ns_subway team is working hard and hard every day to optimize the map. Actually, 75% of the map is built, and we use 68% of maxplanes using xp cagey tools (thanks to him <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo--> )

BUT, there is another limitation that is causing problems : the max_clipnodes.
We now what is a clipnode, and we used a lot CLIP brushes to reduce the count.
But with 75% of the map, we use 98% of the maxplinodes.

Has someone an idea ?
Is there a way to modify clipnodes limitation ?

Thanks.

Comments

  • ShadowicsShadowics Join Date: 2002-11-07 Member: 7652Members
    The clipnode limit is a hard engine limit AFAIK. You can use the parameter '-cliptype smallest' on HLCSG to tell it to try and use the fewest clipnodes possible, though it will not be a large reduction.

    I helped someone else out with clipnodes in <a href='http://www.unknownworlds.com/forums/index.php?act=ST&f=4&t=38459' target='_blank'>This</a> thread, maybe that could help.
  • OlljOllj our themepark-stalking nightmare Fade Join Date: 2002-12-12 Member: 10696Members
    on -cliptype precise i sometimes get smaller numbers than on -cliptype smallest.
  • ShadowicsShadowics Join Date: 2002-11-07 Member: 7652Members
    edited July 2003
    I mentioned in the thread I linked to that you should try both, and use precise if possible because of the fixes, but the purpose of -cliptype smallest is to use the smallest number of clipnodes, so generally it uses fewer than precise.
  • CageyCagey Ex-Unknown Worlds Programmer Join Date: 2002-11-15 Member: 8829Members, Retired Developer, NS1 Playtester, Constellation
    Unfortunately, the clipnodes limit can't be upped -- it's capped by Half-Life's BSP file format, which uses 16 bits to store the clipnode number (2^16 = 64K, the current limit).

    Aside from playing with the different clipnode types (smallest vs. precise, etc), there isn't much you can do at this point -- if you have multiple entities that are the same shape you might want to play with <a href='http://www.chatbear.com/board.plm?a=viewthread&b=653&t=232,1054024066,12252&s=0#1' target='_blank'>this ripent hack method</a> which uses the same brush model for multiple entities. The copy of ripent in 1.7p10 should handle any map that compiles with my tools.

    I have specific optimizations I want to experiment with this Summer for clipnode generation (beyond the bugfixes I've already done) to lower the final count, but it will be a while (probably months) before I'll be ready to release a beta.

    Just a general statement for anybody who happens to read this thread--the Collective message boards (source of the link above) are a great resource if you have questions about Half-Life mapping that apply outside of Natural Selection.
  • mateomateo Join Date: 2003-04-08 Member: 15320Members, Constellation
    Well, in fact I'm trying to understand how did NS mappers to correct these problems.
    I heard you've received some rmf files to do your tests, and understand the problems. Maybe if you had our rmf you could tell us : but THIS is the cause of the problems.

    We have fighted a lot against clipnodes, but we can't do more <!--emo&::asrifle::--><img src='http://www.unknownworlds.com/forums/html/emoticons/asrifle.gif' border='0' style='vertical-align:middle' alt='asrifle.gif'><!--endemo--> . We don't have problems anymore with the maxplanes, and this is great <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->

    So, how did they fix this on official NS maps ?
  • KageKage Join Date: 2002-11-01 Member: 2016Members
    The authors probably didn't have to, or had to cut back on some details.
  • CageyCagey Ex-Unknown Worlds Programmer Join Date: 2002-11-15 Member: 8829Members, Retired Developer, NS1 Playtester, Constellation
    <!--QuoteBegin--M@teo21+Jul 20 2003, 03:49 AM--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (M@teo21 @ Jul 20 2003, 03:49 AM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Well, in fact I'm trying to understand how did NS mappers to correct these problems.
    I heard you've received some rmf files to do your tests, and understand the problems. Maybe if you had our rmf you could tell us : but THIS is the cause of the problems.

    We have fighted a lot against clipnodes, but we can't do more <!--emo&::asrifle::--><img src='http://www.unknownworlds.com/forums/html/emoticons/asrifle.gif' border='0' style='vertical-align:middle' alt='asrifle.gif'><!--endemo--> . We don't have problems anymore with the maxplanes, and this is great <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->

    So, how did they fix this on official NS maps ?<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
    The .map files I've received for testing have a bug that causes some walls to be unclipped -- they aren't fighting the clip limit.

    If I looked at your source, I might be able to recommend where I'd start removing detail from the clip hulls using clip brushes, but the 2 ways you can drop your total at the moment (without resorting to the hack in my first post) are listed above:

    1) make the map smaller, or
    2) cover up complex shapes with clip hull cubes

    If you have a any of rocky or cave-like walls with irregular surfaces, these are probably the source of most of your complexity and therefore the majority of your clipnodes. If you fill in the rocky surface with a clip brush, that will drop the clip hull complexity. You could then add a func_wall with NULL texture to allow skulks to walk up the sides. The main drawback to this approach is that the walls will no longer be able to display decals (spraypaints, bulletholes, scorch marks, etc.) since the func_wall will be in the way.

    If you decide you would like me to look at the source, PM me about it.
Sign In or Register to comment.