Brian Riggsbee
  • Home
  • Books
  • Source Projects
    • Left-4-Dead 2
    • Counter-Strike: Global Offensive
    • Counter-Strike: Source
  • Blog

Level Design & Mapping Using Valve's Hammer Editor: Survey Results

10/27/2013

9 Comments

 
Recently I posed a series of questions to the various modding communities that use Valve's Hammer Editor to create environments, levels, maps, and campaigns. I want to thank that entire group of 46 participants that submitted a response to the survey (the full list is at the bottom with website links) and I will conduct more surveys in the future. The answers below are just some of the highlights that I selected to share, and in cases where the same answer appeared frequently between participants I made a note of it.
Picture
How long have you been using the Hammer editor?
Experience of participants ranges from 1 month to 16 years (including WorldCraft experience).

What projects have you created using the editor?
The most commonly mentioned games were Left-4-Dead 1/2, Counter-Strike: Source/Global Offensive, Half-Life 2, and Team Fortress 2.

For people just starting with the editor what key pieces of advice can you offer them?
  • internethandle: "Use the large grid and ctrl-w."
  • Filip: "...this..."
  • novalin: "Make many, small test maps before you dive into something you really care about."
  • Punishment: "Hammer can be frustrating. Don't give up."
  • Wouter Pleizier / Blueberry_pie: "Compile early and often...save frequently...learn the hotkeys"
  • George "Noface" Campbell: "Learn how leaks, areas, and visleaves work...Use [this] to check your compile log for errors..."
  • Arran Seaton: "Never use [the] carve tool"
  • David Zetterdahl "LordDz": "Don't do a hollow skybox."
  • Nijbu: "Focus on map layout and game play before visuals."
  • Oliver "FRAG" Curtis: "func_detail is a crucial element to map optimization..."
  • Peter Brev: "Learn the hotkeys"
  • Leafo: "Patience."
What do you find to be irritating when using the editor?
  • TZK203: "Bugs, missing features, crashes, error messages, layout, slow loading, horrible user interface, [expletive] dynamism, and no scaling."
  • internethandle: "missing features: proper lighting preview"
  • Punishment: "...It's difficult to import textures and models..."
  • Jacol: "Long compilation process"
  • Bernt Andreas, Brickinator: "Messy displacement techniques"
  • SM Sith Lord: "No decent lighting preview..."
  • Rectus: "No inline error detection. For example if you use the vertex tool, it could mark invalid faces immediately"
  • Hopna: "Water can be quite buggy sometimes..."
  • Jess Nielsen: "There is no snap to vertices with the vertex tool and there is no undo inside the vertex tool."
  • The_Blazer: "Insane slowdowns when editing properties of several entities at once...[or] when moving several brushes to world or to entity."
  • Fauckers: "Constant crashes..."
  • Sam Morris: "... no particle viewer..."
  • BlazingOwnager: "The lack of a "mass rename" or "Find/replace within selection" option..."
If you could add one feature to the editor what would it be?
Overwhelmingly, the most popular response to this question (43% of those surveyed) was the desire to have some form of real-time preview mode so that designers can properly see the lighting of their environment without having to compile. 
  • Punishment: "A system of managing assets with drag-and-drop functionality..."
  • Jacol: "Real Time Engine Preview"
  • Brickinator: "A prefab Workshop."
  • marnamai: "Real time lighting in the 3D viewport"
  • Arran Seaton: "...fully dynamic lighting support..."
  • Nicole: "Model scaling"
  • Hopna: "A tool for adding lots of vegetation in a short time..."
  • Text_Fish: "Load reference images behind the grid..."
  • BlazingOwnager: "...a way to fire triggers from within the editor...[and]...the ability to edit the nav mesh in the editor..."
  • RainingMetal: "An edit lock to prevent people from stealing your work."
When preparing to start a new map/level/campaign how do you start?
The answers to this question ranged from no 'preparation work at all' to a very robust process of pre-production.
  • Filip: "Just Dive into the tool..."
  • Punishment: "A layout drawing...followed by reference images, and then blocking out the level with developer textures."
  • Brickinator: "I usually write down a ton of ideas and then just mess about until something works in the editor..."
  • Arran Seaton: "Always plan things out on paper first..."
  • SM Sith Lord: "Gather tons of reference photos, think real hard of a layout. Sketch the layout on paper..."
  • Nijbu: "Grid paper layouts..."
  • Oliver "FRAG" Curtis: "I usually start with a drawing that I've done in my design journal then elaborate on it with reference images to better define the design..."
  • Roflmahwafflz: "I think about an idea for a few days then i just build it based off of compiled thoughts..."
  • BlazingOwnager: "[I] spend a lot of time doing prep work on custom entities/scripts before I even make the first room of an actual map..."
  • RainingMetal: "Think of a gimmick. Something that will make your work unique."
Picture
What is an important and often overlooked element in map making?
The most popular response to this question, by far, was lighting.
  • novalin: "It takes way longer than most people think. It's very rewarding, but it's a ton of work."
  • Punishment: "Lighting. Good lighting can enhance an otherwise mediocre level, and bad lighting can tarnish an otherwise good level."
  • George "Noface" Campbell: "Optimization."
  • Bernt Andreas: "Texture alignment"
  • Arran Seaton: "Sound design is...heavily overlooked, yet it adds so much mood and character to a level."
  • David Zetterdahl "LordDz": "Gameplay."
  • Ark11: "Originality"
  • Rectus: "Giving the players a sense of purpose."
  • Garrador: "Subtle details... [if] it feels like something is missing...something IS missing."
  • HoliestCow: "Flow"
  • Marcy: "Be sure to set fade distance on props..."
  • Sam Morris: "...decent HINT/SKIP brushing."
  • needadonut: "Dynamicity. Adding in those extra details will make even the simplest maps really great."
  • BlazingOwnager: "The nav mesh. So many people still rely on automatic nav mesh generation, and frankly, it's terrible."
What is your work process like?
  • Arran Seaton: "Pace yourself. It's stupid to burn yourself out. And always get feedback as often as possible, it usually helps drive your creativity if you know you're going in the right direction..."
  • SM Sith Lord: "I make very long check lists of things to fix/address when I am testing the map and then work my way fixing everything on the lists."
  • Nicole: "I usually concentrate on one area per session but switch to another when I feel that I'm not motivated enough anymore."
  • Oliver "FRAG" Curtis: "Lots and lots of chiptune music blasted into my head for a few hours and then a coffee break and repeat."
  • Devieus: "I polish one area at a time."
  • needadonut: "I make a checklist of items and things to do and add. I like to accomplish 1 thing per day so I can work at a steady pace."
  • BlazingOwnager: "I like to immerse myself in work and will often blast 12-16 hours in a single sitting and then take an extended break."
Any funny or crazy editor stories to share?
The majority of responses involved some form of corrupted or lost files.
  • novalin: "Someone decompiled my first map, added a couple of extra rooms, posted it, and claimed it was there. It took a few sleepless days to get it taken down."
  • George "Noface" Campbell: "The first decent map ready for public release mysteriously disappeared."
  • Bernt Andreas: "Corrupted map files..."
  • marnamai: "renaming a map, compiling it, running ingame under wrong filename, go crazy when you can't find out why the map didn't update ingame."
  • SM Sith Lord: "I once made a map for a drunk guy guy based on a drawing that he drew on a paper plate at party. It featured huge beer cans in the center of the map."
  • Oliver "FRAG" Curtis: "I spent about a year on a map...came home one day and a power surge had fried my hard drive... [I] found a really early backup of the map...and decided to start from there...and I eventually ditched the map and started on a new one. About a year later while clearing out my external hard drive I noticed a map that was labelled "recovery"."
  • Text_Fish: "I'm still working on a CS:GO map for which I built the basic brushwork in WorldCraft for CS 1.6."
If you have ever collaborated with other developers please share your experience.
  • Jacol: "I think it's a good thing, you can finish the whole map way faster, if you pick the right person, it's very easy and rewarding."
  • Brickinator: "'Ideas people' are just dead weights in modding as they constantly suggest the impossible and contribute nothing tangible."
  • marnamai: "I am able to get much more done by myself when I don't have to rely on other people or wait for assets."
  • Arran Seaton: "I've worked with very unorganized teams who only use steam IM, all the way up to my current indie project where we have two Skype meetings each week and milestones and targets to hit. It's really about the dynamic of the team and how motivated each individual is."
  • Oliver "FRAG" Curtis: "Collaborating with other developers can be a rewarding experience, you can bounce ideas off each other and then iterate a few times until you all come to an idea that everyone agrees on."
  • Marcy: "...We would both focus on one part of the map, and later merge them together. We always made sure that we worked on the same scale."
  • Sam Morris: "It's fine, but there are no easy ways to merge changes between revisions done by multiple people."
Have you ever used any other level editors? If yes, which ones and how do they compare?
The most commonly mentioned editors in this response were Unreal/UDK, CryENGINE/Sandbox, & Unity.
  • TZK203: "I've used Unreal. It's everything the Source SDK should be... without, unfortunately, a good community alongside that isn't dead."
  • Wouter Pleizier / Blueberry_pie: "The CryEngine editor has nice terrain and foliage editing tools, but it seems somewhat unwieldy for indoor (or other non-natural) environments."
  • Jacol: "...for me the best editor is the Hammer..."
  • David Zetterdahl "LordDz": "Warcraft 3 Editor - The trigger editor is so much easier to use over Hammer's entity based triggers."
  • SM Sith Lord: "...JED...had far superior object and grid rotation features that allowed you to build things on-grid even at very odd angles."
  • Nijbu: "Unreal engine; the brush building is more painful and harder to get started with..."
  • Text_Fish: "Radiant for id Software games is clunky. Unity is very versatile if you have a good range of meshes to work with, but the lack of basic brushwork makes iteration difficult."
Do you have any interesting Easter eggs in any of your designs?
  • Brickinator: "My L4D2 campaign has graffiti featuring the names of my friends whom I have claimed all died in a zombie apocalypse."
  • Ark11: "A guy wearing a traffic cone on his head."
  • Rectus: "I have a bunch of them in my latest campaign. The interesting part is that they are all lethal to the players."
  • Oliver "FRAG" Curtis: "I can't tell you that, it would ruin the Easter eggs!"
  • insane3004: "End of the Line has two... one appears after 25 minutes of surviving... the other is out in the open... but I am not sure anyone has even seen it..."
  • Marcy: "One involving a sex doll. Need I say more?"
Survey group: TZK203, internethandle, Filip, novalin, Punishment, Wouter Pleizier / Blueberry_pie, Jacol, George "Noface" Campbell, Bernt Andreas, Brickinator, marnamai, Arran Seaton, David Zetterdahl "LordDz", SM Sith Lord, Ark11, Nijbu, Nicole, Rectus, Hopna, Jess Nielsen, Oliver "FRAG" Curtis, Garrador, The_Blazer, DerpyBlade or Alex, HoliestCow, Peter Brev, unknown, SotaPoika, Text_Fish, Mr Funreal, Roflmahwafflz, Fauckers, Rev_deaddiet, insane3004, someone, Marcy, Sam Morris, Leafo, Devieus, 4echo, Element, needadonut, Dan, BlazingOwnager, RainingMetal, & RuninWivSizors.
9 Comments

4 Simple But Effective Tips for the Hammer Editor

4/6/2013

3 Comments

 
There is no such thing is the right way and the wrong way to make art in Valve's Hammer Editor, but there are definitely various practices that can save you time and frustration, 4 of which I am detailing in this post. If you have some tips that you find to be very useful please leave a comment explaining what it is.
Picture
Keyboard Shortcuts
These are just some of my favorite keyboard shortcuts. Learn and use these shortcuts and you will save yourself a lot of time while working in the editor.
  • Control + m, transform
  • Control + t, tie to entity
  • Control + g, group
  • Control + u, ungroup
  • Control + e, center the view on the selected object
Additionally, mouse over the tool icons to learn their keyboard shortcuts

Grid Size 
Start working with the grid set rather large at first and then go small when needed. In other words, if you are creating the initial geometry for a huge building then use a larger grid to draw your object onto rather than a small grid. This will save you time in the long run by keeping your work neat and clean.

Multi-select
If you ever need to select multiple objects at once, rather than control clicking them one at a time, use the selection tool to draw over all of them, and then press enter to select everything inside your selection range.

Grouping
Group multiple objects together to better organize your work. For example, select all of the details inside of a room then turn them into a group (control + g) so that you can easily manipulate the group at once. If you ever need to edit one object within a group, rather than ungrouping the set you can instead switch to the selection type “solids” or “objects” (instead of “groups”) which makes it so only one select one object at a time.

What’s great about grouping in this editor is that you can group and group and group, multiple times, creating a multi-tiered grouping structure.  For example, I select object A and B and group them. Then I select my grouping of A and B, and select C, and group them. At this point, A, B, and C are all grouped together. Now, if I ungroup once then A and B will still be grouped together, as I only ungrouped one level. And if I ungroup one more time then A and B will be ungrouped from each other (we are now back to where we started).
3 Comments

Reference v. in-game - Tour of Terror for L4D2

1/27/2013

0 Comments

 
Check out the below video to see a comparison of some of the reference photos versus the actually in-game geometry I created for my L4D2 campaign Tour of Terror. If the video does not load in your country, please use this alternate Vimeo version.
0 Comments

My process for creating a mapping project, from concept to gold

1/22/2013

0 Comments

 
Hi all – Today I would like to share out the general process I follow when creating a mapping project. This process can apply to a simple Counter-Strike map to a more complex 5 level Left-4-Dead 2 campaign, and is geared towards personal projects (not something you create while working for a company).  Also, this process may not work for everyone, and can be tweaked for your own personal style.

If anyone has any suggestions or feedback, please drop a comment in. And if anyone wants more details on anything, just let me know.

Concept & Theme
The first step of the process is to come up with a concept, or list of potential concepts. For me, everything starts with a written list, and I recommend coming up with multiple ideas before gravitating to your favorite one. Take into consideration your experience level, your timeline, and your resources when deciding on a project. In other words, don’t tackle something that is over your head and you don’t have the time to complete.

One of the best ways to formulate a concept is to first develop a theme, which in turn tells a story. A theme and story will also inspire you as you develop your project. For a Counter-Strike map, such as de_cefalu_go, this may be as simple as “A small, coastal city in Sicily, which accommodates tourists, with the main attraction being a large, central church. The architecture ranges from courtyards and cafes, to hotels and a small beach. Terrorists have moved into the town in order to destroy one of two key landmarks, and counter-terrorists have been deployed to thwart their efforts.” Whereas for a longer, more complicated linear experience as with L4D2, my theme/story was “Four American tourists in Eastern Europe are holding up in a large hostel after the zombie apocalypse has plagued the Earth. Their food and water supplies are running thin, and the hostel, which was once housing multiple survivors, has caught fire forcing them to venture out in search for rescue. Their only hope is to push forward and work together.”

Resources
If you decide to work with a team of developers, such as for models, sounds, and textures, then I recommend reaching out early into the process. Make sure you are comfortable coordinating the entire process as well, or assigning a point person that you trust to do this. If the project is complex, leverage a free task/bug tracking tool. Set goals with each person and create a list of work that you want each person to accomplish (and by when).

Reference
Now that you have selected a project, start collecting reference photos -- Take your own photos and/or using resources like Google image source. Save these images in an organized manner, such as using a naming convention. E.G. castle_exterior_01, building_ornatedetail_01, etc. This may seem time consuming, but it tends to save time in the long run, especially for the bigger projects.

Mock-Ups
Create mock-ups by drawing over your reference images, drawing concepts from scratch, creating inspiration boards that are a collage of specific key areas, and drawing top-down layouts on grid-paper. If your project is large, like mine was for L4D2, buy a poster board and attach your various mock-ups so you can see your entire layout in one glance. Take notes on your mock-ups, such as where items might be well placed, what type of lighting/mood you want, etc.

When creating layouts, I use grid paper so that I can draw to scale. Also, don’t feel like you need to perfectly emulate reality when referencing images. For example, the layout of a house may not work for your game experience. Take into consideration where twists and turns are important, where you want bottle-necks versus large, open areas, and what works not only visually but best for game-play.

I also like to use tracing paper when working on areas that have multiple levels (e.g. an apartment building), so I can see how everything will vertically align before I start building it.

Rough Layout & Detailed Section
With your concept locked down, reference images organized, and mock-ups situated, you are now ready to start building your map or level. If you are working on a multiple level campaign, decide which level you want to start with (this does not have to be level 1). Start with blocky, rough layouts first, and try not to get caught up in the greater details yet. Once you have your level roughed out, detail out just a small area so that you can set a standard for the rest of the level.

Feedback & Testing
It’s important that you test often when developing your map or levels. This not only allows you to capture and fix errors easily, but it also allows you to play-test your work before the details go into place. Once your details are in, it becomes much more difficult to rework those areas. Share the level with a few friends and just get feedback on the layout, game-play, difficultly, etc. as well as the detailed area you created. Create a list of questions for them, if needed, to help guide the feedback conversation. For example: What works well and why? What areas did you not like and why? Was the frame-rate/performance good? Any bugs?

Continue to Develop
For the larger projects, start blocking out the remaining levels. Once everything is blocked out, get more feedback on the remaining levels, and then begin to detail everything. I generally follow this order when developing my levels and maps: block out, detail geometry and place large models, apply textures, add lighting, place smaller models, apply decals and overlays, and add in SFX and VFX. All along the way I am compiling and testing, as well as optimizing.

When detailing an area, I determine what details to place based on my theme and story. For example, in the lobby of my L4D2 hostel I boarded up the entrance windows, because the survivors in this building were first keeping the undead out at this location. I selected objects like the cabinets and chairs to block the windows because those were objects available to the survivors in this building. In front of the boarded up windows are piles of dead bodies, which implies a battle had taken place there, in which the survivors seemed to fair well.

When lighting an area, consider what you want your lighting to accomplish. For Counter-Strike, the game-play and balance is very important to players since this is a competitive versus style game, so I tend to use more full lighting in most areas so players can see the opponents more easily. Whereas the lighting in L4D2 serves an entirely different purpose, as it sets the creepy mood by juxtaposing dark and light areas, as well as guiding the player through the linear progression of a level without making it feel too linear. In other words, the headlights of a car will point to the next area the players need to explore whereas the dark corners are dead ends.   

Promote
I recommend first promoting a little before you are ready to release your Beta, so that people start to anticipate your project. Make sure you have a realistic launch date for your Beta, so that you are not communicating false promises to your future community. When promoting, be consistent: don’t post something 10 times the first week, then only once in the next month. Also, do not over share too much content, like screenshots of every area, otherwise the project won’t feel very fresh when you actually release. Once your project does hit Beta make sure to inform any threads you may already have started of the actual release with a link to the download page. Finally, don’t confuse “promoting” with “spamming” – your Facebook friends don’t want to hear about your personal project every day.

Where to promote is really up to you, and depends on the game you are developing for. Look for forums that relate to your project and make sure to follow the forum guidelines when posting. For Steam games, you can create a steam group. If you have your own website or blog you should of course mention your project there.

Promoting doesn't have to just be text and screenshots either. As part of my promotions I like to cut together videos that show off the environments and game play. 

Beta Release
Even if you feel incredibly confident that your project is “perfect” I strongly encourage you to release a Beta first so that you can gather feedback on game-play, balance, difficulty, and bugs. Take constructive feedback seriously and encourage a system of feedback from the players that are testing your project. Try not to take the trolling negativity too seriously either.

When my L4D2 campaign Tour of Terror was in Beta I would join games and watch YouTube videos on my campaign, while taking notes on things I could improve. I discovered that I actually learned more from a YouTube play through than I did from most written feedback.

Create and Release Updates
Make changes to your project based on good feedback and fix any bugs that have been discovered. If there are a lot of issues you may need to triage your list of feature improvements and fixes, so that you are fixing the higher priority features and issues first. Sometimes with personal projects it’s easy to say “I have unlimited time to work on this, so I will just keep adding more and more features”, however, I find that it is important to find that critical stopping point so you can call the project complete and move on to other work. Art is never perfect, and there will always be something you will look back on and say “I would do that differently if I was doing it again now”.

Release Gold
Your project now plays well and doesn't have any major issues. You feel you are ready to call it complete and release the final version.
0 Comments

    Author

    Brian Riggsbee lives in San Francisco CA. He enjoys gaming, writing, creating art, practicing Brazilian Jiu-Jitsu, chasing adorable dogs, and spending time with his wife and boy.

    Picture

    Categories

    All
    Art
    Baby
    Castlevania
    Coffee
    Counter Strike Go
    Counter Strike S
    Dogs
    Final Fantasy
    Game Boy
    How-to Mod
    Interview
    Iphone/ipad
    Jiu-jitsu
    Left 4 Dead 2
    Metroid
    Music
    N64
    NES
    Poll
    Resident Evil
    Retro Gaming
    Review
    ROM Hack
    Rygar
    San Francisco
    Star Wars
    Super Mario
    Switch
    Terrarium
    The Last Of Us
    Valve Hammer Editor
    Zombies

    Archives

    December 2022
    October 2022
    August 2022
    July 2022
    April 2022
    December 2021
    July 2021
    June 2021
    May 2021
    March 2021
    January 2021
    October 2020
    September 2020
    August 2020
    July 2020
    April 2020
    December 2019
    October 2019
    September 2019
    May 2019
    February 2019
    September 2018
    August 2018
    July 2018
    April 2018
    February 2018
    December 2016
    June 2016
    May 2016
    April 2016
    March 2016
    May 2015
    April 2015
    February 2015
    January 2015
    December 2014
    November 2014
    July 2014
    May 2014
    March 2014
    December 2013
    November 2013
    October 2013
    September 2013
    August 2013
    July 2013
    June 2013
    May 2013
    April 2013
    March 2013
    February 2013
    January 2013

    RSS Feed

  • Home
  • Books
  • Source Projects
    • Left-4-Dead 2
    • Counter-Strike: Global Offensive
    • Counter-Strike: Source
  • Blog