resident91 Posted April 18, 2016 Report Posted April 18, 2016 I would like to know what are the technical limitations of the source engine. For example, maximum sizes of textures that can withstand, maximum number of porps map, maximum number of brushes map, maximum number of points of light, maximum number of polygons ... It also would be interesting to make a comparison of constraints between Source, Unity 5 UE4, this would help many developers to choose either engine. In the official documentation only I encounter any of these limitations, but it would be interesting to have it all in a single table. Thank you for your attention and sorry for my English. Quote
w0llmart Posted April 18, 2016 Report Posted April 18, 2016 (edited) I'm not super qualified to answer specifically about the hard limitations of the Source Engine. That being said: generally speaking you can use 2k textures as long as they're a power of 2 (512x512 -> 2048 x 1024 etc) (this is super useful for avoiding tiling with the stock textures) although this can lead to a massive increase in file size (512kb ->4mb+) You should understand how visibility culling works as prop density is often more important than prop count although going crazy on the proverbial breadsticks is inadvisable due to performance reasons. Basic lighting isn't a problem unless you have too many lights pointing at a specific area(you really have to try to mess this one up tbh) Max numbers are mostly relative in source, except with areaportals and other expensive materials such as water; you're free to do anything as long as areas are properly partitioned with good, well thought out design and clean on grid brush work. Really consider reading up on Will2K's documentation on optimization and good luck on your mapping process!!!!11 Edited April 18, 2016 by jebus_c Squad, Breadbird, resident91 and 4 others 7 Quote
resident91 Posted April 18, 2016 Author Report Posted April 18, 2016 31 minutes ago, jebus_c said: Thank you for this first information received! Quote
resident91 Posted April 18, 2016 Author Report Posted April 18, 2016 Well, I understand that there are almost no limits, just make good use of optimization can achieve great things. Making good use of the "func_detail" "nodraw" "areaportal" "draw distance" "hint" Spoiler In other engines optimization is easier than source? Any examples? A map with 2k textures would be super nice but I guess the performance would be much lower than if they were single 512x512 textures. Much depends also on the computer of each, like me a map with two thousand props and textures 2k I will 120fps and 45fps another. One question, why to use "hint" also must be used on the other side the "skip"? Other limitations according to the source wiki. BRUSH: https://developer.valvesoftware.com/wiki/Brush -8192 brushes -128 faces on a single brush -65536 faces overall -NODRAW do not count toward the limit Quote
w0llmart Posted April 23, 2016 Report Posted April 23, 2016 think of it almost like creating a glass texture, or water it's a waste to have water render on the face of a brush that can't be seen, and hint/skip work in the same way spamming hint is just going to negatively affect fps just think of skip like nodraw when using it to optimize your map, it's there to keep the hint brushes tidy and limited to the faces you want them on it gets super messy if you add too many hint brushes as performance will drop Quote
JorisCeoen Posted April 28, 2016 Report Posted April 28, 2016 (edited) There is also an edict limit (very important to understand!). This means that you can only have so many entities in the Source Engine, such as dynamic props, brush entities, particles, spawns, triggers, point entities etc... basically everything that can receive and input/output. Few entities are not counted towards the limit because they are removed once the compile is done (basically 'baked' into the level). To delve deeper into this, you should understand that there are a maximum allowed total of 4096 entities split in 2 groups: 2048 allowed entities that either exist ONLY on the client or ONLY on the server (logic entities such as logic_auto and logic_relay are always on the server, including ragdolls which are always client-side unless forced to be server-sided). 2048 allowed edict that can cross between SERVER AND CLIENT. To go even deeper, of the edict limit, each player on the server itself, fully loaded with max amount of grenades and weaponry and defuse kit or bomb contain a max. of 15/16 edicts. So if you make a map for a Zombie Escape server that usually host 64 player slots, that means 960 edicts right off the bat, leaving you with 1088 edicts to play around with. Considering the average size of a zombie escape map and the amount of entities to make levels work and such, or for minigames, 1088 might sound like a lot but it really isn't. So in overview, this is another limit of Source. This is NOT a limit in hammer. I don't know the entity limit inside a vmf itself for Hammer to load up but it is far higher than what the engine allows. So you could have over 8000 entities in your hammer file and it wouldn't tell you anything. Only on compile it will tell you that you exceeded the maximum amount, and it will instantly crash. If at any point in time the map itself spawns more edicts than 2048 (it means the 2049th edict), it will crash the game to desktop with an error message. There are few exceptions that are mentioned on the wiki page, but such occasions are rare, and in any event try to avoid this limit as much as possible (many servers also have tons of plugins that add even more entities, such as custom trails, particles, sounds etc...). Edited April 28, 2016 by JorisCeoen Breadbird 1 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.