Optimizing Polycount – Floaters

It is a little known fact of Quake engine architecture, that when you float a brush above a surface, it doesn’t split the face into multiple, smaller faces. Well, after extensive testing, it was discovered that the same process can be applied to thief mapping. The way dark works, if a solid brush intersects a flat plane, it breaks it up into smaller pieces, increasing the poly-count dramatically, for the amount of brushes involved (32 polys for a cube, and a 10-sided cylinder). I found that if you change the grid size to 12, and shrink the brush vertically by the smallest allowable increment, and then optimize, the dark engine no longer splits the plane into smaller pieces. I built a 50-foot hallway containing 8 10-sided columns, and optimized. Standing in one corner, the hall had 200 polygons visible. For most map locations, this is unacceptable. Next, I lowered the grid size to 12, and floated the cylinder brushes. After a quick optimization, I went into game mode, and discovered that the poly-count had been reduced to 80! The count could have been reduced further had I scaled the textures up, but My results were sufficient to prove my theory: Floating your brushes will lower the poly count. Now, for the quirks. Odd angles do weird thing to the lighting engine. If you do use this method, either use VERY dim lights, or very bright lights. Otherwise, you get odd-looking shadows, with straight lines between light and dark, where there shouldn’t be. Also, you should realize that vertical exits (Stairs, elevators) will put the player on a plane level with the gaps under and over the pillars. Adding a small border to the hole for the stairs or elevator will block this viewpoint, without a significant increase in poly-count. And remember, using too much architecture that floats may cause optimization problems, so try to limit it to problem areas, where poly-counts can be reduced from 800 to areas around 200-250.
-Camelhammer

About this entry