Rog's world online
Sat
28
Nov '09

Rock Wall

Rog posted in Level Design

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.

Source 2:

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.

Thu
26
Nov '09

Fields of Lavender

Rog posted in Level Design

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:

lavender

A little bit of Photoshop masking to remove the background and *poof* there it is, in my little world:

Sauerbraten flowers demonstration screenshot

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. =)

Wed
25
Nov '09

Level Crafting

Rog posted in Level Design

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.

Mon
9
Nov '09

Fiddling with Sauerbraten

Rog posted in Level Design

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.

Sauerbraten Screenshot

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.

Sauerbraten Screenshot

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.