Tuts > hall of mirrors

Hall Of Mirrors Fix

This tut will cover how to kill those hall of mirror (HOM) bugs

There are 2 main causes of HOM
1 is not using DETAIL brushes on complex brush work
2 portals not being split into small enough area's(bsp usualy optimizes portals by joining them)

The first one is pretty self explanatory, e.g.. When you have a table leg made from a cone, it should be a detail brush.
In case yon have never used this function, CTRL+M will make your SELECTED brush/'s detail, and to view detailed brushes hit CRTL+D to toggle them in/out of view
Most brush work you can see past should be detail brushes.

Second error, well I belief its a compiler error, but as we don't have any support for kingpin, so we are going to have to live with it.
The error comes from a portal not been split, or miss calculated in bsp/vis.
A portal in an invisible area/box that is created during the bsp process, allot of things effect the way these boxes are made, and HINT brushes are 1 of them
I will show you my way to fix HOM's with the correct use of HINT brushes.

Test map will kpdm4, it has a HOM that is easily fixed.

In this picture you will see the PINK area, this is the HOM, but in developer mode with GL_CLEAR "1" and GL_FOG "0"
With out these command's you will see the HOM effect.

To fix the error you need to locate the faulty portal, pretty easy if your told :), its actually where YOU are standing.
If the location of the HOM is not overly complex and with angled brushes, we should be safe to proceed with simple hint placement

This picture is an in editor view with portal's displayed.
Each line will be an edge of a portal face. These faces will be grouped into a cluster. This cluster is a box/area you stand in, its used to calculate what you can/cant see.

You will need Q3Radiant/NetRadiant with portal viewer plugin.
Trenchbroom also suports viewing portals.

You can also enable viewing shaded 'faces' in plugin preferences.

To get portals the map needs to be successfully bsp.exe compiled to output a <mapname.prt> file.

Although I do not have the source for kpdm4, when the bsp is recompiled it still revealed the portal at fault.
The red arrows point to the portal that is the cause to this HOM.

If you run around in this portal area and cross over the red arrow, you will see the HOM's line of sight gets blocked by the wall.

Even without a portal viewer, this portal could be fixed with common sense. Just think of where you are standing, run around in the area that reveals the HOM. Where can you walk in the portal, that LEADS to an area, which canot see the HOM (brushes blocked your view).
Its in between those can/cannot see the HOM location that needs the portal split.

Now for the hint placement.
We need to SPLIT the portal along the adjacent wall that the HOM is on.
PIC 1
PIC 2
PIC 3
PIC 4
PIC 5

In pic 3, I am showing the adjacent wall that needs a portal running along it to split our faulty portal
Pic 4 and 5 would be the hint placement suited to this job, my choice in hint would be the example in Pic4, using all sides of brush textured 'hint'.
The height of the hint should be at least the height of the corridor that the HOM is in, but can go all the way up to the sky.

Pic 6 & Pic 7 are examples of in editor hint placement
PIC 6
PIC 7