Jump to content


Photo

Strange's Mapping Faqs And Q+A Thread


  • Please log in to reply
20 replies to this topic

#1 strangemodule

strangemodule

    Ask me about Map Making!

  • Scrimmer
  • 2975 posts

Posted June 03 2010 - 01:33 PM

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
Spoiler:

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
Spoiler:

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
Spoiler:

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
Spoiler:

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.
"Bonking through the gate is like attempted murder. It doesn't matter if you hit anyone, the point is that you still need to get kicked." - celestial_okami
Posted Image | Posted Image | Posted Image | Posted Image
Need any mapping help? Click here!
-----------------------------------------------------------------------------------------------------------
Click here for my backpack!

#2 SirKillingston

SirKillingston

    Bootylicious.

  • Scrimmer
  • 3641 posts

Posted June 03 2010 - 01:36 PM

Thanks strange.

This is pretty useful.
Naudlus: TIL killingston is never wrong

Friendship for Everyone™: I don't know. I'm too nice.

Feral: I am tiny baby woman.

emeraldscorp: MY ASS IS EASY

#3 emeraldscorpion90

emeraldscorpion90

    SEE?

  • TF2 Admins
  • 2907 posts

Posted June 03 2010 - 01:45 PM

Thumbs up, man, very good.
Trades.
My backpack.
Tactically Inane Tower Squad (Minecraft)

EA's marketing is a jock running up to you and punching you in the dick for not playing the latest Medal of Honour. It doesn't matter if you play it anyway, you still got punched in the dick.

Oh god they fly and have ass lasers.


#4 QuaintHazard

QuaintHazard

    Hazardly Hazardous

  • TF2 Admins
  • 3850 posts

Posted June 04 2010 - 02:53 PM

Thank you Strange, this is much needed.
(And should probably save you many, many questions)
Posted Image

#5 OrangeL

OrangeL

    I edit every post I make

  • Administrators
  • 2937 posts

Posted June 04 2010 - 04:35 PM

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)

#6 Smyther

Smyther

    Certified youtube browser.

  • Scrimmer
  • 2493 posts

Posted June 04 2010 - 05:09 PM

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. ^_^
Capt. Yoshika Miyako: yarrr let's conqeur mexico

Iz so!~ [SWF2]: I'm teaching my friend how to play touhou
Sentry Gun (HatTheTurtle): Have you told them to roll their face across the keyboard yet?

#7 korushi

korushi

    Not good with Photoshop.

  • Members
  • 451 posts
  • Location: Canada-Land
  • Scout, Pyro, Medic

Posted June 04 2010 - 06:03 PM

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.
1500 hours in the Source SDK as of November

#8 strangemodule

strangemodule

    Ask me about Map Making!

  • Scrimmer
  • 2975 posts

Posted June 04 2010 - 06:53 PM

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!
"Bonking through the gate is like attempted murder. It doesn't matter if you hit anyone, the point is that you still need to get kicked." - celestial_okami
Posted Image | Posted Image | Posted Image | Posted Image
Need any mapping help? Click here!
-----------------------------------------------------------------------------------------------------------
Click here for my backpack!

#9 Mutated Wisdom

Mutated Wisdom

    I post a lot!

  • Members
  • 1258 posts
  • Location: Apple Valley, Minnesota
  • Scout, Soldier, Pyro, Demoman, Heavy, Sniper, Medic

Posted June 04 2010 - 07:18 PM

Just what I need to get started. Strangemodule is credit to team!

#10 iMan8

iMan8

    Next Level: [124/280000 EXP]

  • Scrimmer
  • 836 posts

Posted June 04 2010 - 07:48 PM

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?

#11 Ubercow

Ubercow

    Developers, Developers, Developers

  • Scrimmer
  • 362 posts

Posted June 04 2010 - 07:50 PM

Sticked due to usefulness factor.
Posted Image
Try, try as hard as you can. You'll replace the Ubercowman. - Tails
If god didn't want me to flip you off, he wouldn't have given me a middle finger. - Muffins at Pax '10

#12 strangemodule

strangemodule

    Ask me about Map Making!

  • Scrimmer
  • 2975 posts

Posted June 04 2010 - 07:57 PM

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.
"Bonking through the gate is like attempted murder. It doesn't matter if you hit anyone, the point is that you still need to get kicked." - celestial_okami
Posted Image | Posted Image | Posted Image | Posted Image
Need any mapping help? Click here!
-----------------------------------------------------------------------------------------------------------
Click here for my backpack!

#13 korushi

korushi

    Not good with Photoshop.

  • Members
  • 451 posts
  • Location: Canada-Land
  • Scout, Pyro, Medic

Posted June 04 2010 - 08:24 PM

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?)

*

Attached Files


1500 hours in the Source SDK as of November

#14 strangemodule

strangemodule

    Ask me about Map Making!

  • Scrimmer
  • 2975 posts

Posted June 04 2010 - 08:29 PM

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.
"Bonking through the gate is like attempted murder. It doesn't matter if you hit anyone, the point is that you still need to get kicked." - celestial_okami
Posted Image | Posted Image | Posted Image | Posted Image
Need any mapping help? Click here!
-----------------------------------------------------------------------------------------------------------
Click here for my backpack!

#15 korushi

korushi

    Not good with Photoshop.

  • Members
  • 451 posts
  • Location: Canada-Land
  • Scout, Pyro, Medic

Posted June 04 2010 - 08:37 PM

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.
1500 hours in the Source SDK as of November

#16 strangemodule

strangemodule

    Ask me about Map Making!

  • Scrimmer
  • 2975 posts

Posted June 04 2010 - 08:46 PM

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?
"Bonking through the gate is like attempted murder. It doesn't matter if you hit anyone, the point is that you still need to get kicked." - celestial_okami
Posted Image | Posted Image | Posted Image | Posted Image
Need any mapping help? Click here!
-----------------------------------------------------------------------------------------------------------
Click here for my backpack!

#17 Jason

Jason

    I'm so fly

  • Scrimmer
  • 2214 posts

Posted June 04 2010 - 08:47 PM

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

#18 strangemodule

strangemodule

    Ask me about Map Making!

  • Scrimmer
  • 2975 posts

Posted June 04 2010 - 08:49 PM

Well...that's helpful! Wish I knew about it before.
"Bonking through the gate is like attempted murder. It doesn't matter if you hit anyone, the point is that you still need to get kicked." - celestial_okami
Posted Image | Posted Image | Posted Image | Posted Image
Need any mapping help? Click here!
-----------------------------------------------------------------------------------------------------------
Click here for my backpack!

#19 SirKillingston

SirKillingston

    Bootylicious.

  • Scrimmer
  • 3641 posts

Posted July 20 2010 - 02:12 PM

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.
Naudlus: TIL killingston is never wrong

Friendship for Everyone™: I don't know. I'm too nice.

Feral: I am tiny baby woman.

emeraldscorp: MY ASS IS EASY

#20 strangemodule

strangemodule

    Ask me about Map Making!

  • Scrimmer
  • 2975 posts

Posted July 20 2010 - 02:38 PM

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.
"Bonking through the gate is like attempted murder. It doesn't matter if you hit anyone, the point is that you still need to get kicked." - celestial_okami
Posted Image | Posted Image | Posted Image | Posted Image
Need any mapping help? Click here!
-----------------------------------------------------------------------------------------------------------
Click here for my backpack!


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users