Two Theatre Seats in 18 Triangles
The Orpheum's level came in at 80,204 triangles against a 75,000 budget. The fix was not fewer props. It was deleting the faces nobody can see.
Dead Signal has a browser test that counts triangles. Every map gets a level budget: 75,000 for the normal stations, 160,000 for the big ones, and the suite fails if the built level crosses it. After I replaced the flat furniture solids with modelled prop forms, the Orpheum, the theatre map, came in at 80,204. Foundry's machinery drums were pushing it past 160,000.
The tempting fix is to cut props. The honest fix is to look at where the triangles go, and in a theatre they go into seats. Every seat was its own little model, about 40 triangles for a pair: cushion, back, two armrests, the panels on each side, all of it fully closed as if someone might pick a seat up and look underneath.
Nobody looks underneath. So a seat row is now built per cell, two seats per cell, about 18 triangles. One sloped cushion spans both seats. Each seat gets a raked wedge for a back, velvet on the front, wooden shell behind, because you can see both from the aisle. Armrests are shared between neighbours and drawn as top and front only. The end panels exist only at the aisle ends of a row, which are the only ends anyone can see.
The same pass went through the rest of the prop forms with one question: which faces can a player at standing height actually see? Coat racks hang three coats from one hanger plate and two cloth panels instead of modelled hangers. The rail and the poles lost their hidden caps. The bar body, top, doors and handles lost their back faces. Piano black keys and the ottoman base lost their undersides. Round things got fewer sides: bottles are 5-sided, jars and the Foundry machinery drums are 8, and the shelves hold fewer bottles.
Orpheum went from 80,204 to 71,922. Foundry's drums stopped crossing the line. In the game you cannot tell. A 5-sided bottle with a normal map on a shelf two metres away reads as a bottle.
The number that stuck with me is 40 to 18, not because it is a big ratio but because of where the 22 went. They were not detail. They were the bottom of a cushion, the far side of an armrest, the back of a panel that is pressed against another panel. Props built as closed objects spend most of their triangles on surfaces that face another surface.
Budget tests are the reason this got fixed at all. Without the failing assertion I would have shipped 80,204 and found out from a frame-time graph later. Decide the budget first, make the test fail, then go look for the faces.