The new forums will be named Coin Return (based on the most recent vote)! You can check on the status and timeline of the transition to the new forums here.
The Guiding Principles and New Rules document is now in effect.

[Map on] Let's make Source maps!

EchoEcho ski-bapba-dapModerator, Administrator admin
edited March 2009 in Games and Technology
So I figured it was about time for a thread about Source mapping again - making maps for the Source engine and games like Half-Life 2 and Left 4 Dead.

This OP will be a work in progress - I'm still learning this stuff as I go.

Binary Space Jiggawhat?

The Source engine uses strange voodoo called BSP for its maps - Binary Space Partitioning.
Wikipedia wrote:
Binary space partitioning (BSP) is a method for recursively subdividing a space into convex sets by hyperplanes. This subdivision gives rise to a representation of the scene by means of a tree data structure known as a BSP tree.

Okay, you don't need to know what them fancy words mean. The BSP For Dummies explanation is that a BSP tree lets the game engine know what is visible from where you're standing, meaning it won't have to waste computer resources on rendering the stuff you can't see.

Let's say we have three rooms with doors between them, like this:
XY
Z

If you're standing in room X, you can see into both Y and Z, so those need to be rendered. If you're standing in Y or Z, you can only see that room plus room X, meaning one of the rooms won't have to be rendered. (Doors that can be closed are prop entities and don't actually block line of sight as far as rendering is concerned.)

Think of a BSP map as the cold, unforgiving vacuum of space, where nobody can hear you scream. To survive, you need to build a box to fill with air to stay in. This box has to be airtight, or the air leaks out. This is called sealing the level - if the level isn't properly sealed, the engine will complain and strange stuff might happen. If you have a box that's missing a side, that side will open into a maddening abyss of nothingness.

Now, L4D already has a pretty awesome set of level design documents that teach you some basics of Source mapping. You can just ignore the L4D specific parts for general Source mapping. Download it here.

Links'n'Stuff

Dictionary
  • Binary Space Partition - both the file format of Source maps and a technology that lets the engine know which stuff is visible from where you're standing, so it won't have to render stuff you can't see from where you're standing.
  • Entity - an object in the game. This can be stuff like enemies and weapons, props like tables, barrels and other level garbage, as well as invisible stuff like spawn points.

...eh. More to come.

Echo on

Posts

  • IcemopperIcemopper Registered User regular
    edited March 2009
    Awesome. I was secretly hoping you'd make this thread.

    I've never ever tried mapping, but I've always sort-of wanted to. It would just be great to see some random idea come to fruition.

    I'll keep a close eye on this one.

    Icemopper on
  • TychoCelchuuuTychoCelchuuu PIGEON Registered User regular
    edited March 2009
    Someone should make a sister thread called "recreate 12 hours of Source mapping in 5 minutes with the Crysis editor or the Unreal editor."

    TychoCelchuuu on
  • Ginger MijangoGinger Mijango Don't you open that Trap Door!Registered User regular
    edited March 2009
    Mapping is incredibly boring, I, on occasion, think that I shall map steadily until such time as my map is finished, this is often not the case because it's so fucking boring.

    Also displacements are a pain in the hole.

    Ginger Mijango on
  • EchoEcho ski-bap ba-dapModerator, Administrator admin
    edited March 2009
    Someone should make a sister thread called "recreate 12 hours of Source mapping in 5 minutes with the Crysis editor or the Unreal editor."

    The downside of BSP maps. :P

    Personally I think computers are powerful enough to move away from pre-rendered BSP stuff nowadays. CryEngine is generated dynamically on the fly.

    Echo on
  • LittleBootsLittleBoots Registered User regular
    edited March 2009
    Funny this thread should pop up. I've just started on a payload map. It's going to be about the size of bad water as well as just one stage.

    LittleBoots on

    Tofu wrote: Here be Littleboots, destroyer of threads and master of drunkposting.
  • EchoEcho ski-bap ba-dapModerator, Administrator admin
    edited March 2009
    Woo, I've made a map with two rooms and a working door between them!

    Then I forced the director to spawn an infinite panic event.

    Echo on
  • LucascraftLucascraft Registered User regular
    edited March 2009
    I enjoy mapping...alot. But it is incredibly time consuming and I have never actually completed a project. I always lose interest far before my maps begin to really take on character.

    I usually get down the basic geometry and then sort of drift away when I start applying props, textures, lighting, and all of that.

    Lucascraft on
  • InsanityInsanity Registered User regular
    edited March 2009
    I started editting levels with UnrealEd.

    I tried making a quake map soon after and just... ugh.

    Never again =P

    Every mapper should use CSG dammit.

    Insanity on
    gBpkw.jpg
  • BabbleBabble Registered User regular
    edited March 2009
    Well these horror stories aren't very encouraging! I may actually look into giving this a go however.

    Babble on
  • IcemopperIcemopper Registered User regular
    edited March 2009
    Question for map-makers out there.

    What is the very first stage for you?

    I'm thinking a rough sketch on actual paper, but maybe there are other methods that work better for you? For instance, do you start with a blank map in the editor, and just build from piece to piece?

    Also, what do you use to make TF2 maps?

    Icemopper on
  • LittleBootsLittleBoots Registered User regular
    edited March 2009
    I start with a rough sketch just to have some idea what I want to do.

    All maps start as blank unless you are editing someone elses.

    Use Hammer to make any source engine (and even HL1) maps. It's part the SDK (under tools in steam"

    LittleBoots on

    Tofu wrote: Here be Littleboots, destroyer of threads and master of drunkposting.
  • EchoEcho ski-bap ba-dapModerator, Administrator admin
    edited March 2009
    Icemopper wrote: »
    Also, what do you use to make TF2 maps?

    Hammer, like all other Source games. Install the Source SDK in the Tools menu and fiddle around.

    Echo on
  • IcemopperIcemopper Registered User regular
    edited March 2009
    I start with a rough sketch just to have some idea what I want to do.

    All maps start as blank unless you are editing someone elses.

    Use Hammer to make any source engine (and even HL1) maps. It's part the SDK (under tools in steam"

    Thanks. I'm completely new at this, but I'll fiddle around and just try to have fun before doing anything too serious.

    And yeah, I figured that all maps started as a blank slate, I was just wondering if you skipped the rough sketch stage and just went straight into a blank map and went from there.

    Icemopper on
  • EchoEcho ski-bap ba-dapModerator, Administrator admin
    edited March 2009
    At the moment I have no ideas whatsoever for maps, so I'm just making rooms and corridors at random to try stuff out.

    Echo on
  • SirUltimosSirUltimos Don't talk, Rusty. Just paint. Registered User regular
    edited March 2009
    I tried some mapping when I was younger, before I really knew anything about it. I'd love to try it again, and just make a few small, interesting maps. Does anyone know of any online tutorials or anything to use as a stepping stone to get started?

    And what would be better to use? Hammer or UnrealEd?

    SirUltimos on
  • Death Cab For AlbieDeath Cab For Albie Registered User regular
    edited March 2009
    This thread should be called [Cartograph On]

    Just sayin... :)

    Death Cab For Albie on
    ...we made it cool to wear medallions and say hotep...
  • darklite_xdarklite_x I'm not an r-tard... Registered User regular
    edited March 2009
    Here's the main page for the Valve Developer Community wiki. You can get there from the link in the OP to make L4D maps, but I figured I'd just post the main link in case anyone misses it.

    darklite_x on
    Steam ID: darklite_x Xbox Gamertag: Darklite 37 PSN:Rage_Kage_37 Battle.Net:darklite#2197
  • UltimaGeckoUltimaGecko Registered User regular
    edited March 2009
    There are a couple stages to designing and building a map.

    The schools of thought are: 'design then create' or 'design and create'. The main difference is the amount of time put into premeditated designing. On a professional level this could involve an in-depth demarcation of all but the most minor features (along with artists and modellers to create necessary assets). On the other hand sometimes a mapper might not know the theme for a map before a few rooms are created.

    The general consensus (like with programming) is that you should have a general layout before you create your first brush. I don't follow that, though. I tend to design as I start and then develop the design while I map and end up writing down a brief layout at some later point. Then again, I usually end up having to format my computer before I finish something and realize a few days later when the itch to map hits that "...well, I just deleted that stuff, didn't I?".


    UnrealEd is much nicer than Hammer for starting out. It allows you to preview your lighting, the subtraction-based building means no leaks, and it has fancy tools that HL1-era Hammer didn't have. Hammer is easy enough - it also has one of the larger support and tutorial populations.

    UltimaGecko on
    The facehuggers want to play with you in the AvP LP. Facehuggers also want you to check out the TF2 cards here. View the in-progress RE mansion recreation for L4D here.
    Bitstream wrote: »
    People respect a man who might do science at any moment.
  • IcemopperIcemopper Registered User regular
    edited March 2009
    Ohhhkay...

    Just loaded up hammer, and I am blown away at the complexity. This will take much more research than I was expecting, but I'd still like to create something. We shall see how things go.

    Icemopper on
  • OremLKOremLK Registered User regular
    edited March 2009
    Someday I may get back into mapping. I did a bunch of it for UT99, and really enjoyed it, but after that my interest kind of waned. My magnum opus was a map called DM-Astrality.

    Review from back in the day

    1011p.jpg

    OremLK on
    My zombie survival life simulator They Don't Sleep is out now on Steam if you want to check it out.
  • IcemopperIcemopper Registered User regular
    edited March 2009
    Ok, so. Some progress made...

    Not on a map, no no... on figuring out how to draw a line or something.

    I've got a lot of reading to do here, but I'll say it is at least a start... never too late to try, I guess.

    Does it help to have a knowledge of coding and things?

    Icemopper on
  • EinEin CaliforniaRegistered User regular
    edited March 2009
    Echo wrote: »
    At the moment I have no ideas whatsoever for maps, so I'm just making rooms and corridors at random to try stuff out.

    Take a look at the Left 4 Dead thread. This whole Derailed thing could be cool if someone actually made it.

    Ein on
  • LucascraftLucascraft Registered User regular
    edited March 2009
    My most recent project, which is unfinished, is a TF2 map. I call it "Circle." Its a very basic concept. There are 4 areas that link together in a circle. I'll provide a very basic image for visualization.

    mapConcept.jpg

    Red = Red Base
    Blue = Blue Base
    Green = Neutral Bases
    Purple = Underground Pathways

    This is a capture point (CP) map. There are 4 CPs, one in each area. A team must hold all 4 CPs at the same time to win. The red and blue bases are obviously going to be symmetrically identical. I will change some of the props and textures to give them a different feel, but they will be identical. The left quadrant is a missile base and the right quadrant is a quarry.

    Here are a couple raw screenshots from inside the Hammer Editor. Like I said in my previous post in this thread. . . I have never actually completed a map. Circle is a work in progress, but here are some screenies for anyone who cares.

    This first pic is of the blue base. I cannot stress enough that this is unfinished. As a point of interest, you can see the capture point on the roof of the base.
    circliePic1.jpg

    The second is a close up of the wooden shed that you can see to the side in the first pic.
    circliePic3.jpg

    Inside the shed is a ramp/stairway down to the connecting underground passages (the purple lines on my crude map).
    circliePic4.jpg

    And finally, here's a pic of the work I've done on the quarry area so far.
    circliePic2.jpg

    Lucascraft on
  • EchoEcho ski-bap ba-dapModerator, Administrator admin
    edited March 2009
    Ein wrote: »
    Echo wrote: »
    At the moment I have no ideas whatsoever for maps, so I'm just making rooms and corridors at random to try stuff out.

    Take a look at the Left 4 Dead thread. This whole Derailed thing could be cool if someone actually made it.

    Yep, know about Derailed, but "omg trains" isn't really a whole lot of inspirational material. :P

    Echo on
  • EinEin CaliforniaRegistered User regular
    edited March 2009
    Echo wrote: »
    Ein wrote: »
    Echo wrote: »
    At the moment I have no ideas whatsoever for maps, so I'm just making rooms and corridors at random to try stuff out.

    Take a look at the Left 4 Dead thread. This whole Derailed thing could be cool if someone actually made it.

    Yep, know about Derailed, but "omg trains" isn't really a whole lot of inspirational material. :P

    I was referring more specifically to the level synopsis Connery made me post.

    http://forums.penny-arcade.com/showpost.php?p=9378573&postcount=256

    Ein on
  • LagnarLagnar Halifax, Nova scotiaRegistered User regular
    edited March 2009
    So ive fooled around in hammer from time to time, but how would something like this sound:

    Its TF2, and works kinda like the A control point on gravel pit. However there are 2 control points in the area instead of one. Blue spawns the same way as they do in gravel pit, in a raised area that only a few classes can get back in, and red would spawn the same way for the first CP, off to the side (Mabye make an identical spawn room on the oppiste side of the area). Here is a quick mock up done in paint:

    map1.jpg

    The big circle is the CP. It would proably be pushed back a little as to allow room for it to be incased in a building.

    As you can see there would be two ramped areas, they would be close but not identical. And there could also be an undeground tunnel of sorts leading to the CP. Easily guardable by a sentry but an uber demo could easily take it out aswell, as the enemys are only going to come from the front. THe CP would mostlikely be in a house, which the tunnel and the two ramped areas would lead to. The tunnel would be outside in front of the house but you would have to go either left or right to get inside the building. There would be various rocks and other buildings spread throughout, mabye a truck turned on its side or something like that, to allow various positons for sentrys.

    Once Blue takes this CP reds spawn rooms are pushed back to the last CP. Ive been thinking about this for a while but still do not have a final idea I am happy with. What do you guys think so far? Too many or little paths to take? Mabye its too wide open? Mind you I would most likely increase its size.

    Lagnar on
  • LucascraftLucascraft Registered User regular
    edited March 2009
    I honestly have no clue how other people operate, but I have a practice map that I use for testing any sort of scripting or triggers, or really anything new at all. This practice map, which I have affectionately named "Shmeerpt" is an abomination under heaven. Any time I want to test something, I just add a new section onto Shmeerpt and test it.

    Shmeerpt has no logical flow of thought. It has no walls or cohesion. Its incredibly inefficient. But it isn't meant to be a playable map. Its just a test site. Then I take the concepts I learned from Shmeerpt and apply them to my real maps.

    Shmeerpt is where I learned how to make functioning door triggers, team spawn points, capture zones, lighting effects, and it also has a swimming pool from when I wanted to learn how to make water.

    Lucascraft on
  • AlejandroDaJAlejandroDaJ Registered User regular
    edited March 2009
    The last time I participated in a thread like this, it basically just consisted of me typing my (poor) mapping habits and La Cabra responding to my posts with a mixture of shock and incredulity.

    Mapping used to be my trade back when I was doing HL1 and HL2 modding. But now it's just so effing time consuming, and since I can model and skin as well, I really get tripped up when I have to go back and make my own props. Maybe I'll return to mapping at a later date but, right now? I really don't miss Hammer.

    AlejandroDaJ on
  • IcemopperIcemopper Registered User regular
    edited March 2009
    How much has been said of L4D map building? Will it use Hammer as well?

    They said it would be easy, and this sure isn't easy, but I'm hopeful.

    Icemopper on
  • LittleBootsLittleBoots Registered User regular
    edited March 2009
    Icemopper wrote: »
    How much has been said of L4D map building? Will it use Hammer as well?

    They said it would be easy, and this sure isn't easy, but I'm hopeful.

    I dunno, Hammer really isn't that complex of a program it's just kind of antiquated. If you think it's complex just building a level wait till you get to the optimization part. Clip boxes, Area Portals and Hint Brushes; all things you have to manually place so that the map is complied into an efficient map (one that wont make everyones machine chug). There are entire sites dedicated to just map optimization. I imagine newer game engines don't need as much help from the map maker as they can do in real time (at render time) what you have to help hammer do (with the area portals and hint brushes, etc) at compile time.

    Word of advice though, don't detail or optimize as you're laying out your level. Just do basic shapes and pathways then go back and start detailing and taking optimization into consideration. Try to do it all at once and you'll just get bogged down.

    Also, www.interlopers.net has some good tutorials and some useful stuff in their forums.

    LittleBoots on

    Tofu wrote: Here be Littleboots, destroyer of threads and master of drunkposting.
  • NuzakNuzak Registered User regular
    edited March 2009
    man i've been making a payload map for fucking ages and it's frustrating as hell

    sometimes the blue spawn doesn't work, sometimes the preview won't load

    and then i discover the bombcart is weirded out and crashes everything if you touch it, meaning i'm going to have to look at the 6 billion fucking brushes i put on it to make it not retarded

    and somebody save my sanity- how do you make textures not look shit? all i can do for cliff faces is have a sand pattern repeating endlessly or i can stretch it across the cliff face so it's even uglier

    and then i look at the valve maps and they have deformed cliff faces with textures that fit to the walls, how do they do that shit

    Nuzak on
  • AumniAumni Registered User regular
    edited March 2009
    Nuzak wrote: »
    man i've been making a payload map for fucking ages and it's frustrating as hell

    sometimes the blue spawn doesn't work, sometimes the preview won't load

    and then i discover the bombcart is weirded out and crashes everything if you touch it, meaning i'm going to have to look at the 6 billion fucking brushes i put on it to make it not retarded

    and somebody save my sanity- how do you make textures not look shit? all i can do for cliff faces is have a sand pattern repeating endlessly or i can stretch it across the cliff face so it's even uglier

    and then i look at the valve maps and they have deformed cliff faces with textures that fit to the walls, how do they do that shit

    Probably built them in Maya or 3DsMax and baked the texture and other information right into the model.

    Aumni on
    http://steamcommunity.com/id/aumni/ Battlenet: Aumni#1978 GW2: Aumni.1425 PSN: Aumnius
  • AngrySquirrelAngrySquirrel Registered User regular
    edited March 2009
    Man my last mapping project seems like so long ago now... A buddy and I had an idea to make a Rainbow6 3: Raven Shield map of the academic building we worked in at the university we went to. We never quite finished the project as we got a bit too ambitious for 2 people who had never done this type of thing before.

    Rather than be smart and use existing materials we wanted to re-create everything for the map (minus the character models) from scratch with my buddy making the 3d models in 3d studio and me working with the map editor bundled with the game (some version of the unreal editor) as well as supplying digital camera shots of any textures. We worked off and on with it for 6 months or more (never working for more than a week or so at a time, with long breaks in between) and never quite finished. I had 75% of the ground floor done, but was waiting on all the models for doors, window frames, desks, etc to be finished and tested to make sure I had the rooms at the right scale for my friends models. Since our first few tests when he initially finished the doors we found some issues with scale.

    I think we ended up with that 75% of the ground floor of a two story building to scale with windows and doors in the correct place, but never got around to doing the furniture or rest of the building.

    The best advice I can give to anyone starting out map making for the first time is to come up with a very simplistic idea using existing assets for their first map. After that slowly expand your ideas.

    All that said. I think I'm going to look into hammer and follow my own advice there and try for a very small simple TF2 map.

    AngrySquirrel on
    Live/PSN: IronSquirrel ,, Steam: angrysquirrel
    Battle.net: IronSquirrel#1462
  • LittleBootsLittleBoots Registered User regular
    edited March 2009
    Nuzak wrote: »
    man i've been making a payload map for fucking ages and it's frustrating as hell

    sometimes the blue spawn doesn't work, sometimes the preview won't load

    and then i discover the bombcart is weirded out and crashes everything if you touch it, meaning i'm going to have to look at the 6 billion fucking brushes i put on it to make it not retarded

    and somebody save my sanity- how do you make textures not look shit? all i can do for cliff faces is have a sand pattern repeating endlessly or i can stretch it across the cliff face so it's even uglier

    and then i look at the valve maps and they have deformed cliff faces with textures that fit to the walls, how do they do that shit

    Cliff faces: Displacements for areas that players will be in. There are also rock wall models you can use, but they are best used in areas that players can't get to.

    Payload maps are a bit of a pain, because as you know the "bomb cart" is actually an ungodly concoction of logic relays, entities, models and triggers. Just follow the tut on the valve wiki and you should be fine. If all else fails google vmex and use it to decompile a valve map so you can see how they did it (word of caution, this method may confuse you more than help as they have ALOT of crazy behind the scenes shit going on in their maps).

    Also, as far as textures looking like shit. They will until you put proper lighting in your map. If you run a map with no lights the Source engine will use a "all bright" light, this light ignores normal maps and bump maps, thus making a lot of textures look shitty. I suggest if you're going to start testing lighting to see how your textures actually look you should become familiar with the cordon tool (it's in the wiki) as lighting increases compile time by quite a bit.

    LittleBoots on

    Tofu wrote: Here be Littleboots, destroyer of threads and master of drunkposting.
  • EchoEcho ski-bap ba-dapModerator, Administrator admin
    edited March 2009
    Icemopper wrote: »
    How much has been said of L4D map building? Will it use Hammer as well?

    They said it would be easy, and this sure isn't easy, but I'm hopeful.

    Yep, Hammer. And actually, this is pretty easy. Just go read the level design docs for L4D in the OP. It's a good intro to Hammer.

    Echo on
  • IcemopperIcemopper Registered User regular
    edited March 2009
    Echo wrote: »
    Icemopper wrote: »
    How much has been said of L4D map building? Will it use Hammer as well?

    They said it would be easy, and this sure isn't easy, but I'm hopeful.

    Yep, Hammer. And actually, this is pretty easy. Just go read the level design docs for L4D in the OP. It's a good intro to Hammer.

    Yeah, I'm getting the hang of it I think. I just wish I had more time to devote to it.

    And thanks for the advice Littleboots, very good stuff, I'll keep it in mind.

    Icemopper on
  • LucascraftLucascraft Registered User regular
    edited March 2009
    Ok so here's a question for those of you that are more experienced with modding than me.

    I had an idea for a single-player map, but I want to use resources from Counterstrike in addition to HL2. Is there a way to pull the models, props, etc from one game into another?

    My idea takes place in an office, and I'd like to use the resources in the CSS map "cs_office" as well as some of the other maps, but I'm not sure if this is possible. Basically, I want a more urban, realistic setting than City 17 or Nova Prospekt for my idea, and I like a lot of the existing resources that are available in CSS.

    Lucascraft on
Sign In or Register to comment.