Grand optimization thread Created 12 years ago2011-11-25 14:11:07 UTC by Stojke Stojke

Created 12 years ago2011-11-25 14:11:07 UTC by Stojke Stojke

Posted 12 years ago2011-11-25 14:11:07 UTC Post #301045
OK so Captain Terror agreed with me on my idea of making a Big PDF book of optimization.

What is this book you ask? It should contain all known examples and tested ways of optimizing your half life engine map.
What i ask in this thread is that we, members that know a thing or two about this, write down examples and knowledge we have on this.

Latter that would be tested and refined into the book as simple as possible.

What are your thoughts on this TWHL-ers?
Stojke StojkeUnreal
Posted 12 years ago2011-11-25 14:25:37 UTC Post #301046
I don't think there is something to special about optimization. Just try to make yours maps as clean as possible in every aspect. I think it's is a self learning process. Any experienced user already builds his map in the most efficient way. But of course for beginners we can write something. But I think we don't need "a Big PDF book", let's try to keep it short and simple.
Posted 12 years ago2011-11-25 15:39:26 UTC Post #301049
You could create a load of images (of techniques) and just explain them all.
Moaby MoabyMk. III
Posted 12 years ago2011-11-25 15:45:10 UTC Post #301050
This is a great idea. We can put all our knowledge together for everyone to be used.
These are the methods I use while creating my maps:
-Null/Bevel brushes for all invisible faces.
-not allowing any prop objects to connect to avoid unnecessary face cutting.
-Connecting all wall edges together like this \ If you know what I mean.
-Not using func_water. Func_water can always be seen in your map no matter how many objects it gets blocked by, it will still be drawn on the screen, making it something you shouldn't really ever use. For water use func_illusionary instead and make the contents water, it should create water effect and still be seen through, but illusionary isn't drawn when behind other objects like func_water is.

What I haven't really learned properly is the hint brush, the tutorial we have here hasn't really cleared things up for me.

...and the sky brush optimization. I heard somewhere that it does something concerning polys but I'm not sure.
Skals SkalsLevel Designer
Posted 12 years ago2011-11-25 15:52:44 UTC Post #301051
@ Bruce (dragos?)

Of course every one has its own style, but you can not develop such a thing nicely with out guide.
People first need to know what needs to be done and understand how things work in order to have a good clean style.

@ Moaby

That sounds like a good idea, maybe introducing example maps and such. We will think about it.

@ Skals

Yeah thats mostly how i map as well.
Thanks for contributing.

As for Skybox thing, it did prove to be a good way of concentrating stuff, to map in semi-boxed environment and connect with tunnels.
But as we know, you cant always use the same method for different things, each style has its own sky box style. Where one may be better and one may be worse.

Thats why i made this topic, to determine how to map in what condition.
Stojke StojkeUnreal
Posted 12 years ago2011-11-25 16:12:18 UTC Post #301052
I didn't say anything about skyboxes :D
Skals SkalsLevel Designer
Posted 12 years ago2011-11-25 16:28:17 UTC Post #301053
Blind >_<

Well i guess i had to say that any way :P
Stojke StojkeUnreal
Posted 12 years ago2011-11-25 16:43:51 UTC Post #301054
Stojke

"you can not develop such a thing nicely with out guide."

I never read any tutorials. I learnt everything I know by myself. But if we can make it easier for people then why not.
Posted 12 years ago2011-11-25 16:46:29 UTC Post #301055
You can, it's from trial and error, you don't have to have everybody telling you exactly what's right and wrong to do, you can just learn it yourself.
Crollo CrolloTrollo
Posted 12 years ago2011-11-25 16:48:40 UTC Post #301056
Same here, but why make it hard for people when you can tell em how to do it right.

Making it easy for people to evolve easily clearing the path so they can imagine their creations with out obstacles.

Before i had lots of hard time because i didnt know how should i do something, it took me a long time to figure it out, later i learned stuff from the net and found it mush more better and easier to learn and make.

Thats why this should be made.

[edit]

@ Crollo : By nicely i mean easy and quick
Stojke StojkeUnreal
Posted 12 years ago2011-11-25 16:58:24 UTC Post #301057
That is a good point, but i suppose it does still present the very minor problem where if the teacher's technique has flaws you can follow those flaws through and think they're correct, because you're relying too heavily on stuff you don't know how to do.
Crollo CrolloTrollo
Posted 12 years ago2011-11-25 17:29:44 UTC Post #301058
Very important thing is the organization of detail. GoldSrc is very limited and to create a big map with all areas equally detailed you have to apply smart tricks depending on the situation. For example objects far away or massive objects like buildings and mountains should always have bigger texture scale and less detail than objects close to player. You can always use transparent textures instead of geometry. You can use them even for very complex objects if they're very far and are unreachable.
Posted 12 years ago2011-11-25 18:38:43 UTC Post #301059
i like the idea to keep things simple. Something any beginner will be able to understand, without having much experience with hammer.

Maybe something like limiting ourselves to a "top-10" list or similar, with number 1 being the most important.

Or perhaps 2 lists: one for optimization, and one regarding reducing your compile time, which seems to be the number 1 problem for many mappers.

Bruce is correct tho, you can only guide so much, and some things just have to be learnt by experience.
Captain Terror Captain Terrorwhen a man loves a woman
Posted 12 years ago2011-11-28 16:37:54 UTC Post #301139
Bruce is correct tho, you can only guide so much, and some things just have to be learnt by experience.
Not necessarily. Share your experience with enough detail. What problems were encountered, what solutions were tried, and which ones worked.

Because of the vastness of your subject, I'd say your best bet would be a bunch of common case studies, covering pitfalls/misconceptions, etc., rather than general tutorials.
Daubster DaubsterVault Dweller
Posted 12 years ago2011-11-28 17:03:14 UTC Post #301140
So does that mean you're part of the writing team Daub?!

I've found personally, i only can only grasp strange new material if it's a hands-on tutorial or physical example, but everyone's different no doubt..
Captain Terror Captain Terrorwhen a man loves a woman
Posted 12 years ago2011-11-28 17:21:34 UTC Post #301143
This is all bullshit. Only old hardcore GoldSrc mappers map seriously and they already know all they need and newbies better leave this old piece of crap and go to Source or UDK or whatever which are with tons of documentation already. Waste of time, a bit too late.
Posted 12 years ago2011-11-28 17:31:19 UTC Post #301144
I agree with you bruce 100%. The only reason i still do anything in gs is for fun/nostalgic reasons.

BUT, i'm still willing to help stojkens on optimizaton guides or whatever just because, and it may actually help some of the very few poor bastards still getting into gs mapping.

)

Captain Terror Captain Terrorwhen a man loves a woman
Posted 12 years ago2011-11-28 18:05:44 UTC Post #301146
Instead of GS, just make it for source and you're in business.
Rimrook RimrookSince 2003
Posted 12 years ago2011-11-28 18:43:30 UTC Post #301148
I never read any tutorials. I learnt everything I know by myself. But if we can make it easier for people then why not.
You're shitting us. What, do you have 150+ IQ?
Striker StrikerI forgot to check the oil pressure
Posted 12 years ago2011-11-28 19:03:59 UTC Post #301149
Do you like to do it yourself?! =))

Rimrook: agreed, but i wouldn't feel smart enough to build even a beginners source tutorial, cuz i don't feel "smart" enough with it yet. (would be fun to help others compile their data tho for one)

stojkens: do you use source? whatcha think?
Captain Terror Captain Terrorwhen a man loves a woman
Posted 12 years ago2011-11-28 19:36:28 UTC Post #301151
You're shitting us. What, do you have 150+ IQ?
He probably had prior architecture experience or mapping experience, just applied the basics until he got it right.
Crollo CrolloTrollo
Posted 12 years ago2011-11-28 20:16:57 UTC Post #301152
As much as i do agree with this being for source, i still agree that this should be made.

Firstly, there is no thing like this that we want to make, second i dont know all of it and i do want to learn, third who tells you that there arent any people that want to map for gs?

There are a lot of people who would like to try, but dont know how and give up easily because the lack of good documentation. Even i used to give up a lot of time till i found places like that bear forum, snark pit and twhl.

Why shouldn't we do this documentation? If you're lazy just say so, i am willing to put this all together, just share your experience.

Plus i think it would be a fun project to do.
Stojke StojkeUnreal
Posted 12 years ago2011-11-29 01:29:45 UTC Post #301159
Connecting all wall edges together like this If you know what I mean.
Sorry to be the bearer of bad news, but beveling/mitering corners like that has been proven to not actually increase performance.
Look forward to seeing this finished, as well as the sequel!
Notewell NotewellGIASFELFEBREHBER
Posted 12 years ago2011-11-29 20:22:57 UTC Post #301161
Turn compicated brushes to entity
If I had to give one advice, it would be to change any "nasty" brushwork, I.e., any brush not a simple cube or tetragon, into a func_illusionary. Use simple clip brush to approximate brush size and shape where necessary.

NOTE: keep your clip brushes to simple shapes, or strange errors will occur.
NOTE2: visblockers should also be simple shapes, not clipping tooled or vm'd at all.
***
Beware low texture scales
If I had a second, it would be keep your texture scales reasonable size. Low scales will cause your compile time to skyrocket. Imho newbs should not scale below 1.00 'till they are well-oriented with hammer.
***

Both the tips above mostly concern optimizing your compile times, which will save you much misery in waiting between compiles if you keep them in mind.

Visibility Optimization
Visibility opminization is the #1 fundamental thing for map making, in terms of wpoly performance. It's very simple: use turns, large structures, walls and so on to limit how much the player can view of the map at any given time.

In a perfect world, only the immediate area surrounding the player, and a little bit beyond should be rendered by the engine at once, i.e., in a map portraying a house, if the player is in the foyer, only that area and part of the hallways leading to the other parts of the house should be rendered. (rooms like the back bedrooms, attic, backyard, etch, should all be blocked by world brushes and remain unrendered, until the player walks closer to these areas.

You can easily test this by enabling developer and running the map with r_speeds 1. As you walk from a hallway to a detailed room, you should be able to see the wpolys spike. If they remain the same all the time, it means you do not have proper vis blockers in place, and your entire map is being basically rendered or "shown" at once, which is not desirable.

NOTE: Some maps design are impossible to properly optimize without radically redesigning. for example a movie theatre, is a large, wide-open space with no chance to add visblockers. In a case like this, you must take others measures if you care about wpoly performance.

NOTE: Unless your map is Multiplayer, wpoly performance is largely unimportant with the speed of of modern cpu and gfx cards. STILL, good visibility optimization is good thing to always strive for, regardless.
***
Captain Terror Captain Terrorwhen a man loves a woman
Posted 12 years ago2011-11-30 12:14:26 UTC Post #301188
This seems like the appropriate place to place these:

Latest VHLT:
http://forums.svencoop.com/showthread.php?t=38059
Latest SHLT:
http://forums.svencoop.com/showthread.php?t=36733

When mapping for Goldsource, always make sure you have the latest and best tools available, or you may be limiting yourself to how bad the tools you use are.

I have one question, a weird one maybe. I know texture scaling affects game performance and compile times, but what about the scale on null and bevel textures? Will it make a difference if all my bevel and null textures are scaled to 3.0 for example rather than 1.0?

Also, what is the maximum scale i can go to before errors happen?
Skals SkalsLevel Designer
Posted 12 years ago2011-11-30 13:09:02 UTC Post #301196
i would guess since invisible tool textures are not rendered, that the texture scale would be irrelevant, but you could easily test this.

Dunno what the max text scale is, but i don't see it ever being an issue as anything much over 2.00 looks ludicrous.. =))

Question skals: what tools do you use(i think i'm using shlt)?
Captain Terror Captain Terrorwhen a man loves a woman
Posted 12 years ago2011-11-30 15:41:57 UTC Post #301201
The best tools to use are the latest VHLT tools, which are vhlt 25. I use these. Lighting/Shadows and map size is far better than latest shlt (3.9) and zhlt doesn't even compare, since shlt and vhlt are both upgraded versions of zhlt 3.4.
Skals SkalsLevel Designer
Posted 12 years ago2011-11-30 21:41:45 UTC Post #301204
Cool, skals, I've been using shlt 3.9 I think except for rad where I still use zhlt-vulcsan or something, it's faster and more smooth. I'm gonna try vhlt 25 in the future.
Posted 12 years ago2011-12-01 17:26:54 UTC Post #301213
bevel is your best friend
Instant Mix Instant MixTitle commitment issues
Posted 12 years ago2011-12-01 19:22:10 UTC Post #301215
bevel is gay when it comes to complex geometry, sometimes I have to replace it with null :(
Skals SkalsLevel Designer
Posted 12 years ago2011-12-02 00:54:41 UTC Post #301217
Maybe we can get bevel to redecorate my bathroom? GET IT? GET IT???
Captain Terror Captain Terrorwhen a man loves a woman
Posted 12 years ago2011-12-02 08:46:03 UTC Post #301226
rimshot
Posted 12 years ago2011-12-02 09:27:23 UTC Post #301227
Bevel doesn't like tilted walls, or walls with a wide/sharp angle.

There have been many times i fell into the ground where bevel was applied to a tilted wall. Some times even got stuck.
Stojke StojkeUnreal
Posted 12 years ago2011-12-02 18:56:08 UTC Post #301229
I never fffed with bevel personally. Also, I ALWAYS use -cliptype simple, as it seems to give me more max clipnodes to work with, and i never seem to have any clipping errors in-game.
Captain Terror Captain Terrorwhen a man loves a woman
You must be logged in to post a response.