Jump to content

Recommended Posts

Posted

What is this?

    This is a simple roadmap of my optimization papers/articles for any newcomers to Source optimization or for folks who would like to further strengthen their knowledge about the subject. The goal eventually is to produce solid, well optimized maps.

I keep seeing some simple questions being asked such as “what’s a hint brush and what does it do? Where do I place an areaportal? I also see many confusion and misconceptions about Source optimization on topics such as visleaves and PVS. Many folks contact me saying “hey, I read your paper/article X but I missed/wasn’t aware of your paper Y, Z, U, V…which is an additional reason of having this roadmap in one place for people to use for navigation through the different hoops of Source optimization.

The roadmap

Think of this roadmap as a course syllabus depicting the various topics and logical progression of the course, in this case, Source optimization.

1- Man vs Engine

This is a comprehensive paper covering the process of optimization in the Source engine and providing a systematic approach to be used for winning your optimization battles.

This paper should be the first step in your optimization course and it shouldn’t take you more than an hour on a slow evening to finish the read. It is a good idea to keep the Valve developer community wiki open if you need to look up the definitions of any terms that you come across in the paper (to be on the safe side, read the entry related to visibility optimization which contains all the keywords definition like hints, areaportals, etc…).

2- Optimization Testing in Source Engine

It’s a technical paper tackling the issue of methodically testing the frame rate and optimization system in the Source engine.

This should be the second read after Man Vs Engine to get a solid grasp of map performance testing.

  • Practical work: test the average fps using the timedemo technique on a map of yours (or a stock map if you do not have a finished map yet). Practice all the testing console commands that I gave in the paper to become familiar with them.

3- Demystifying Source Engine Visleaves

This is an article in which I explain Source visleaves in layman's terms to allow beginners and veterans alike to understand the cornerstone of source optimization.

After the first 2 papers being more hands-on and practical, this 3rd read in the roadmap is more on the theoretical side to allow one to fully understand the inner workings on Source’s BSP and visleaves systems.

4- Source Engine PVS - A Closer Look

This is an in-depth technical article where I delve into more details about the PVS creation and visibility calculation and their implication on optimization in the Source engine.

This 4th read is a natural follow up to the previous article and will cement your intimate knowledge of Source engine.

5- Common Misconceptions in Source Engine Optimization

It’s an article in which I identify common misconceptions in Source engine optimization process to help demystify some optimization “myths” and bust them once and for all, thus allowing designers to avoid the costly pitfalls that could hinder their maps’ optimization setup.

This 5th step in the roadmap should come as an easy read once you understood the previous 2 steps (visleaves and PVS)

6- Hints about Hints - Practical guide on hint brushes placement

This is a technical article in which I showcase how I think about and approach hints placement in Source engine and how I systematically proceed with hint brushes with practical examples.

With the theoretical side taken care of in the 3 previous steps, it’s now time to dive into the technicalities of using hint brushes properly and efficiently, and this article will amply show that.

  • Practical work: make a small test map where you can test the different hinting techniques that I showcased in the article. Make a version with hints and one without and test in-game using mat_leafvis and mat_wireframe console commands to see hints live in action.

7- Practical guide on areaportals placement

It’s a technical article that deals with the systematic placement of areaportals in the Source optimization process. This is the 2nd article in the "practical placement guide" series.

As with the previous step, this one dives deeply into proper areaportal placement with solid examples.

  • Practical work: make a small test map where you can test the different areaportals techniques/locations that I showcased in the article. Make a version with areaportals and one without and test in-game using r_drawportals, mat_leafvis, and mat_wireframe console commands to see areaportals live in action.

8- Practical guide on occluders placement

It’s a technical article that tackles the systematic placement of occluders in the Source optimization process. This is the 3rd and final article in the "practical placement guide" series.

Occluders have always been a grey area and a big question mark for a lot of designers, and this article will clearly showcase how to practically proceed with them in your map, if needed.

  • Practical work: make a small test map where you can test the different occluders techniques/locations that I showcased in the article. Make a version with occluders and one without and test in-game using r_visocclusion, r_occlusion, and mat_wireframe console commands to see occluders live in action.

9- Comparative fps study in Source Engine Optimization System

This is an in-depth article where I showcase the clear difference between having a solid optimization system and not having one in a Source engine map. The article will have plenty of numbers, for a complete comparative study that shows the frame rate variation with and without the optimization system in place.

If you have read and followed this roadmap closely, then you are now ready to witness and understand the importance of a good optimization system and the consequences of not having an effective one on the overall frame rate.

  • Practical work: In one of your maps, uncheck the visgroups of hints/areaportals/occluders in Hammer and save it under a different name. Compile it on final settings then compare the fps with the original version that had all the visgroups enabled to see the difference.

10- Source FPS Cost of Cheap and Expensive Assets

It’s a short technical article that compares the frame rate cost of cheap vs. expensive assets in Source engine optimization.

In the same spirit of the previous step, this one shines the spotlight on the cost of expensive assets so one doesn’t go wild while using them in their map, at the risk of considerably affecting frame rate.

11- Displacement Vs. Func_detail - A comparative fps study

It’s a short technical article that aims at comparing the frame rate of func_detail vs. displacement in the context of the Source engine and the repercussion on their usage in maps.

12- Optimizing An Open Map in Source Engine

This is a technical article that showcases how to tackle optimizing open maps in Source engine.

 

Conclusion

The roadmap presented above should cover “optimization 101” through “501” courses and cater for a broad range of Source engine users. There are no more reasons for one to feel confused and “not sure where to start/look” when it comes to Source optimization.

If after reading and experimenting with all the above you still have some questions about optimization, then feel free to post here and I’ll try my best to help.

Once you finish all the reading with all practical work, please pass by my office so I can schedule your final exams.

Happy reading :)

 

  • 4 weeks later...
Posted
21 hours ago, JSadones said:

Just an FYI : The mediafire link doesn't work anymore and the Bananalink is 404 (for Man vs engine).

Thanks for the heads up.

I checked it out and it seems that Gamebanana has recently drastically changed/messed up the markup language used as well as the layout and general formatting of the site. This has royally screwed up my articles and tutorials formatting as well as changed the hyperlinks in them.

Instead of nicely formatted articles, they are now one giant unbroken wall of text, and useless new tags have been automatically added to the links :mad: (files and some images) altering them and leading to the 404 page you experienced.

I'll get to correcting these issues as soon as possible (bear in mind there are roughly 20 articles and 6 tutorials to go through)

In the meantime, you can access Man vs Engine through this direct link to mediafire

http://www.mediafire.com/download/u5go4leyau42gw3/Man+vs.+Engine.pdf

Thanks again for notifying me.

 

  • 2 weeks later...
Posted

The site owner at GB just rolled out an update that reverted the site to the old markdown language, and corrected the effects of the previous update; this has automatically fixed the formatting and missing links/images in all my articles and tutorials.

Everything should be running smoothly now; enjoy the read again :)

  • 4 months later...
Posted
2 hours ago, will2k said:

I have a couple of new optimization articles planned and outlined; one will be titled optimizing an open map in Source engine (started it back in June then shelved it because...real life :))

Now I just have to make a little time for them, stay tuned.

Could be really useful for people in our new contest :-)

  • 7 months later...
Posted

Just realized that I haven't released any new articles in 8 months :shake:

I think I'll push for a new optimization article that deals with practical examples of Source engine optimization (it's like a journey inside my head to see how I deal with optimization situations from my perspective)

 

Posted
14 hours ago, blackdog said:

Is there more that can be written? :v

yes :v

2 hours ago, grapen said:

For sure, there's so much that's still undocumented. I had to ask @will2k about some stuff in a private convo recently, because Google came up empty :)

anytime :)

For anyone who wants to ask specific questions about optimization or have good ideas for future optimization articles, feel free to post in this thread

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Mapcore Supporters

    aphexjh       Badroenis       celery⭐      EGO DEATH ⭐      Freaky_Banana      FMPONE ⭐      Harry Godden      JimWood ⭐      JSadones      poLemin      Vaya

    Funds go towards hosting and license costs, Discord server boosts, and more. If you'd like to donate, check out our Patreon announcement.

×
×
  • Create New...