Hammer, 3D Design, and the Virtues of Minimalism

Hammer, 3D Design, and the Virtues of Minimalism (Jerz’s Literacy Weblog)

For the past month, as preparation for teaching a brief Hammer unit in my “New Media Projects” course, I got pretty good at Hammer basics — in part because I recorded a series of Flash tutorials, and doing so really solidified some basic design skills.

I hadn’t really realized just how comfortable I’m becoming with Hammer until yesterday, when I roughed out this interior while my daughter was napping. Today (during another nap) I added some special effects (including snow, not visible in this photo). I had already sketched out the floor plan on paper, so it was really quite easy to implement it.

I’d have gotten a lot farther today, but for some reason when I loaded it up Hammer couldn’t find where I had placed the custom textures that I had downloaded. I recall being so frustrated with the numerous steps I had to do in order to get a new texture into Hammer that I never even tried to teach that to my students. But at least now I think I understand the complex file system that Steam creates. (I’m also starting to max out my laptop’s hard drive. Time to do some file-shuffling.)

I’m starting to feel more comfortable with lighting (I have four lights in the fireplace — three of them flickering in different colors and a fourth that’s a steady yellow-orange). I had made an automatic door a few months ago, and it only took me a few tries to refresh my memory.

When my students began programming text adventures in Inform 7, it took a while for them to learn that every concrete object they mention in the description of a room (“The professor’s bookshelf is cluttered with a bewildering array of papers, notebooks, reference books, and letters.”) means that the player is going to want to take, read, examine, smell, eat, and burn every one of them. To implement each and every object in a cluttered study would take forever, but mentioning an object by name and then refusing to let the player interact is sort of cruel to the player. Rather than come up with a long list of things that the player will want to interact with, it’s better to write a general description that reveals the character of the person who uses the study. A player who reads “Everything is a bit tweedy and fussily organized, but just a bit sloppy around the edges, not unlike Prof. Sneedlewood himself. An ivory-handled letter opener catches your eye.” will immediately take the letter opener, but will probably not bother trying to rifle through the professor’s things.

In a similar way, while creating an environment with pixels rather than words, I’ve learned that instead of open (bare) shelves I should probably instead have more closed cupboards, with just a few decorative items to personalize the space.

Hammer (the Half-Life 2 map editor) is good for constructing anything that you could build out of wood in real life. While the world allows for subtle and complex motion and beautifully interactive physics (hinges, ropes, gravity, friction, etc.), the resolution of the world-builder is chunky and blocky.

I’ve got a kind of creative vision, too, but I’ve been frustrated by how restricted I feel when there isn’t a good ready-made texture (the 3D colors that go on the flat surfaces) or model (the map of points and planes that make up an object, such as a chair). So I’ve spent too much time online surfing for ready-made models and materials.

I have taught myself Blender3D and am working with the XSI Mod tool, so I know I’ve got everything I need to design complex objects and import them into a Hammer map.

View Comments

  • I have the hammer program but im not sure how to use it. Would you know where I could get hlep for useing it?

  • Yes, it is possible to port objects, but not directly from Blender3D into Hammer. You have to export from Blender into a standard format, and then use a different tool to import the model and convert it into the format Hammer uses. When I tried it over the summer using MilkShape, which is a nifty little program. I lost all my textures, so what ended up being imported was a gray blob. (I obviously missed a step, and my trial subscription to MilkShape expired before I had the time to figure out what the problem was.)

    The tool I'm getting ready to use now is the XSI mod tool, which is huge but free, is powerful enough that I could possibly drop Blender3D altogether and just have students do all their modeling with XSI, and which has a plug-in specifically for Hammer.

    I am planning to do a simple object like a framed picture, then a more complex object like a lamp-post, and see how it goes from there. (I'll be posting the results here... no promise on when I get it done, since I'm shifting my focus to getting ready for spring classes.)

  • I really loved working with Hammer this semester and I can see it being something I do in my spare time next semester. The room you worked on during the naps looks great. Is there a way that you can import objects from Blender 3D into Hammer? I was thinking that would be something neat to do.

  • Yes, Karissa, having a greater choice of textures would be useful. Thanks for your feedback.

    The way it works in Hammer, though, it's not a simple thing just to grab a picture off of the internet and slap it into the world. That's because all the textures come bundled with information such as what sound should be played when the player walks on a surface with a particular texture, how reflective or dull the surface is, and some other really cool but really complex 3D lighting effects. It's not that hard, in the sense that it's just a matter of following instructions and putting files in the places where they belong.

    There are a few free stand-alone tools that can make the job into something more like the point-and-click task that most EL students are likely to feel comfortable with. But it's one thing for me to be able to muddle through and figure it out, and another thing entirely for me to know the procedure well enough to be able to guide a class through it successfully. I had initially planned to have the Blender3D models brought into the Half-Life map, but since we really only got the Hammer toolkit working at the last minute, I didn't want to take up time during the Blender unit asking you to go through the steps necessary for exporting an object. When we do this again, I'll probably introduce Inform 7 just as I did before, then introduce Flash and 3D modeling on a basic level, and then return to do Flash programming and more complex 3D modeling, based on whatever the class is most interested in doing.

  • For some reason, I enjoy the brightly colored furniture in the room shown in the top left corner of your snapshot... I can't imagine why that is... Probably the same reason that when we were designing our room, Amanda and I chose trees and sky over the more industrial materials Hammer provides.

    I think that, if you do teach this in the future, if you get so far as customization, it'd be nice to have more choices with the textures. Amanda and I were searching for bear skin, for example :) Maybe there's a kit with more textures somewhere that could be loaded on each computer? I have no idea. I'm just a novice at this, but I think creativity can only be guided so far with such limitations in textures.

Share
Published by
Dennis G. Jerz