Jump to content
Sign in to follow this  
strangemodule

Strange's Mapping Faqs And Q+A Thread

Recommended Posts

Hello all. Lately a lot of people seem to have picked up mapping for one reason or another, and quite a few people have asked me how to get started. They also sometimes ask me various design and technical questions. This is what this thread is for: getting your feet wet in mapping, and for asking anything you would like to know about mapping. I consider myself decent at making maps, so I should be able to help you with anything you wish to ask.

 

MUST-READS

 

 

Introduction to Editing Maps

What are brushes? What are entities? This small page explains!

 

Making your First Map

Make a map, a spawn point, and compile!

 

Navigating Viewports

How to control the 3d and 2d viewports.

 

 

 

TF2 RELATED

 

 

Design Theory

"How" is just half the battle. "Why" is what will make your map stand out.

 

Ultimate Mapping Resource Pack

Has copy-and-pasteable game mode setups, props, etc.

 

Decompiled Valve Maps

Want to see how Valve made their maps? Check these out? Made somewhat redundant by how a few of Valve's VMFs are included with Hammer.

 

 

 

FAQ

 

 

Q: What is a "Brush"?

A: A Brush is basic world geometry. They come in basic shapes and are used to both "seal in" the world from the void (something that must be done to prevent leaks, discussed later) and help define where a player can and cannot go.

 

Q: What is a "leak"?

A: As you may or may not know, outside the map boundaries is an infinite void where gameplay does not occur and players should not access; the map itself is built inside this void, but is "sealed" by brushes to make sure no entities (discussed later) come in contact with the void. Maps are usually sealed by the Skybox toolbrush (also discussed later). A leak is a failure to seal the entities from the void; leaks will result in either the map not running at all, or a Hall of Mirrors Effect.

 

Q: What is an "entity"?

A: Entities are gameplay-related objects and are not "world brushes". Entities can be props, player spawns, particle effects, etc. If entities touch the void or are exposed to it due to improper sealing of the map, the map will have a leak.

 

Q: Toolbrushes, what are they?

A: Toolbrushes are invisible while playing the map ingame, but have very important uses. They can be either invisible walls, be brush entities (entities tied to brushes, such as "triggers" that activate doors). Toolbrushes are NOT world brushes (with the exception of "nodraw" and "invisible") and cannot seal in the world. Brushes with one of these textures applied will be considered a toolbrush.

 

Q: What are the map files called?

A: All maps have the .vmf extension.

 

Q: How do I embed custom content into my map?

A: You can do so with a little program called PakRat. This allows you to put all the custom content you used in your map into the map's compiled BSP file so that people don't have to download said content separately. I highly suggest that you have a friend double check your BSP prior to releasing your map to make sure you pakratted all your custom content successfully.

 

Q: Wait a minute! What about all that hilly and mesh-y terrain, like the hills and uneven ground in gravelpit? That surely can't be just brushes!

A: You are correct. Those are Displacements, which allows you to take certain faces of a brush and edit them in detail, while deleting the rest of the brush faces. Be advised, displacements DO NOT count as world brushes, and WILL NOT seal your map in. When it comes to sealing your map, treat a displacement like an entity.

 

Q: What is an "visleaf"?

A: Although Valve Dev Wiki can describe it in better detail, a visleaf is basically something used to determine what should be visible to the player, and what is not based on their position. When a map is compiled, your map generates visleafs (called "cutting up") for the space you have sealed; it uses these to try and determine what should be rendered on screen based on which visleaf/visleaves the player is closest to, and the visleaves next to that.

 

 

 

THREE-STEP PROCESS: WHAT MAP COMPILES CONSIST OF

 

 

VBSP turns your lowly VMF file into a game-ready BSP file. It converts your world geometry and entities into something the game understands and can run. It will also generate a Portal File (shows how your map will be "cut up" into visleafs) and a Pointfile should your map have a leak; the pointfile will show you in the 3d Viewport where your leak is.

 

VVIS, which without a lot of optimization can be the longest part of the compile, "cuts" your map up into visleaves which, as mentioned in the FAQ, help determine what is visible in your map at any given time. Unfortunately VVIS is very messy and tends to make visleaves very messily and in excess without the guidance of various brush entities and toolbrushes, which results in the long VVIS compile time. However, with the correct use of toobrushes/brush entities, this process can end up taking just a couple of seconds.

 

VRAD compiles the lighting in your map. Based on how liberal you use your light entities this may take a very short time, or a medium length of time. You also may notice there is a checkbox for HDR. This makes VRAD take a little longer but will enable HDR in your map. Usually HDR isn't really necessary until your map reaches beta.

 

 

 

If I have any more information to put up in the original post here, I will do so later. If you guys have any mapping questions, please post them! Answering your questions is what this thread is for.

Share this post


Link to post

I gotta question: faq faq faq faq faq fag fap fap fap :P

 

(FAQ undercased it just so funny looking)

(This post does not reference to OrangeL's views on anybody in anyway. It's a joke, people)

Share this post


Link to post

For the more advanced topics:

 

 

I've always loved map making, from Re-volt on the N64, to Stronghold for the PC, to ATV Offroad on the PS2, to all those little flash games that let you make levels and many more; I've spent at least 10 hours in the mapmaker of every game I've enjoyed.

Except Hammer.

That thing is just beyond me at this point. I've got someone who's going to show me the basics so I can help him out with his map over the summer but once I'm competent enough, I might try a map of my own. I'm glad you've posted this here as I'll probably use it a lot then. ^_^

Share this post


Link to post

For the more advanced topics:

 

 

I've always loved map making, from Re-volt on the N64, to Stronghold for the PC, to ATV Offroad on the PS2, to all those little flash games that let you make levels and many more; I've spent at least 10 hours in the mapmaker of every game I've enjoyed.

Except Hammer.

That thing is just beyond me at this point. I've got someone who's going to show me the basics so I can help him out with his map over the summer but once I'm competent enough, I might try a map of my own. I'm glad you've posted this here as I'll probably use it a lot then. ^_^

 

Hammer is really easy to get started with once you get the basics down. I recommend just opening it up sometime and start fiddling with all the tools 'n such.

Share this post


Link to post

Indeed, and I can help if you need it, just leave a question in this thread or message me on steam. Believe it or not, level design tends to focus more on the "Why?" than on the "How?". Once your familiarize yourself with all the tools, you will find the real challenge is making a map suitable for gameplay. Arguably TF2 is one of the hardest games to map for since you have to cater for 9 classes whose mobility rules, comfortable engagement zones (whether it be close, medium, or long range), and their needs for things like cover and pickups are all different. However, it can be a very rewarding experience, so don't give up!

Share this post


Link to post

Anything on optimization? Its being a pain right now to make sure area portals arent leaking and what not.

 

Also is it okay for world brushes to intersect with func_detail brushes?

Share this post


Link to post

Anything on optimization? Its being a pain right now to make sure area portals arent leaking and what not.

 

Depends on what kind of optimization. Talking to you before, I assume you are talking about making VVIS finish faster. I will post a simple guide to VBSP, VVIS, and VRAD later, but for now, I will point out simple ways to make VVIS go faster:

 

1)Func_detail anything that doesn't seal in the world!

2)Go to Map -> Load Portal File to see how your map is being cut into Visleafs (more on that in my future guide). The more "messy" your visleafs look (look for a bunch clumped into small spaces or just looking disorganized), the long it will take VVIS to finish.

3)Func_Viscluster areas that are open but have a bunch of visleafs; for example, if you see a bunch of visleafs in one square area, use func_viscluster to make them into one big visleaf (or a few, but cutting them down is good too). Make sure NOT to run a func_viscluster over water!

4)Hint brushes suggest to VVIS how to cut your map into visleafs; "suggest" meaning that if a hint brush causes errors or doesn't work properly, VVIS will simply ignore it instead of crashing your compiler.

 

Also is it okay for world brushes to intersect with func_detail brushes?

 

I have yet to have a problem with that. Normally world brushes intersecting with other world brushes *can* cause some issues, things intersecting with func_detail brushes haven't caused me trouble.

Share this post


Link to post

Anything on optimization? Its being a pain right now to make sure area portals arent leaking and what not.

 

Also is it okay for world brushes to intersect with func_detail brushes?

 

Advanced optimization requires use of func_areaportal. Read that page through carefully, if used incorrectly Areaportals can cause errors.

Simple things you have to remember about Areaportals:

  • Place them in doorways and windows of a building
  • Must seal off the building (You cannot get in or out of that building without going through an areaportal)

And most importantly,

 

 

1)Func_detail anything that doesn't seal in the world!

 

Don't do that.

I've seen this problem with many, MANY mappers, and lived through it myself for quite awhile.

Areaportals cannot be sealed with func_detail brushes. I know the dev wiki says turning things into detail entities is great for optimization, and it is, but not everything should be made into one. The fps gain from proper use of areaportals will far outway the gain from simply making everything into details. Detail should be used for this like rafters, railings, or window frames.

 

When sealing the skybox or an areaportal, I recommend going into the Visgroup pannel* and unselect Func Detail.

This hides all func_detail. Click it again to draw them. Once you're map starts to get very complex, you may want to hide certail brushes or props to make better use of the 2D views. Hidden objects are not compiled, so you can also use this to compile only specific parts of your map for testing.

Now see if you can spot a way in or out.

 

 

Oh, and the simplest form of optimization is simply putting the nodraw texture on any brush face that cannot be seen my a player ingame. Doing this will speed up compile time and map preformance. 9WHy waste time figuring how a shadow casts across a surface which will never be seen?)

 

*

post-7722-12757118623214_thumb.png

Share this post


Link to post

I think he was talking about making VVIS go faster, but Areaportals are pretty much essential for ingame performance. Don't forget the mostly-ignored occluder, it can help make props not in sight not rendered where just using areaportals would still keep them mostly rendered.

Share this post


Link to post

I think he was talking about making VVIS go faster, but Areaportals are pretty much essential for ingame performance. Don't forget the mostly-ignored occluder, it can help make props not in sight not rendered where just using areaportals would still keep them mostly rendered.

 

Occluder can be very useful, but it does take a lot of memory so use it sparingly. It's best used to block off areas filled with lots of props, or very detailed models. (Like infront of a respawn room, so it hides all of the player models inside it.)

 

EDIT: For anything short of releases, just do fast compiles. It'll be quicker, and alot easier on your pc. The lighting may not look as right, but for structure testing and just I-want-to-see-this-in-game moments it's useful.

Share this post


Link to post

EDIT: For anything short of releases, just do fast compiles. It'll be quicker, and alot easier on your pc. The lighting may not look as right, but for structure testing and just I-want-to-see-this-in-game moments it's useful.

 

I heard of using the cordon tool to just compile specific parts of your map, but I have yet to use it and looks a bit complicated. Do you know anything about it?

Share this post


Link to post

it's basically you make a square around everything you want to test, and it only compiles what's in the cordon tool, and the cordon becomes a skybox

Share this post


Link to post

Probably going to sound dumb for asking this, but how do I add particles to the map? I want to add the water drip like they have in the intel room on ctf_sawmill, but I have no idea how.

 

I honestly don't know a lot about particles, I suggest just opening up Valve maps when they are used, and reading this page.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×