1. Forums
  2. Discord
  3. About Mapcore
  4. Patreon Supporters
  • Login
  • Register
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • More Options
  1. Mapcore
  2. Discussions
  3. Level Design

HL2 Map Design Question: Brush or Mesh?

  • Dranore
  • September 21, 2004 at 11:23 AM
  • Dranore
    • September 21, 2004 at 11:23 AM
    • #1

    This is more for the professionals who've been working with Source for a while now.

    I've been doing some planning for a map for Source and laying out some brushwork in Hammer. I know HL2 uses alot of meshes for world objects. My question: When should one use a mesh as opposed to a brush? What are the trade offs? I've heard that rendering meshes uses less CPU power. Is that acurate?

    For example, I'm messing with a column. As a brush, if it touches the floor and ceiling it cuts the floor and ceiling if they have direct contact. It also seems like it would be smarter to be a mesh because I could have a rounder column without having an overly complex brush to compile.

    Any light that you guys can shed on this would be appreciated.

    -Dranore

  • CrazyMAC
    • September 21, 2004 at 11:33 AM
    • #2

    we should get zappy to write a guide for us =D as some of the old hl1 rules might not apply to source D=~?

  • IR
    • September 21, 2004 at 12:18 PM
    • #3

    meshes in source cost less resources so your pillar yes .. make it a model

  • st0lve
    • September 21, 2004 at 1:50 PM
    • #4

    But we do not use the VHE for HL2 yet, since the SDK isn't released.

  • Dranore
    • September 21, 2004 at 1:58 PM
    • #5

    Doesn't matter. You can layout geometry in the Hammer we have now. They're not changing the map format so much that you can't import old map files. Just can't test in Source yet. Doesn't hurt to prepare.

    -Dranore

  • TomWithTheWeather
    • September 21, 2004 at 2:18 PM
    • #6

    Meshes are computed and stored in the video card memory and are instanced in that memory only once, even if you have 100 of that same mesh in your map. BSP computes more slowly and is not instanced if you have many of the same brushes. I'd go with a mesh. It'll look better in the end anyway.

    Meshes are the way to go. Engines that rely heavily on brushes/BSP for geometry will eventually die out as the need for higher poly geometry becomes more important. The days of making an entire map from BSP, that looks good, are rapidly coming to an end.

    /me turns off his crystal ball of doom...

  • FrieChamp
    • September 21, 2004 at 2:22 PM
    • #7

    What the Unreal engine mapper said.

  • DD
    • September 21, 2004 at 2:29 PM
    • #8

    Only someone who hasn't seen the power of a correct BSP culling, which allow for much greater detail in indoor areas than any fake BSP or any distance cull can do, would suggest something like BSP will go instinct. A fair balance of the two, weighted towards mesh of course, allows for massive indoor areas with tons of detail that artist in max couldn't do even near as fast. Of course working on massive outdoor games leads you to believe otherwise.

  • Dranore
    • September 21, 2004 at 2:36 PM
    • #9

    Hehe... thanks for the replies. Not that I'm a pro/expert on the subject... but I tend to agree with DD... it doesn't make sense that BSP would disappear completely. So I'm still curious, for Source, when does one choose mesh vs. brush? Clearly finer details and complex objects should be meshes, but I'm unsure in general. :\

    -Dranore

  • mikezilla
    • September 21, 2004 at 4:10 PM
    • #10

    brush is dead

  • st0lve
    • September 21, 2004 at 4:11 PM
    • #11

    mesh = detail

    brush = core geo

  • TomWithTheWeather
    • September 21, 2004 at 5:19 PM
    • #12

    I'm not saying BSP will disappear completely. I'm just saying that meshes will become much more predominate in maps than BSP. Of course, you'll still have some simple BSP for culling and such. I mean, why make a flat wall out of a mesh when it could more easily be BSP? Stuff like pillers though, 99% of the time, look better as higher poly meshes, especially when lit correctly.

    Now if you're talking about a square pillar or an 8 sided one or something...

    Quote from DD

    Only someone who hasn't seen the power of a correct BSP culling, which allow for much greater detail in indoor areas than any fake BSP or any distance cull can do, would suggest something like BSP will go instinct.

    Lol. I'm assuming you're trying to slam Unreal, which is real BSP. It's culling methods and CSG are just a little different than your beloved Halflife. What is the correct culling method? Just because it's done differently doesn't mean it's done wrong. When you're creating an engine you implement the best culling methods for that type of engine. Just because it's not what your used to doesn't make it wrong.

    Quote from DD

    A fair balance of the two, weighted towards mesh of course, allows for massive indoor areas with tons of detail that artist in max couldn't do even near as fast.

    Eh? I think somehow you just contradicted yourself in the same sentence. Nearly as fast as what? A highly detailed indoor area that is mostly mesh would require an artist. O_o

    A good artist in max might take a little bit longer to make a piece of geometry, but it will always look better than BSP cube primatives in the end.

    Quote from DD

    Of course working on massive outdoor games leads you to believe otherwise.

    In the end, you do what's better for the game/map your creating. Indoors and outdoors require different methods and have to be approached differently from a design standpoint. Believing one or the other is a wrong approach entirely. You do what's best for the game. You pick the best tech for the situations.

  • insta
    • September 21, 2004 at 5:25 PM
    • #13

    Oh ho ho ho, looks like there's trouble in paradise!! (Or at Gearbox)

  • Izuno
    • September 21, 2004 at 6:18 PM
    • #14

    lol.

    another way of thinking of this is that to make HL2 maps you need to know brushing, meshing and texture artistry. if you are making a super high quality map, which of course all mapcorians do, that requires a lot of work. i forsee that a good map designer-layout expert will design the base gameplay of a map (layout and brushes), work with a good modeller who can crank out required meshes relatively quickly, and work with a 2d artist to create textures and maybe skin the meshes too. of course you can do it all yourself, except it will just take more time.

    back on topic,

    For now don't worry about how much meshing you need to do and exactly what objcets you need to mesh and what you need to brush. best advice is to just experiment once you get the new engine and SDK and i'm sure you'll quickly get the feel for it. as always, best way to learn is to experiment and just "do" it and don't worry so much about planning your level 100% before you even get the new engine.

    oh...this is all speculation. I don't map in HL2 yet so i defer to Zaphod.

  • Dranore
    • September 21, 2004 at 6:32 PM
    • #15

    Izuno, thanks for the pertinent reply. Much appreciated.

    I imagine you could do an entire map in static meshes with matched collision. Is it a good idea? Well if HL2 does in fact load all meshes to the video card for processing and storage, then it seems not... depending on your video card I guess. If you're loading an entire map into the card, obviously not all at once... but at least everything you see, that's probably not how HL2 is optimized to run... and could end up slowing everything down... from this discussion it strikes me that anything other than simple box geometry makes a good canidate for meshes and should probably be used as such.

    I'm probably the most n00b person in this discussion though... so I could quite easily be wrong. hehe...

    -Dranore

  • DD
    • September 21, 2004 at 6:51 PM
    • #16
    Quote from TomWithTheWeather

    I'm not saying BSP will disappear completely. I'm just saying that meshes will become much more predominate in maps than BSP.

    Me too.

    Quote from TomWithTheWeather

    Lol. I'm assuming you're trying to slam Unreal, which is real BSP. It's culling methods and CSG are just a little different than your beloved Halflife. What is the correct culling method? Just because it's done differently doesn't mean it's done wrong. When you're creating an engine you implement the best culling methods for that type of engine. Just because it's not what your used to doesn't make it wrong.

    Yes I'm slaming unreal for calling BSP when it is not a Binary Space Tree. It's not what half-life defined, it's not what quake defined, it's a programming theory used with other methods to help cull out what is and what isn't in view.

    Quote from TomWithTheWeather

    Eh? I think somehow you just contradicted yourself in the same sentence. Nearly as fast as what? A highly detailed indoor area that is mostly mesh would require an artist. O_o

    Let me be more specific, or let me word it better. Obviously the artist can create tons of smaller objects, but when it comes to create the simple halls, rooms, the SHELL, it simply takes longer and the cost is little, mostly less in indoor areas.

    Quote from TomWithTheWeather

    Believing one or the other is a wrong approach entirely. You do what's best for the game. You pick the best tech for the situations.

    I agree but that's beside my point. In the end you insulted BSP, so I insulted Unreal. I believe as consoles become more and more like PC's, as they are, we'll see more and more engines using BSP or form of, not heavily, but still used and NOT going exstinct.

  • DD
    • September 21, 2004 at 6:59 PM
    • #17

    http://%7boption%7d

    This was the first, or second result on google. Unreal doesn't not have partions or generate partions to decide what to cull automatically. You have to manually zone everything which usually results in different partitions. All partitions are equal in a BSPT.

  • zaphod
    • September 21, 2004 at 7:01 PM
    • #18

    to take a break from the e-penis tech knowledge battle and answer the original question specifically about the source level creation process:

    things that need to block vis, and very simple primitive shapes = brush

    anything else = model

    [Blocked Image: http://marshmonkey.com/tutor.jpg]

    basically, your scene is going to be made up of 4 elements:


    standard world geometry: this is the stuff that calculates visibility and chops shit up accordingly, like you are used to in hl1. This is what you build the basics of your map with, so that the BSP engine can do it's work. It is very cheap to render world polies, though they get more and more expensive as the number of world polies climbs to around 4k. A level with 2k world polies could run twice as fast as a level with 4k world polies. This number is still very important for performance issues. And having as few world polies as possible is still something you have to consider when optimizing your map.

    func_detail: func_details are world geometry that you figure is not neccesary to the vis process. for example, a crate sitting on the floor made out of world geometry will chop up the floor accordingly, and since you probably don't need the engine to be calculating whats visible from each side of the tiny crate, you would make it into a func_detail. A func detail is the exact same as regular world geometry, except for the fact it gets taken out of the map when the map gets cut up for vis purposes. Once in the final bsp, it is just as cheap as regular world geometry only it does not cut up any surround faces.

    brush based entities: things like doors and such, these aren't particularly expensive unless you put lots and lots of them in your level

    models: model polies are cheap cheap cheap. Where a general limit for world polies can be 4k, you can have as many as 75k model polies in a scene before you start noticing a substantial slowdown. This number is kind of a double edged sword however. While rendering model polies is cheap, calculating things for the actual model entity gets more and more expensive the more seperate instances you have in view at once. For example, having 4 vases sitting on a shelf would be 4 times as expensive as having one model of 4 vases sitting on a shelf. The engine have to calculate colission and such for every seperate model entity ever frame, so grouping models where possible has been essential to optimize performance on levels with lots of seperate model entities. This of course is a tradeoff against your memory expense, where you might only have to load one model that you use multiple times in your level, versus having multiple grouped versions of the singular model.

    There are also different flavors of entities you can use to put models in the game that have varying levels of expense: here they are listed from cheapest to most expensive

    prop_detail: this is the cheapest way to put a model in the game, becuase it calculates one lighting value at compile time and cannot change. This is also usually coupled with the model fading in and out of view depending on distance This is used for things like dynamically spwaning grass and debris on terrain, or trash on the ground that fades in and out of view.

    prop_static: this is what you will use for most structural models, it's the cheapest entitiy to use next to prop_details. A static prop can take dynamic lighting, but thats about it. You put it in your scene and it's going to stay there, you cannot turn it off or on or effect it through scripting in any way.

    prop_dynamic: a prop dynamic is like a prop static only that it can be effected through scripting and other player interactions. You can swap out the texture on it via scripting, hide it, unhide it, break it, parent it, etc.

    prop_physics: this is probably the most expensive entity you can put in your level. Depending on what else is rendering in your scene physics objects can cause a big hit if you put a lot of them in your scene.

  • DD
    • September 21, 2004 at 7:06 PM
    • #19

    BTW Tom is a very talented level designer, he is able to create mood which I have extreme trouble to achieve. Half his unreal work is unreleased but I've seen it and it looks great, if only he would release it. Not many people know the theory behind BSP and it doesn't make you any less talented or more. It doesn't mean you do not have a strong understanding of the technical side of level design either, I think you do.

  • st0lve
    • September 21, 2004 at 7:12 PM
    • #20

    Interessting.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!

Register Yourself Login
Discord

The Mapcore Discord is our lively IRC channel of the 2000s reborn. Chat about level design, gaming, and more.

Latest Posts

  1. Custom Gamemodes Contest

    Angel
    July 20, 2026 at 11:46 AM
  2. FAQ

    Angel
    July 20, 2026 at 10:14 AM
  3. Tangerine

    Harry Poster
    July 18, 2026 at 11:10 AM
  4. Any of the old guard still around? D:

    Warby
    July 12, 2026 at 8:23 PM
  5. About our archived forums

    Thrik
    June 30, 2026 at 2:12 PM
  6. Mapcore Discord

    mason_fan123
    June 24, 2026 at 8:52 PM
  7. [CS2] Valley

    Serialmapper
    June 22, 2026 at 11:56 AM
  8. Free Music / SFX Resource - Over 2500 Tracks

    Eric Matyas
    June 18, 2026 at 12:32 PM
  9. Pango [WIP]

    Elowen
    June 11, 2026 at 10:13 AM
  10. [CS2] Dvina

    Jeremy Rivera
    June 11, 2026 at 10:03 AM

Users Viewing This Thread

  • 3 Guests
  1. Privacy Policy
  2. Contact
Powered by WoltLab Suite™