This is going to be a rather large guide on map optimization for id Tech 3 engines, so I've broken it down into separate articles. Each article will cover a specific subsection in understanding the optimization process.
It is necessary to explain in a fair amount of detail the theory of how the engine works. A lot of it is quite advanced and I expect a number of readers will feel a bit overwhelmed, but take heart in that you don't have to fully understand all the theory, but it will help you understand the principles that a typical level designer needs to build a solid map and diagnose problems.
It is assumed that the reader has a basic understanding of how to build a basic map with GtkRadiant, compile it, and load it in the game. Basic best practices such as using caulk on unseen faces is assumed.
Quick Glossary of Terms
- SPoG's Technical Note
- Obsidian's Advanced Portal and Hinting Optimization Tutorial
- Further writings on BSP/VIS by Obsidian
- Old discussion
- Q's sample map thread
- Bill Brook's hint tutorial
- Spog's Hint Brushes: how and why to use them
- Plan B's take on Caulk Hull/Overdraw/Hinting
- djbob's Hints
- Binary Space Partitioning - Wikipedia
- What is the difference between Concave and Convex?