Ns only bug (please read)

badmofobadmofo Join Date: 2002-01-28 Member: 121Members
<div class="IPBDescription">Involving too many entities in visible..</div>I'll e-mail this to flayra too, but i was hoping we could all brainstorm and come up with something.

Ok - this is a mapping specific bug (hence why i posted it here) - and i KNOW other people have had the problem...and I believe I'm just starting to scratch the surface of the underlining problem.  Here's the scenario:

I load up my latest compile into NSTR, at every point in the map i get the error "too many entities in visible packet"  And in all the most recent areas of my map, I have entities that aren't being drawn.  Everything from point entities to brush entities.  

NOW i load this same map into regular HL.  The engine loads every entity in the map except the func_seethroughs.  EVERY OTHER non specific NS entity is loaded.  The "too many entities in visible packet" error is gone, and I have everything that should be drawn working (minus the func_seethroughs).

So we have 1 conclusion and 2 possibilities to the reason we are gettin this error.  The conclusion is that the error is NOT A MAPPING ERROR...but something wrong with the NS code (map in hl works fine...map in NS does not).  So how can we get around this?  is the problem simply in the func_seethroughs...or something more deep rooted that than?

Comments

  • realityisdeadrealityisdead Employed by Raven Software after making ns_nothing Join Date: 2002-01-26 Member: 94Members, NS1 Playtester, Contributor
    I, personally, have never run into this problem... And at any given time in my map, there is a bucket load of entities on the screen (light_spot's). I also do not have a single func_seethrough in the map.

    I too am wondering if this has something to do with the func_seethrough or another NS specific entity.

    Try deleting every single func_seethrough in your map, and see if you don't have a problem then.



    <!--EDIT|ken20banks|Mar. 23 2002,18:27-->
  • KungFuSquirrelKungFuSquirrel Basher of Muttons Join Date: 2002-01-26 Member: 103Members, NS1 Playtester, Contributor
    Or perhaps the func_seethroughs not being loaded in regular HL causes there to NOT be too many entities in the visible packet...
  • realityisdeadrealityisdead Employed by Raven Software after making ns_nothing Join Date: 2002-01-26 Member: 94Members, NS1 Playtester, Contributor
    /blinks

    That would be funny... <!--emo&:)--><img src="http://www.natural-selection.org/iB_html/non-cgi/emoticons/smile.gif" border="0" valign="absmiddle" alt=':)'><!--endemo-->

    Though I'm a bit suspicious... this problem seems to be quite commonly reported here...

    Then again, I wonder if NS mappers are a little entity happy... considering how much atmosphere is in most of the levels...

    What about particle systems? Could this be the cause? It sounds a bit more like a reasonable source then the func_seethrough. If you think about all those sprites.... would each one be added to the "visible entity packet" or whatever?

    I wouldn't be suprised if that's the problem... Func_seethrough's aren't the only NS specific entity that wouldn't run in HL.
  • KungFuSquirrelKungFuSquirrel Basher of Muttons Join Date: 2002-01-26 Member: 103Members, NS1 Playtester, Contributor
    This isn't an NS-only error. I've seen it posted in various mapping forums elsewhere, too. In fact, I'm talking to a number of people about it right now, and the consensus is that, by loading the map in regular HL and therefore not being able to load any of the NS entities, you've dropped below the limit, and therefore the problem no longer exists.

    Try tossing satchels repeatedly in regular HL using impulse 101. Apparently that does the trick, too.
  • realityisdeadrealityisdead Employed by Raven Software after making ns_nothing Join Date: 2002-01-26 Member: 94Members, NS1 Playtester, Contributor
    So it's probably just a simple case of too many entities being drawn on the screen?

    How much, exactly, is the limit? Anyone know?

    I'm not suprised to hear it's reported other places too... it just seems to be quite common here, so I still wonder if the reason why it's coming up so often and easily here has to do with the particle system... Each sprite would be classified as an individual entity, wouldn't it?

    Sure, you could get the error by several other means, but havings hundreds of sprites being drawn on the screen sounds like it could really speed up the process of reaching the limit...

    I now seriously doubt it's any error in NS's code or anything...



    <!--EDIT|ken20banks|Mar. 23 2002,18:39-->
  • KungFuSquirrelKungFuSquirrel Basher of Muttons Join Date: 2002-01-26 Member: 103Members, NS1 Playtester, Contributor
    And it's still the <b>visible</b> entity packet, so I'm guessing it's more a matter of trying to cram too much into to small of a visible area. Particles could definitely be part of the problem here, but I'm guessing that there's not much that can be done to prevent each sprite coming off a particle system from being its own entity (if that is indeed the case).

    One possible solution might be to combine like entities within one area... For example, if you have 3 pipes hanging from the ceiling that are func_seethroughs, combine all three into 1 func_seethrough. That should contribute to fewer entities being visible at any given moment (despite the fact that just as much is visible). I could be wrong, though, but going through a map doing that with the original 300 or however many func_walls did fix the old svc_bad error... perhaps it'd have a similar effect here.
  • Relic25Relic25 Pixel Punk Join Date: 2002-01-24 Member: 39Members, Retired Developer, NS1 Playtester, Contributor
    Here's something to consider.

    In normal HL, not many additional entities are not added during the course of a game.  There are occasional ammo packs dropped by dead players, but that's about it.

    I'm 99% sure that Flayra has had to 'reserve' a healthy number of entities to be used in the creation of new items during a game of NS.  There has to be plenty of room for all the buildings, waypoints, weapons, ammo, upgrade towers, cameras, turrets, etc. during play.  This means that the maximum number of entities allowable in maps would necessarily be lower than normal.

    Personally, I have all kinds of entities all over ns_bast, particle systems included, and I haven't seen this error yet.  I <i>had</i> this error once way back when I had adapted ns_bast for the old commander mode.  I had very close to 300 brush entities at the time (about half were func_seethroughs), and Flayra reported the "too many entities in visible packet" in several spots along with the non-appearance of newly placed entities.  After I recombined the 150 (or so) func_seethroughs into more like 70 func_seethroughs, the problem disappeared.
  • realityisdeadrealityisdead Employed by Raven Software after making ns_nothing Join Date: 2002-01-26 Member: 94Members, NS1 Playtester, Contributor
    Makes sense... That would explain why it comes up so often here. The lower NS specific limit, combined with the massive amounts of sounds, particle system sprites, and other various entities could really add up here.

    Not something that the NS team needs to fix... just a limitation that the mappers need to consider. Obviously solved by grouping/deleting entities in busy areas.
  • badmofobadmofo Join Date: 2002-01-28 Member: 121Members
    its gotta be something more than that - i can be in the corner of my map - starring at a wall with nothing behind it - and i get the error...i could be ANYWHERE in my map - and the error never goes away...

    i think markaba and i decided that it is probably my extensive use of env_beams (i have about 20 pointed at over 100 possible targets)...i'm gonna take those out and do a full compile and see what happens.
  • Relic25Relic25 Pixel Punk Join Date: 2002-01-24 Member: 39Members, Retired Developer, NS1 Playtester, Contributor
    Well, it's probably just the same thing, except that some entities are <i>always</i> in the visible list.  Things like env_sparks and env_beams might be examples.

    >100 targets?!? Dios Mio!  That's gotta be one spectacular looking effect.
  • InfinityInfinity And beyond&#33; Join Date: 2002-01-25 Member: 50Members
    thats the problem, i once made a ball of laser cuz i was totally bored, then it said too many entities in visible packet... always
  • ChromeAngelChromeAngel Join Date: 2002-01-24 Member: 14Members, NS1 Playtester, Contributor
    NS_NEXT suffers from this issue too. (like you didn't already know that)

    I seem to recall Flayra saying their were standard particle systems used by NS for things like welder sparks.  You see a bunch of them when you use the ListPS command in the console.  I suspect they may have a role to play.

    BadMofo, the error message appears when you walk into an area wher you <i>could</i> see too many entiites, it's like a VIS/r_speed thing.  It spams so many messages into the console it takes about 5 seconds to clear off my screen when I leave an affected area.

    I've already tried combining loads of brush entities to no apparent effect.

    Does anyone know if their is a command so I can see the number of entities in the visible packet list?

    [edit]
    I'm actually considering mannualy re-sequenceing the visible entities in my MAP file so that less important entities are later in the list.  Do you think that might workarond the problem?
    [/edit]
  • MerkabaMerkaba Digital Harmony Join Date: 2002-01-24 Member: 22Members, Retired Developer, NS1 Playtester
    Definately the 100 targets. When I put in the funky fan-light effect into my map, which used 160 triggerable light_spots, I also got the visible entity problem. Once I removed it and replaced it with the next best effect (using rotating brushes) the problem went away.
  • FlayraFlayra Game Director, Unknown Worlds Entertainment San Francisco Join Date: 2002-01-22 Member: 3Super Administrators, NS2 Developer, Subnautica Developer
    Sorry to chime in so late, been gone.  It sounds like you guys have figured out the problem.  To summarize:

    - It's not a NS problem, it's a HL engine restriction
    - Yep, that env_beam sounds like it's the culprit.
    - env_particles_custom entities count only for one entity, not one for each sprite.  Each func_seethrough counts as one as well.
    - Both bast and hera have had this problem briefly, and they have both fixed the problems by reducing the number of visible entities in the area where it shows up.
    - This problem will probably surface from time to time during playtesting.  When it does, some visible entities in that area will have to be removed to make the error go away.  This is a limitation in the HL engine and cannot be fixed (even if I had access to the engine code, changing it would probably have bad side effects in networking or performance).
    - When you see this error, you need to cut down the number of visible entities you have.

    Stand strong!
  • ChromeAngelChromeAngel Join Date: 2002-01-24 Member: 14Members, NS1 Playtester, Contributor
    Damn and blast.

    <!--emo&:(--><img src="http://www.natural-selection.org/iB_html/non-cgi/emoticons/sad.gif" border="0" valign="absmiddle" alt=':('><!--endemo-->

    [edit]
    Sorry, that was rather childish.  But I think it says how I feel.

    Sounds like I have to remove some features fom NS_NEXT and limit myself to purely arcitectural changes from now on <!--emo&:(--><img src="http://www.natural-selection.org/iB_html/non-cgi/emoticons/sad.gif" border="0" valign="absmiddle" alt=':('><!--endemo-->

    * bins a TON of cool features *
    [/edit]
Sign In or Register to comment.