Rock Wall
Note: This isn’t really a tutorial and I’m not a texture guru, I’m just charting my progress during my development for anyone who’s interested in following along.
. . .
I really like the “Gor” texture set included with Sauerbraten. The rock face textures are particularly good. They don’t fit into every situation though, so I’m trying my hand at extending the set.
This particular texture I’ve been using for the base of a mountain, but tiling it all over the mountain gets repetitive fast. I wanted something similar but less grassy for the higher reaches, so here’s what I’ve tried to get that.
Here’s the original Gor texture (resized for fair usage on my blog here).
Source 1:

And here’s a beautiful section of rock I found on Flickr, taken my Bill Barber.
So the idea is to take the second rock face and make it look as though it’s from the same mountain as the first. I cut out a square of reasonably flat space and applied the “Match Color” adjustment in Photoshop, using the Gor texture as the source:
Step 1 (Match Color):

Next, I flattened out the Gor texture as much as possible, basically by blending an offset of itself and tried to remove as much of the grass as possible. Not a useful texture on it’s own, but works for my blending the two together.
Step 2 (Flatten Source 1):

I altered Source 2 a bit to allow for better tiling, I won’t go into detail on that part, basically offset and brush work. The next step though, was to get a bit of the lichen from Source 1, so I fiddled with blends until I was satisfied. Finally I adjusted for contrast and here’s the resulting texture:
Results (after blend and adjust):

Once my texture set is complete for this project, I will release a full resolution set under a Creative Commons license. For now, realize that this particular texture includes elements from the two textures above and is subject to their related licenses.
Fields of Lavender
I like Sauerbraten’s procedural-ish grass system. Creating a lush field is easy enough to do. It’s not quite on par with LOTRO’s beautiful grass & shrubs but with some more variety it could be in the same ballpark. As soon as I realized I could add more than the default basic grass I knew I had to expand it for my project.
I found this nice example of lavender on Flickr and could imagine it in-game:
A little bit of Photoshop masking to remove the background and *poof* there it is, in my little world:
The original photo is shared under a Creative Commons license for remixing and non-commercial usage. I posted a note and got a reply from the photographer that he actually plays Sauerbraten and he seemed pretty pleased to see an example of his work in the game. =)
Level Crafting
I find creating levels in games so compelling and I tried to explain why to Nelg:
“It’s like crafting in an MMO. Except I actually make stuff that I can play.”
I like making virtual stuff, more than real / tangible stuff (I used to make chainmail, but damn that was hard on my hands). I’m no math whiz or geometry guru, so my coding and 3D skills are limited, but I really enjoy creating layout, gameflow and most of all the storytelling aspect of level design. Even a basic RTS map tells a story in a way. FPS maps tell them even better.
I previously mentioned Sauerbraten editing. Now I can say I’m hooked. Sauerbraten has cast some sort of magic spell, causing me to embrace the quirky cube-editing. I’m immersed in my own little world, damn near literally.
I’ve wrangled Sakkara and Nelg into coop editing: A mode with even more quirks but charming as hell. It’s been great to see tracks of land come up around me and the synergy adds to my own productivity while I build.
I’m going all out here. I’m editing my own textures and sounds, remixing others. I’m experimenting with creating a huge map, trying to push the limits and see what the engine is capable of (and so far it’s performing beautifully).
I am however, sticking within the constraints of the current SVN release of Sauerbraten. I’m not (yet) coding directly to the engine to change gameplay. I’d love to of course, but aside from my limited skillset in that area, that’s just further down the road in progression. For this first project at least, I’m putting in a serious attempt at a full single-player campaign. The concept is to keep it to one big map, so there won’t be any extra loading screens, just chapter to chapter blending together. From space to land, oceanside, rivers, mountains and snow. Oh yes and dungeons. Several dungeons.
This is gonna take awhile.
Fiddling with Sauerbraten
I’ve been playing around with the Sauerbraten (Cube 2) engine the last few days. I’m toying with the idea of a full conversion Co-Op RPG, but launching a big project like that without getting more accustomed to the engine would be foolhardy. So I’m starting out in more humble fashion with a few maps using the game’s existing single-player campaign system. If that goes well, I’ll progress from there.
The engine is fully open source (zlib license, so quite permissive) and more capable than it first appears (on a glance, it looks a lot like Quake 2). The level editing works directly inside the game and you can even coop-edit, or coop-edit and deathmatch at the same time.
I found editing with cube transforms rather odd at first, but I’m getting the hang of it. It would probably give an experienced 3D artist an aneurysm to work this way.
The quality of art and content really varies, from stellar to um, not-so-stellar. I guess that should be expected with open source. There are a bunch of included textures, but each set of art has its own license, so not all are freely distributable.
The screenshots here are from what I’ve come up with so far, just one room on a spaceship, which is the start for my first single-player campaign.
Breedy BSP via SketchUp
After a bit of trial and error, I understand the oft-written advice for UT3 maps: Keep the BSP simple.
On many UT3 maps, BSP is only used to force occlusion (block the view intentionally for framerate). I’m porting a map from the days when the architecture was done entirely in BSP, typical for “corridor” shooters. So it’s tempting to do all of the level that way, but I’m finding things break in the complex spots.
Either UT3’s BSP is quite basic (why not, all the complexity is expected from meshes) or Sketchup’s occasional odd polygons are importing strangely. Either way I’m learning to follow that advice above.
I’m now using BSP only for my simple wall structure. I’m importing floors and any sort of curves or height changes (stairs, ramps) via ASE as meshes. Floors are a key part, since they were getting holes as part of the BSP and that meant randomly falling into oblivion. They work better as meshes, I just set them to per-poly collision (as described in Hourences’ Modeling Tutorial).

As you can see, I’ve got the BSP done and it’s probably still more complex than it should be as a ‘modern’ UT3 map. I haven’t textured anything, nor added any details or even ceilings / skyboxes, but I’m pretty pleased with my learn-as-I-go progress so far.
Next up: Stairs and ramps so I can navigate the level without resorting to ‘fly’ mode.
SketchUp to UT3
As I noted earlier this week, level design now encapsulates a good deal of 3D work. I’m not much of a 3D artist by any stretch of the imagination and I haven’t seriously toyed with full 3D software since Real3D in the early 90’s. The big apps are intimidating in both learning curve and price.
But oh, look at this: A UT3 export plugin for the free version of SketchUp. The author of the plugin has updated it to export T3D, ASE, PSK and OBJ files.
To use a cliché, SketchUp is 3D modeling “for the rest of us”. It has an easy learning curve, especially compared to the other free option (Blender). I was able to trace out my layout quickly using SketchUp’s image import and X-Ray view with a screenshot of my old map (via Quake Army Knife). I could probably do that in all of the major 3D apps, but certainly not so quickly after just installing the software.

The UT3 plugin isn’t perfect. I’ve run into some quirky snags with BSP brushes where I fall through the world when I shouldn’t. Hopefully I’ll figure out workarounds that aren’t too convoluted. I can always stick to SketchUp for meshes and create only a basic BSP, which seems to be the advice of most tutorials anyway.
I’m hoping the plugin is robust enough for me to continue with SketchUp, because I love it so far. It’s so clean and intuitive. It seems a natural for low poly work.
On a related note: My friend Lurch uses SolidWorks regularly for engineering purposes and he’d love to dabble in some level design himself, but hasn’t found any direct UT3 exports for Solidworks, just in-between (messy!) solutions that go from SolidWorks–>3D Studio–>UT3. If anyone knows of a better way, please let me know.
AB3D-L4 Reboot: Breedy
I’ve decided to chart my progress as I dip back into level editing. To update my chops I’m rebooting a level I’m familiar with from Alien Breed 3D: Level 4 “The Courtyard“.
Alien Breed 3D was a pretty good attempt at a Doom-like game on the Amiga, especially considering it was targeted for the underpowered A1200 (14mHz 68020, crazy eh?) in 1995. It’s rather dated now, making it quite painful to play, but I’d had some good times in Deathmatch on this particular map. Kudos to the level designers at Team 17.

I enjoyed it enough to recreate the level in Quake and again in Quake II, almost exact in detail, although by today’s standards it’s not as eye-pleasing as it seemed then. Regardless of appearance, the map layout was incredibly replayable, especially with the Painkeep mod for Quake. I nicknamed my versions of the map as “Breedy“.

Technology has changed again and I’d say we’re on the third generation of FPS map editing:
- First it was mainly surface / wall editing for the Doom era (although technically BSP, generally you placed walls).
- Second was the full 3D BSP editing of the Quake era. The detail got finer as games came out, but the map system itself didn’t change much all the way up to Quake 3, Halo, etc.
- Now it’s possible to import 3D meshes directly from modeling software (3DStudio, Maya, Lightwave, etc.) and if I’m reading things correctly BSP editing is even discouraged (but still supported), at least for Unreal Tournament 3. I assume some occluding system is used to maintain framerate on large maps.
The level of detail, effects and surface manipulations has gotten insane. It’s not just creating the right flow in gameplay anymore, although I’d still say that’s the most important element. But if your level isn’t pretty and doesn’t have a coherent theme, it’s not likely to get played.
With that in mind, I’m cooking up a new theme for this reboot, so I guess you could call it a re-imagining of sorts. Taking the basic layout and giving it an entirely different look. A mix of the tried and true oldschool with (hopefully) some nice visuals.
It will probably take me awhile. I feel like a noob all over again.






