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

Wall Worm A-Z (Basics)

  • shawnolson
  • April 26, 2016 at 12:45 AM
  • shawnolson
    • April 26, 2016 at 12:45 AM
    • #1

    Greetings Earthlings! FMPONE suggested I do an A-Z intro on Wall Worm for MapCore, and I thought it was an excellent idea. I never shy away from an opportunity to spread the joys of 3ds Max and Wall Worm.

    Introduction

    For those who do not know, Wall Worm has been a Source Engine pipeline toolset that I started back in 2010. I started it because I had just built my first level for Source with some custom models, and I had concluded that the process for getting props into Source was essentially a nightmare, especially for simple static props. Having more interest in level design than the technical aspects of models, I was frustrated with how much time went into getting models into Source. So I dove head first into MAXScript, and the Wall Worm Model Tools were soon born.

    Fast-forward to 2016. Wall Worm has morphed from a model exporter into an entire pipeline for almost every aspect of building levels and games in Source. In the right hands, you can create entire worlds for Source directly inside 3ds Max without opening text editors and other applications. Using Wall Worm and Max, you can create materials, models and levels all in one place.

    The driving principle behind Wall Worm is to make the process of creating assets for Source easier and more fun--I've always felt that my time should be focused on being creative rather than doing repetitive and mind-numbing tasks. Now that Source is getting older and newer engines are coming out with more user-friendly pipelines, it's going to be more and more of a shock for new designers who get sucked into Source because they want to make something for the great games still maintained on Source--and Wall Worm is your best friend when it comes to taking away the pain of making assets for Source.

    Some quotes of people you probably know:

    Quote

    Quote "I used WW extensively when I worked on maps for Tactical Intervention. In fact, when I was making our highway driving map, WW saved me countless hours." Minh Le, Co-Creator of Counter-Strike

    Quote

    Quote "Just want to say thanks again for your work on the source tools, it's been so incredibly helpful I can't even begin to describe the hours you've saved me." Rick Underhill, Technical Art Director, DICE

    Quote

    Quote "Man how I wish I'd had these 5 years ago!" Robert Briscoe, Environmental Artist, Valve

    Getting Started

    Before you do anything else, you should set Max up to use the correct system scale, units and grid spacing.

    1. Click Customize > Units Setup
    2. Set the Display Unit Scale to Generic Units
    3. Click the System Unit Setup and make sure that 1 Unit = 1 Inch
    4. Click OK
    5. Click OK
    6. Right-Click the Snap Icon in the main toolbar
    7. In the Home Grid tab, change the grid spacing to a multiple of 2 (like 32, 64, 128 units, etc)

    Now Max is setup to the same scale as Source.

    Models

    For the majority of people using Wall Worm, the goal is to export a prop into Source. This one function is the reason 99% of people download Wall Worm. So this is the topic I'll cover first.

    The main important thing to understand is that the more you know about 3ds Max itself, the better. Lacking familiarity with Max can lead to frustration. So I always suggest that you start from scratch and with a simple project before diving into complex projects. If you have never compiled a model for Source, then you should start with your first custom crate rather than a fully animated character. This is important even if you are just porting assets, because it will help you understand what is going on.

    For models, Wall Worm stores information in an object called a WWMT Helper. Technically this is just a Text shape object that has extra data attached to it. You can think of the WWMT Helper as a UI for storing information about the model that you'd traditionally always write into a text file called a QC. In fact, when WW exports the model, it generates a QC file for you based on the settings in the WWMT Helper, which WW then sends to the model compiler.

    Your First Model

    To export your first model, you need an object in the scene. You can start with a Teapot Primitive. If you do not know how to create a teapot inside 3ds Max, then you should stop what you are doing and go here: Make a Teapot.

    1. Click Wall Worm > Wall Worm Model Tools > Wall Worm Model Tools
    2. Click the Pick Model button in the WWMT UI
    3. Pick the new teapot model in the scene

    Immediately, Wall Worm creates a WWMT Helper. That helper will have some default settings (some of which can be controlled in global settings, including the default output paths, staticprop, etc). Take note of a field labeled Model Name. That name defaults to the node name you just picked (probably Teapot001). Also notice that the model immediately turned orange, as WW likely generated a default material for this object (this is the default behavior when picking a model that has no material).

    Exporting your model into Source has two steps: Exporting the Materials/Textures (steps 1-3 below) and Exporting the Model (step 4 below).

    1. Click the Export VTFs button in the WWMT UI
    2. Check all materials and textures you want to export in the popup
    3. Click the Export Selected Textures button
    4. Now that the textures have exported, export the model by clicking the Export QC+Model button.

    At the basic level, that's all there is to it.

    External Content www.youtube.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.
    If you have many WWMT Helpers in the scene and want to export all of the assets at once, you can:

    1. Select All WWMT Helpers you want to export
    2. Click Wall Worm > Wall Worm Exporters > Export Selected Model Textures (to export all the materials and textures)
    3. Click Wall Worm > Wall Worm Exporters > Export WWMT to Source Models (to export all models)

    That method allows you to export any number of models with a couple clicks.

    There are more functions and settings to explore in WW, including tools to create collision hulls, animation sequences, Level of Detail (LOD) models, custom gibs and a lot more. But we'll leave it at that for now.

    Level Design

    Building levels with Wall Worm isn't all too different than building them inside Hammer at the basic level. The primary difference is that you must be aware of the fact that its up to you to keep your brush geometry valid. Wall Worm offers several tools to make the process simple with brush-specific geometry types and modifiers to force geometry to remain valid. The main hurdle for Hammer users coming to Max is changing your design philosophy from atomic to systemic--in other words, don't build things brush-by-brush but instead build systems (see CorVex, which is a brush-geometry tool built for BSP design). If you stay in the Hammer-methodology, then you are missing the point of using Max and might as well stay in Hammer.

    [Blocked Image: http://dev.wallworm.com/media/1/image/png/page/111_corvex2.png]


    You may want to go learn about Grids, Snaps and other Drawing Aids before delving into your first test of level design in Max. Those functions are similar to Hammer, but have more features and settings to understand. Some of the functions like Increase/Decrease grid spacing can be bound to keyboard shortcuts via the Customize > Customize User Interface and looking in the wallworm.com category (there are many hidden gems in there to help make your design process easier).

    Your First Brush

    1) Turn on 3D Snaps 2) Turn on Snap To Grid 3) Maximize the Perspective viewport 4) Make four Box Primitives as four walls around you teapot 5) Make a Box primitive for the floor 6) Select all five boxes (but not the teapot) 7) Click Wall Worm > Wall Worm Level Design > Set Selection as Brush Geometry

    Now these objects are tagged as brushes. The VMF Exporter will export them as brushes. Note that this method of brush-work is similar to the Hammer method of brush-by-brush (which I just said is not ideal), but this demonstrates the similarity of Max/Hammer in a basic level.

    Your First Brush Material

    Now your brushes need some materials.

    1. Open the Slate Material Editor (M on the keyboard)
    2. Right Click an empty part of the Slate View
    3. Click Maps > Bitmap
    4. Browse for a TGA Bitmap on your computer that has a power of 2 dimension (512x512, 1024x1024, etc)
    5. When the bitmap node appears in slate, double-click it and change the name of the map to a relative path (so change "Map #1" in the material editor to "testing/textures/"
    6. Click and Drag the little circle at the right side of the texture to an empty part of Slate (notice the red line)
    7. Let go of the mouse and choose Materials > Standard from the menu
    8. Drop the bitmap into the Diffuse slot of this material
    9. Double click the new material
    10. Change the name of the material from "Standard #25" to "testing/textures/brush1"
    11. Select your five brushes
    12. At the top of the Slate Material Editor, click the Assign Material to Selection button
    13. At the top of the Slate Material Editor, click the Show Shaded Material in Viewport button (be default, textures don't appear in the viewport)
    14. Click Wall Worm > Wall Worm Exporters > Export Brush Textures
    15. Click Export Selected Textures

    After this is finished, WW will have created "testing/textures/brush1.vmt" with a base texture of "testing/textures/bitmapyouchose.vtf" (where the vtf file name will match the TGA bitmap you selected.

    For Wall Worm pro users, any texture type is valid (even non-bitmap textures). For the standard WW, the bitmaps must be TGA files. See Advanced Texture Controls available in WW Pro. With WW Pro tools, you can work efficiently with Substance maps right inside Max.

    Controlling the texture transformations (offsets, rotations and scales) are topics for another day.

    Exporting the Scene

    To export this simple scene, just click Wall Worm > Wall Worm Exporters > Export Scene as VMF. With the dialog that pops open, you can choose to pack the assets, various compile parameters and to compile. Go ahead and turn on the Compile Map on Export option and click the Export Scene as Game Level.

    Now WW generates the VMF and sends it to the compiler. Because we did not seal the level, there will be a leak generated (which you'll see in the resulting log). Once the compile is done, you can view the leak as you would in Hammer by clicking Wall Worm > Wall Worm Level Design > Wall Worm Map Compile Tools > Load Leak File. Now you'll see a big red line that is the leak.

    From here you can take the standard principles of fixing the level. You'll want to add entities, which are loaded with the Wall Worm > Wall Worm Level Design > (Point Entities | Brush Entities) menus.

    You can continue to fix the level to a compilable state, or you can open the scene in Hammer to see your brushes and model.

    Conclusion

    What I've covered here is just the tip of the iceberg. Here are just a few of the other utilities you can utilize in Wall Worm:

    • Blended Mapping Material Generator
    • Sky Writer to render 2D skies
    • Displacement Sculpting
    • RAD File Generator
    • Res File Generator
    • Soundscape Generator
    • Animated Sprite Exporter
    • Animated Texture Exporter
    • Wrinklemap Exporter
    • Map / VMF Importer
    • VMT Importer
    • A lot more...

    I know that the majority of Source level designers are not interested in the level design-side of WW. But for those who have similar interests as I've always had, I think you'll get a lot of satisfaction in building worlds in Max once you get your mind wrapped around it. Because of the long history of Source designers believing it's impossible to make world geometry inside Max, Wall Worm recently hosted a brush-only level design contest to help dispel the myth. Check out some of the screen shots of the levels (remember, the contestants were not allowed to use models, displacements or Hammer).

    Brush-Only Maps from WW Contest

    gg_futurelobby

    [Blocked Image: http://www.wallworm.net/index.php?action=dlattach;topic=1578.0;attach=502;image]

    fy_delaunay_world

    [Blocked Image: http://www.wallworm.net/index.php?action=dlattach;topic=1588.0;attach=510;image]

    That contest was sponsored by some super-sexy plugin developers: Exlevel, Ephere and enRichPro. All three have agreed to sponsor the next contest, which will not be limited to just brushes. The first place winner received $1k in commercial software licenses. Rules for the next contest will be announced soon.

    Other mappers, too, have been experimenting with doing Source level design inside Max. Joris Ceoen is an avid creator with levels that have won Game Banana contests. His level Space Marble Unlimited won a contest recently and is the level featured on the book below.

    If you are interested in learning more about experimenting with level design in Max, you can download your free copy of Hammered to the Max: A Hammer User's Guide to 3ds Max.

    [Blocked Image: http://dev.wallworm.com/media/1/image/png/page/140_hammerdtothemaxcover1.png]

    Common Resources for WW:

    • Wall Worm Documentation
    • Wall Worm Forums
    • Wall Worm YouTube Channel
    • Wall Worm Twitter Feed
    • Wall Worm on Facebook
    • Wall Worm on G+

    Some other Fun Tools and Features in Wall Worm


    External Content www.youtube.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.
    External Content www.youtube.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.
    External Content www.youtube.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.
    External Content www.youtube.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.
    External Content www.youtube.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.
    External Content www.youtube.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.
    There's a lot more... if this is interesting to you, it'll be easy to find it all.

  • Squad
    • April 26, 2016 at 11:29 AM
    • #2

    Sticky please? : )

    Great idea and post!

  • will2k
    • April 26, 2016 at 11:50 AM
    • #3

    Shawn, this is awesome :)

    I second @Squad's idea: a sticky or better yet, a spotlight? @Sprony, @FMPONE thoughts?

  • Sprony
    • April 26, 2016 at 12:22 PM
    • #4

    It's featured and stickied :)

  • shawnolson
    • April 26, 2016 at 3:37 PM
    • #5

    Thanks guys. I hope it helps some people get started. There is a really exciting new feature coming to WW soon, too... but I'll not spill the beans quite yet.

  • JorisCeoen
    • April 28, 2016 at 9:41 PM
    • #6

    Excellent write-up!

    It does bring back a lot of nostalgia of the times when I was learning 3DS Max after a big discussion on one of my most favorite communities at the time (PlagueFest). Basically I was tackling a zombie escape map that was way too complicated and ambitious for me to realise, and I used PROPPER at the time (known by most ZE Hammer users). There was someone who basically kicked my ass to the curb and told me that as long as I would not be learning to properly model from A to Z, I would never get optimised models that look better, are more optimised and have complete freedom in UV-controls.

    I did not believe him until I was faced with the hard reality that I would never be able to rely only on existing models, many which were also copyrighted and made it very difficult for me to make a map entirely of my own hands. This is when my journey in 3DS Max started, and it is where I stumbled across Wall Worm.

    Just as Shawn mentioned, I used the modeling tools first for all my Hammer levels. I actually kept using the model tools ONLY until after Himeji Castle. Then, I decided it was time to venture into the level design tools, and if I'm not mistaken there had never been anyone delving deeply into those tools ever before, so I had to discover tons of stuff on my own. But what really fascinated me at the time was just the idea that you could actually make your level inside 3DS Max (brushes and displacements) and then model right inside that level and just output it into Source directly.

    Only that thought really allowed me to push my motivation to learn 3DS Max. Eventually it became the only tool I used, ranging from level design and modeling to even texturing and animating/rigging (things which I had never really done before).


    "Just imagine you have an idea for a map. You want to design it, but you realise you have no way to get specific models to convey the theme of your concept. I was faced with this reality so many times that at one point, I decided I wanted to learn modeling and texturing so that in the future, if there is something I want to realise, I simply can. This train of thought is what brought me to Wall Worm."


    At the end of this additional input, all I can say is that once you understand the possibilities of designing your level into 3DS Max, and the limits that Wall Worm removes that are simply impossible to circumvent inside Hammer, you can't really get back. But, it requires a good amount of will to understand 3DS Max, and I say 3DS Max specifically without Wall Worm, because the hardest part is probably learning the program.

    Learning Wall Worm once you start to master 3DS Max is actually not difficult because Wall Worm serves mostly as the gateway to output all your work from 3DS Max to Source (not to hammer!). It does offer a number of tools that can create things from scratch as well, which are mentioned above :)

    Hopefully this additional read will allow people to see the standpoint of Wall Worm from a different person than the creator himself. Should anyone ever need help with Wall Worm, you can always add me on Steam so I can help anyone on his way should he/she be interested.

  • shawnolson
    • May 5, 2016 at 10:03 PM
    • #7

    Great comment @JorisCeoen ! As I've watched you progress over the years, I have always enjoyed your enthusiasm :)

    I updated the OP with a new video for using the latest Hull Helper tools. Hopefully the video shows some of the ways to quickly build complex hulls with minimal fuss. If your Hull Helper UI doesn't match the video, just update WW.

  • FMPONE
    • May 11, 2016 at 10:11 AM
    • #8

    Been getting some great use out of Wall Worm already, can't wait to dive into this fully.

    Quote from shawnolson

    On 5/5/2016 at 5:03 PM, shawnolson said: Great comment @JorisCeoen ! As I've watched you progress over the years, I have always enjoyed your enthusiasm :)

    I updated the OP with a new video for using the latest Hull Helper tools. Hopefully the video shows some of the ways to quickly build complex hulls with minimal fuss. If your Hull Helper UI doesn't match the video, just update WW.

    Are you able to talk about any of the work you're doing on Black Mesa? Would be interesting.

  • shawnolson
    • May 14, 2016 at 1:35 AM
    • #9
    Quote from FMPONE

    On ‎5‎/‎11‎/‎2016 at 5:11 AM, FMPONE said: Been getting some great use out of Wall Worm already, can't wait to dive into this fully.

    Are you able to talk about any of the work you're doing on Black Mesa? Would be interesting.

    Thanks @FMPONE:)

    In terms of the Black Mesa work, I'm not really allowed to talk about the details of my work for a while. But I can say that the majority of the updates that have gone into WW the last several months are largely Black Mesa-related updates that make WW work more seamlessly on broad teams or simply more efficiently (including a sizable update to WW/WW Pro just today). In fact, some of the new tools were commissioned specifically by BM needs and were graciously permitted to be released into the general distributions of WW for the benefit of the public. And I am sure that will continue.

  • Dosentti
    • June 13, 2016 at 12:07 PM
    • #10

    Hey, I have just started modeling with no previous experience with it so I thought there must be someone who knows right a way what's the problem with this odd shadow thingy on my hay bale prop.

    I'm not a rain maker in modeling. In fact this is my first model. I made this round bale and I tried to add some individual straws on the top of it to stick out and make it look a bit more realistic.

    So in the picture there's same texture in the border of the bale and on the top of the bale but somehow those straws that are on the top look all shady. Does anyone know what's causing this and how to fix? Maybe something wrong with prop compiling settings?

  • shawnolson
    • June 14, 2016 at 2:31 AM
    • #11

    @Dosentti Those darker strips on the top are likely due to the normal on those strips. The first solution to explore is adding an Edit Normals modifier to the prop and point all the normal of the top pieces straight up. There is a function in the WW Normal Tools to do this in a couple clicks. Then make sure the WWMT settings have the Explicit Normals setting turned on (which will use the smoothing groups + explicit normals).

  • Dosentti
    • June 14, 2016 at 8:24 AM
    • #12
    Quote from shawnolson

    6 hours ago, shawnolson said: @Dosentti Those darker strips on the top are likely due to the normal on those strips. The first solution to explore is adding an Edit Normals modifier to the prop and point all the normal of the top pieces straight up. There is a function in the WW Normal Tools to do this in a couple clicks. Then make sure the WWMT settings have the Explicit Normals setting turned on (which will use the smoothing groups + explicit normals).

    Thanks. Normals weren't pointing up and I think I fixed that but I can't find that "explicit normals" setting anywhere. Which tab is it suppose to be? Edit: Never mind, I guess they are on as a default because it works now. Thanks a lot @shawnolson! Too bad my model sucks :D Any tips how to make those top straws looks more realistic?

  • shawnolson
    • October 1, 2016 at 4:39 PM
    • #13

    So this is a long time in coming. It's not finished, but those of you who own WW Pro and are using 3ds Max 2016 can now test the BETA of a new native MDL loader for 3ds Max. It will eventually be added to all versions of WW (pro and free), but at this moment it's only in WW Pro for 3ds Max 2016 (we will add 2015/2017 next). Among other things, it allows you to load MDL files from VPK (as well as VMT and VTF). Note that to try this, WW Pro users must install the BETA download in the store and not the standard download.

    Please be aware that the MDL loader is a joint project of many people including Dave Brennan, Black Mesa and Wall Worm. Credits are in the link above.

    Look forward to more updates, additions, fixes and videos on all this on WW forums.

  • shawnolson
    • October 14, 2016 at 8:17 PM
    • #14

    Teaser for the MDL Loader:

    External Content www.youtube.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.

  • shawnolson
    • October 26, 2016 at 7:22 PM
    • #15

    MDL Plugin V1 released (as in video above). Included in both WW and WW Pro. Works in Max 2015-2017. Enjoy.

  • shawnolson
    • October 29, 2016 at 8:10 PM
    • #16

    External Content www.youtube.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.

  • catfood
    • December 9, 2016 at 3:04 PM
    • #17

    Wallworm is fucking awesome thank you so much

  • shawnolson
    • December 9, 2016 at 4:06 PM
    • #18
    Quote from catfood

    55 minutes ago, catfood said: Wallworm is fucking awesome thank you so much

    :) Thank you for the endorsement. Such opinions go a long way in helping keep me motivated to continue working on this project.

    I should take time to make a better video than the one above. Although making displacements from a single epoly template is possible, you get better results by making a template that is actually a bunch of valid brushes (as each element). There is a tool in WW collection (ShellVex) that can convert the faces to brushes... but I didn't demonstrate it here.

  • baem123
    • December 9, 2016 at 6:29 PM
    • #19

    i started to learn 3dsmax with some youtube tuts and installed wallworm. i made a simple custom cube for a first test as you can see in the images below. wall worm is working as expected, collision worked too but my materials were not the same like in 3ds. only the basic diffuse color is added like you see in the picture. what did i do wrong and how can i solve this? i guess this is a dumb question - thanks in advance for any answer and thank you for wallworm!

    [Blocked Image: http://i.imgur.com/DVwWw8E.jpg]

    [Blocked Image: http://i.imgur.com/5dDQEyL.jpg]

  • shawnolson
    • December 9, 2016 at 7:54 PM
    • #20
    Quote from baem123

    1 hour ago, baem123 said: .. but my materials were not the same like in 3ds. only the basic diffuse color is added like you see in the picture. what did i do wrong and how can i solve this? i guess this is a dumb question - thanks in advance for any answer and thank you for wallworm!

    No question is dumb :)

    So the answer to this question is generally straightforward. You need to "Bake" the procedural Noise texture to a Bitmap. All procedural maps (Noise, Cellular, Substance, etc) must be baked into bitmaps. Depending on what you are doing, this can be either using the Render Map function in the Material Editor or it could be using the Render To Texture (RTT) utility. The render map will create a bitmap for a texture and the Render To Texture can take a complex set of textures and bake them to bitmaps according to the UV layout. For both, make sure to create TGA bitmaps.

    The RTT will replace your material with a new material where Bitmaps are used instead of the procedural textures. If you use another method, you'll have to manually assign those bitmaps.

    Hopefully this helps you understand some more.

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. Tangerine

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

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

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

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

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

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

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

    Jeremy Rivera
    June 11, 2026 at 10:03 AM
  9. Bridges 2.0 by NEXSIDE, MAP SHOWCASE. ( Steam Workshop )

    MrTrane18
    June 1, 2026 at 7:46 PM
  10. Classic Maps Reborn For CS2

    SillySpaceCat
    May 31, 2026 at 10:33 PM
  1. Privacy Policy
  2. Contact
Powered by WoltLab Suite™