The entity limit upsets me Created 13 years ago2010-09-21 06:04:54 UTC by quailcreek quailcreek

Created 13 years ago2010-09-21 06:04:54 UTC by quailcreek quailcreek

Posted 13 years ago2010-09-21 06:06:22 UTC Post #285590
O_O

Exactly how hard on memory is an amount of more than 2048 entities? I'm talking env_sprites and env_beams here, though I guess its the case that graphic complexity has nothing to do with memory management of entities. But I mean...

WHY GOD? WHYYYYYYYYYYYYYYYYYYYY

Yes, I understand that in ordinary cases, 2048 entities should be more than enough, and I also understand that ordinary cases are the only cases that should exist according to you folks. But this is an unordinary case, and it's one I would hate not to be able to finish. This.
User posted image
In case you're blind or not the sharpest knife, that's not chaos. It's a series of beams forming 32 complete loops in a radial formation, all conforming to what looks like a donut with one of its sides stretched way out; each loop begins vertical on the interior, starts bending progressively until it reaches near-horizontal on the far exterior, then mirrors itself and finds itself vertical again on the opposite interior side (that only describes half of the loop, of course.) What? That meant nothing to you? Oh I'm sorry. Look my point is that this particular feat involves one mothereffin hefty system of beams, because that's what it is: one mothereffin hefty system of beams. One thing it DOESN'T involve is virtually any brushwork. HL2 maps can be big, detailed, loaded with real-time effects...(that's what Source was made for rite?) What HL2 maps CAN'T be is tiny maps with no next-gen and/or graphically intensive effects whatsoever and...extremely complex structures made of sprites. Why? Because that's not what Source was made for? Well dagumit ya dun told me so didn't ya.

I am 100% certain that if my hardware can run HL2 smoothly, it can run what I'm trying to make smoother than smoothly. I need the entity limit removed. I need it removed now. I must continue. I know what you guys are going to say. "Impossible, sorry." But, that's not what I want to hear. So tell me something else. Please.
Posted 13 years ago2010-09-21 06:37:36 UTC Post #285592
This is what coding is for.
Strider StriderTuned to a dead channel.
Posted 13 years ago2010-09-21 06:59:42 UTC Post #285594
In all seriousness, can I have a tl;dr summary? I'm not sure what all the sarcastic rhetorical questions were asking for.
Moaby MoabyMk. III
Posted 13 years ago2010-09-21 07:09:37 UTC Post #285597
(reply to Strider:)

Right. This is what scares me (from VDC):
The two entity lists are created by CBaseEntityList::CBaseEntityList() using NUM_ENT_ENTRIES and MAX_EDICTS. Neither of those values can be changed without breaking compatibility with the engine.
maybe that's why it's there... to scare people. Maybe I should stfu and try it anyway.

I have this phobia for code. But one must face his fears.
Posted 13 years ago2010-09-21 07:15:19 UTC Post #285598
Moaby: I need to raise the entity limit to something more like 8192. Ideally, I need to have no entity limit because I can moderate my own resource usage perfectly fine.
Posted 13 years ago2010-09-21 07:53:13 UTC Post #285599
Two things:

1. Use sensible thread names. "NO NO NO ..." etc doesn't provide any information about your problem, nor is it relevant at all. I have changed it for you this time.

2. Stop acting so arrogant/pretentious (in your first post). Take less time trying to show off how great you are and hinting that other members are idiots, and more time explaining your problem and asking your question.
Penguinboy PenguinboyHaha, I died again!
Posted 13 years ago2010-09-21 08:01:49 UTC Post #285600
3. Find reasonable, resource-friendly ways of building your ideas. 5000 particles, and this... monstrous thing tell me you don't stick to any kind of budget.
Strider StriderTuned to a dead channel.
Posted 13 years ago2010-09-21 10:37:37 UTC Post #285601
First off I'm sorry for the ridiculousness which is this thread. Yeah, I was boastful, a smartass, and couldn't just get to the point. The reason is drugs. Not that that's any justification, but it's the primary cause behind me doing shit like this. I'm now in a mindset to be reasonable, fortunately.

As for the topic at hand, I'm finding myself wanting to create effects that the engine wasn't made for using functionality that wasn't made for it. It's pretty simple stuff but the functionality to approach it in a sensible way just isn't there. Source was made for realism. So I guess all I can do is try my hand at coding.

Strider: I could be totally wrong here, but I don't think I need to stick to a very strict budget to get what I want done. The entire map is enclosed in one small room which accounts for all of the brushes, and there are no high-end effects whatsoever, just beams and sprites. A modern computer has no trouble rendering ~1000 sprites simultaneously. Am I wrong? I realize the entities take up RAM as well as graphic memory, but shouldn't the (almost) complete lack of solids being rendered free up this space if not much more?
Posted 13 years ago2010-09-21 13:00:06 UTC Post #285602
That's a nice set of entity's you got there.

Help wise all I can tell you is find a coder from this or another forum who wants to help you out raise the limit.
Skals SkalsLevel Designer
Posted 13 years ago2010-09-21 13:26:52 UTC Post #285607
It's hard to advise on how to optimise that when I can't imagine how it would look...

I've had a few fights with the entity limit and I usually get my way but there sometimes has to be a sacrafice.

maybe you could make a transparent scrolling texture that looks like a glowing light beam (or a set of them) and you may be able to achieve reasonable visual effects with fewer entities.
Posted 13 years ago2010-09-21 13:32:18 UTC Post #285609
Seems you've come up against and engine barrier. Back in the days people found clever ways of getting around them. See: The single floor limit in doom, no native parenting in Half-life, etc.

I guarentee you that you can pull some even crazier stuff off with fewer entities.

Try using fewer beams and more moving targets for the beams.
Posted 13 years ago2010-09-21 14:56:19 UTC Post #285611
I remember breaking the Marathon engine(basically doom)to allow more than one floor, also fun was making multiple different areas occupy the same physical space. It was like other demensions.
Posted 13 years ago2010-09-21 22:01:24 UTC Post #285620
Quail, i believe if you have the exact same entity setup, you can save it in a separate map name, and just call an instance of it in your main map...
I'm going to have to research further on the subject, but it might let you bypass the max entity problem.

From what i understand so far:

Make a complex entity setup, save it in its own map.
in your main map, call that map with a func_instance.
I'm pretty sure each instance holds the same entity names but acts independant to each other..... so with some clever trickery this might be possible.. after i finish up this here lab report i'm writing i'll see if i can get something similar working and throw up an example map.
  • i cant figure it out yet, but i'll let u know when i do.
Tetsu0 Tetsu0Positive Chaos
Posted 13 years ago2010-09-22 17:19:13 UTC Post #285630
Tetsu0: Thanks man. I didn't know that entity existed. I'll see if I can figure out how it works and if it will help me bypass the entity limit. You're free to do more research of your own if you want, but don't feel obligated, as it's my problem.
Posted 13 years ago2010-09-22 18:08:51 UTC Post #285631
http://developer.valvesoftware.com/wiki/L4D2_Level_Design/VMF_Instances

here's a good bit on how to use that. it's sandwiched with l4d2 stuff, but it's there.
Posted 13 years ago2010-09-22 19:10:26 UTC Post #285633
Thanks for the link Blitzkrieg.

So I tried this out. I put a func_instance referencing the beams map in another map. All the entities in the beams map showed up in the editor with a yellow tint ...everything seems to be working up to that point. I compiled, and none of the beams/sprites appeared in-game.
Posted 13 years ago2010-09-22 20:42:59 UTC Post #285634
make 2 versions of the map both with the same name.

1 version will be used on a dedicated server, and have all the entities in it.

The 2nd version will be in your maps folder and have all the entities removed.

Entities are only used in the map server side anyways, and a lot of them get removed for network traffic.

Its worth a shot at least. I have overcome that limit many times knowing how the network code in hl and hl2 works.

If all else failes, then set up each loop as a particle system, thus reducing your ent count to 32
Posted 13 years ago2010-09-22 22:01:05 UTC Post #285638
well actually quail i got to the same point, but for some reason HL2 doesnt load func_instances... check your console for warnings when you load the map
Tetsu0 Tetsu0Positive Chaos
Posted 13 years ago2010-09-22 22:40:52 UTC Post #285639
So it appears func_instances are only supported by L4D. Would others agree?
Posted 13 years ago2010-09-22 22:48:30 UTC Post #285640
Don Punch: Are you talking about the client side/server side entity limits? If so, that would double the entity limit wouldn't it? Also, you'll have to give me more specific instructions on how to do this.

Also, I have no idea how I would go about setting this up as a particle system. Can you make a beam-like sprite appear across two control points?
Posted 13 years ago2010-09-27 10:50:21 UTC Post #285778
Yes, instances are only available in L4D/2 and Source2009 games; if you're working on a HL2 map they won't work.
RabidMonkey RabidMonkeymapmapmapfapmap
Posted 13 years ago2010-09-27 11:06:14 UTC Post #285779
make 2 versions of the map both with the same name.

1 version will be used on a dedicated server, and have all the entities in it.

The 2nd version will be in your maps folder and have all the entities removed.
You're assuming it's a multiplayer map. It's not.

You also cannot just 'remove' stuff from a map and still play on the server, it will kick you out saying you have a different version.
Crollo CrolloTrollo
Posted 13 years ago2010-09-27 23:31:56 UTC Post #285804
not entities, they are always server side.

Thats how people protect their custom maps on multiplayer servers, so that you can only play it on their server.
Posted 13 years ago2010-09-28 00:22:16 UTC Post #285805
@ rabid, then why the hell would they include them for Ep2?
Tetsu0 Tetsu0Positive Chaos
Posted 13 years ago2010-09-28 05:16:19 UTC Post #285808
Just another SDK goof on their part. Add it to the list.
Strider StriderTuned to a dead channel.
You must be logged in to post a response.