R_speeds Tutorial
Newbie mappers might never heard of r_speeds. So I`ll give a brief explanation what these r_speeds are.
R_speeds are the Wpoly and the Epoly of the map.

- Wpoly`s are all the World Items in a map (normal walls)
- Epoly`s are all the Entity Items in a map (monsters, weapons)

The most important is the Wpoly. A high Wpoly is the drain on FPS. Nowadays (2003) most PC`s can work well with a 1000 wpoly, but the ideal wpoly on a map is 600-800 without monsters, and 400-600 with monsters.

Getting your Epoly down is easy, just delete a few monsters. To keep a low wpoly is more difficult. But if you understand how the engine and the compiler cope with your ways of mapping you can keep them down easy.

How to Lower your Wpoly

Visblocking
First off : The Half-life 1 engine is relativly weak. It can`t take the giant outdoor works like in Unreal2 without having a massive wpoly. The wpoly will be counted in what I call "zones". A zone is an open room, the bigger the room the more wpoly will be counted. If you want less wpoly you have to have smaller rooms. The more you close parts of the room off with walls the lower the wpoly will be. This is called "Visblocking". It`s hard to visblock large outside area`s, so you have to keep outside area`s small as possible.

Walls
Visblocking is not the only way. If you know how the compiler builds your map then you can make sure there will be no unneccesary wpoly`s. Now looks at this :

r_speeds

As you see this is a wall. If you see it like the compiler and the engine does this is 1 square.

r_speeds

Now we placed another block against the wall. The block affects the wall behind it and creates additional squares. Instead of 1 we now have 9 squares. This is harder for the engine to cope with and will create more wpoly.

r_speeds

Imaging we want a pipe coming out of the wall. The cilinder affects the wall behind just like the block. The cilinders has even more sides than the block so it creates even more wpoly. But there is a way to avoid this to happen.

r_speeds

To avoid it, you have to change the cilinder in contact with the wall into a func_wall. This cilinder will now be an entity and will not affect the wall like a world item would do. This works good on getting your wpoly down, but func_walls will not have shadows. In this example the player won`t notice that because the other cilinder still is a world item and will create a shadow effect.

r_speeds

If you really want the shadow effect, (like with lights on a ceiling) you can move the block in contact with the ceiling 1 unit down, so it doesn`t touch the ceiling anymore.

Textures
Another thing you could do to reduce your wpoly`s is to overscale your textures by 1.5x or 2x. This will save up on the wall`s poly`s too, but will make your texutures look a bit ugly on some occasions. Best is to use this method in outside area`s. Overscaling rock and grass textures doesn`t matter much on beauty of the map.

Now you know how the engine and the compiler work with wpoly`s. When you made your detailed room then you should look around how many wpoly`s you might have and find some ways to reduce it, as discribed above.

Hope this Tutorial helped you. Maybe there are more tutorials out there that cover the points I forgot about. But the basics of wpoly reducing are covered within this tutorial. For more mapping and tutorials please visit my site :

Hezus Mapping
www.hlrse.com/hezus

By Hezus





Site and Mapping Projects by Hezus (2003)