Half-Life
Custom Maps

Art Museum

Temple

Revenant

Meatpit

Storm Vale

GE Basement

GE Temple

Hypersanctum


Battleschool
by Hayt & Jinx

Noir
by DQ

Sealed

by 3DMike
____________

Half-Life 2
Custom Maps

Upscale
1% done

Ramparts

20% done

 

Introduction to R-Speeds


The expression "r_speeds" is short for "rendering speeds". Essentially, it is a measure of how much is being rendered (drawn) when you are in any given area in your map. It is important to be aware of the r_speeds in your map because they directly effect the framerate and overall performance of the map on players' computers. What r_speeds are acceptable depends on the game engine and the typical system players of the game have. R_speeds include both wpoly readings-normal map brushes and faces-and epoly readings-3D models like player models, item models, etc. When people talk about r_speeds they are generally referring to the former, as wpolies are usually where you run into trouble.

To check your r_speeds you need the following commands enabled in the console:

developer 1
r_speeds 1

When enabled, you will see a quickly scrolling readout in the upper left hand corner of your screen. You will also notice that this readout may change drastically as you move about your map. This is because, depending on what direction you are facing and the layout of your map, different parts and ammounts of your map are drawn from different spots in your map.

When you compile your map, this is what the VIS tool does- it determines what parts of the map need to be drawn from any given area in the map. Think of it like this- if you are walking around in your map, the VIS determines what areas of the map should be drawn and has the game/video card draw only those areas (VIS tends to draw more than just what you can see, and you sometimes need to make blockers more pronounced to "convince" it to stop drawing around them). If not for VIS, your card would have to draw the entire map all the time, which would be quite a burden!

This is where "VIS Blockers" come in. This can be a hard term to explain; what it really means is anything that prevents you from seeing from one "area" of your map into another area. For example, if you had two large, highly detailed rooms, you would not want to have a direct line of site between them-were that the case, both would have to be drawn at once, and your r_speeds would skyrocket! VIS blockers often take the form of curvy corridors, or corridors that split around a central wall and meet again on the other side (see pics below). Here are a couple basic examples of how you might connect two rooms but still block the VIS from drawing both:



VIS blockers are the primary way you have to control your r_speeds, and can effect the possible layout of a map. While there are many other tweaks for r_speeds, they are just that- tweaks. If your map is not constructed with proper VIS blockers, your r_speeds will be horrendous. Cutting a few polies here and there by tweaking won't help if your card is drawing half the map!

What are acceptable r_speeds? There is considerable debate about this. When Half-Life first came out, 600 wpoly was the recommended maximum. Because most people have better computers than 3 years ago, 800 is probably a reasonable maximum now, perhaps with a few spots that peak higher (like in the corners of larger areas). 1000 is definitely getting a bit too high. Note that these are the maximums we are talking about; most parts of your map should probably average 400-500.

Also remember that when your map is actually being played online the player models, gunfire, explosions, etc. will also be draining the players' video cards and resources. Thus, it's best to keep the r_speeds are low as you can so that players will get a smooth game. Some mappers suggest that 1000+ r_speeds are acceptable, but finding a balance between the game's limitations and your own aspirations is part of the true art of mapping. The best mappers can make maps that are not only beautiful and detailed, but which have excellent r_speeds and gameplay as well.

When testing your map's r_speeds, you should walk all over your map, looking around and keeping an eye on the readings. For example, test that there are not angles of view where they peak very high because the VIS can 'see' past an intended VIS blocker. Generally the highest speeds will be in the corners of larger areas, so you will probably want to check those spots first.

A few things to know and remember about VIS:
*Entities do not block VIS-ie walls that are func_walls don't cut it, nor do func_doors, etc. They will be 'seen through' by VIS.
*VIS will see through even the slightest cracks, such as a space of 1 pixel between a wall and the ceiling.
*Sky brushes (brushes covered in the texture named "SKY") will block VIS as well (very important in some outdoor maps)
*If you run VIS with the -fast parameter, the readings will not be accurate, and will be much higher. Only use -fast for testing other things in quick compiles, never for releases and never to test your r_speeds. For your final compiles, always use the -full parameter, which will do a more accurate VISing than the normal VIS.


Resources
for mappers

Tutorials

Textures,
Sounds,
& Sprites

Resource
Links

Misc Files

Map Ideas


MIA AHL Maps

Proto-Maps

Contact Info