An RTS usability challenge
by Geom · 03/16/2009 (11:05 pm) · 7 comments
Orcs vs. Martians is still plodding along.
Some people who saw me originally kick off this project are probably wondering if it will ever get done. Still others have probably died of old age since then. I'm now making plans to fund my development via U.S. social security, and to have my laptop propped up on my bed in my nursing home (KIDDING...kidding...)
So anyway.
Lately I've been wrestling with an interesting usability problem. Here it is in a nutshell:
fact: In Orcs vs. Martians, terrain elevation plays a pretty big role. High elevation gives bonuses to vision, attack range, and windmill productivity.
fact: RTSs are usually played with the camera angled down--some RTS players even prefer the camera straight down (the overhead view)
fact: It's hard to visualize terrain elevation with the camera angled down !
result: occasional frustration
So I'm trying to think up some way to show terrain elevation more clearly. It's inconvenient for the player to check the lay of the land by repeatedly swinging the camera down to eye-level, then returning to a God's-eye view. I mean, it's not too terrible, but it bugs me when I playtest.
So the 1st idea I thought of was to render contour lines onto the terrain. Like you see on a surveyor's map.
But, it might be pretty hard to implement that into Torque's terrain renderer. At least for pencil-thin contour lines. Torque's terrain renderer does all kinds of fancy multiresolution stuff, which scares me off from trying to modify that code. (Don't get me wrong though, I love its capabilities)
So, my 2nd thought was to use a new terrain texture to introduce contour "swaths" into the terrain. In other words, use the new texture for terrain squares at the same height. So it's like a contour line, but much coarser.
That was pretty easy to integrate into Torque.
Here's a screenshot of my first attempt at this.

The purple-ish grass, above, is supposed to be the contour swath.
Yeah, I know, it doesn't look very good. :) It's way too subtle right now. Well, it's a first attempt.
Another, bigger view:

Yeeesh... still not too good. But at least it sort of shows the terrain contours.
It seems like the challenge here is to render contour swaths that (1) stand out adequately, but (2) do not look too unnatural or ugly.
Not sure yet how to achieve both of those.
One idea I plan to try is to put plants or wildflowers on the "swath texture". Flowers of course can have bold colors, so that should help the swath stand out, while still looking relatively natural. Flowers seem slightly strange in a wargame, though. And plants that grow in rings and only at certain elevations may still look odd...hmmm.
Tactically-engineered flowers, anyone? "Sir! If we advance just past this line of flowers...we'll get a range bonus against the enemy !!!"
my other blog...
Some people who saw me originally kick off this project are probably wondering if it will ever get done. Still others have probably died of old age since then. I'm now making plans to fund my development via U.S. social security, and to have my laptop propped up on my bed in my nursing home (KIDDING...kidding...)
So anyway.
Lately I've been wrestling with an interesting usability problem. Here it is in a nutshell:
fact: In Orcs vs. Martians, terrain elevation plays a pretty big role. High elevation gives bonuses to vision, attack range, and windmill productivity.
fact: RTSs are usually played with the camera angled down--some RTS players even prefer the camera straight down (the overhead view)
fact: It's hard to visualize terrain elevation with the camera angled down !
result: occasional frustration
So I'm trying to think up some way to show terrain elevation more clearly. It's inconvenient for the player to check the lay of the land by repeatedly swinging the camera down to eye-level, then returning to a God's-eye view. I mean, it's not too terrible, but it bugs me when I playtest.
So the 1st idea I thought of was to render contour lines onto the terrain. Like you see on a surveyor's map.
But, it might be pretty hard to implement that into Torque's terrain renderer. At least for pencil-thin contour lines. Torque's terrain renderer does all kinds of fancy multiresolution stuff, which scares me off from trying to modify that code. (Don't get me wrong though, I love its capabilities)
So, my 2nd thought was to use a new terrain texture to introduce contour "swaths" into the terrain. In other words, use the new texture for terrain squares at the same height. So it's like a contour line, but much coarser.
That was pretty easy to integrate into Torque.
Here's a screenshot of my first attempt at this.

The purple-ish grass, above, is supposed to be the contour swath.
Yeah, I know, it doesn't look very good. :) It's way too subtle right now. Well, it's a first attempt.
Another, bigger view:

Yeeesh... still not too good. But at least it sort of shows the terrain contours.
It seems like the challenge here is to render contour swaths that (1) stand out adequately, but (2) do not look too unnatural or ugly.
Not sure yet how to achieve both of those.
One idea I plan to try is to put plants or wildflowers on the "swath texture". Flowers of course can have bold colors, so that should help the swath stand out, while still looking relatively natural. Flowers seem slightly strange in a wargame, though. And plants that grow in rings and only at certain elevations may still look odd...hmmm.
Tactically-engineered flowers, anyone? "Sir! If we advance just past this line of flowers...we'll get a range bonus against the enemy !!!"
my other blog...
About the author
My email address is my GG handle, at redbrickgames.com.
Recent Blogs
• Orcs vs. Martians - updated video• Orcs vs. Martians November update
• Milestone!
• The Burninating
• Victory flags
#2
03/17/2009 (6:35 am)
along the same lines as joris's idea but instead of a heightmap view, what about a colour coded wireframe showing contours that can be switched on off, The top image with the coloured grass outlining the contours of the hill looks ok and i would presume a player would soon get used to that being the marker of a height change, going too far on a colour difference looks too unnatural, with a flick switch to show a wireframe contour overlaid ontop of the terrain texture would confirm to the player the height differences...
#3
If you want a cool effect, have a height map (as the person above indicated), only use colors and toggle it on/off by keystroke. For example, hold down the E key and the terrain texture swaps out to an elavation texture with no baked lighting. Let go of the E key and the terrain flips back.
Either way, I'd still suggest an interface option to show exactly what elevation the mouse is pointing at.
03/17/2009 (10:01 am)
Umm.. why can't you simply add a small gui that tells you the elevation at the mouse position? A lot of strategy games have that so you don't have to do a whole lot of camera swivvle.If you want a cool effect, have a height map (as the person above indicated), only use colors and toggle it on/off by keystroke. For example, hold down the E key and the terrain texture swaps out to an elavation texture with no baked lighting. Let go of the E key and the terrain flips back.
Either way, I'd still suggest an interface option to show exactly what elevation the mouse is pointing at.
#4
03/17/2009 (1:44 pm)
I'd say overemphasizing the shadows and a subtle swath like you have would do it.
#5
So in normal mode, maybe elevation changes could be subtle, but when the player wants to build a windmill / send troops to the nearest hilltop, he holds down E or whatever, and there could be sort of a high-contrast highlighting...
@Daniel
no need for the "Umm.." It does seem interesting to have an elevation number follow the mouse pointer around, but it'd be *preferable* to show elevations visually in the terrain if possible. That way the player can take in the whole map at a glance. With an elevation number, it seems like the player would have to swing the mouse around a lot.
03/17/2009 (1:49 pm)
Thanks guys, those do give me some ideas... I kind of like the idea of pressing a key, and then there's some sort of enhanced highlighting of elevation changes.So in normal mode, maybe elevation changes could be subtle, but when the player wants to build a windmill / send troops to the nearest hilltop, he holds down E or whatever, and there could be sort of a high-contrast highlighting...
@Daniel
no need for the "Umm.." It does seem interesting to have an elevation number follow the mouse pointer around, but it'd be *preferable* to show elevations visually in the terrain if possible. That way the player can take in the whole map at a glance. With an elevation number, it seems like the player would have to swing the mouse around a lot.
#6
thanks... I sort of bonked myself on the head that I didn't think of the shadows idea sooner myself! Yeah, if I just drop the position of the sun lower, the shadows might be more of a help too.
Edit: I think my sun's position is still at whatever its default was, way back in the Torque 1.3 Stronghold demo :-o
03/17/2009 (1:51 pm)
@Tomthanks... I sort of bonked myself on the head that I didn't think of the shadows idea sooner myself! Yeah, if I just drop the position of the sun lower, the shadows might be more of a help too.
Edit: I think my sun's position is still at whatever its default was, way back in the Torque 1.3 Stronghold demo :-o
#7
03/18/2009 (8:02 am)
It would be cool to simply overlay a topographical contour map as a decal with a transparent background. You can generate them using accutrans from heightmaps, by hand in PS which could give you a more customizeable 'military' style, or some combination of both.
Torque Owner Joris Dries
Why don't you add an interface option to switch from "natural" view to "heightmap", which just displays white as the highest point and black (or dark grey) as the lowest, not unsimilar to what the displacement map of your landscape would look like...
I know this might look a bit dodgy on the full map, but perhaps in a minimap window?