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 :
|
|
As you see this is a wall. If you see it like the compiler and the engine does this is 1 square.
|
|
|
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.
|
|
|
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.
|
|
|
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.
|
|
|
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