Game Development Community

dev|Pro Game Development Curriculum

Orcs vs. Martians progress - part 1 (lots of images)

by Geom · 06/09/2009 (3:52 pm) · 16 comments

I haven't posted much about Orcs vs. Martians lately, so here's an update. I find I'm gradually spending a bigger and bigger percentage of time on graphics and effects, so there's lots new to show.


Bldg Foundations

For a long time I've had the problem that buildings don't sit too well on my procedurally-generated, often-sloped terrain. With even just a little slope, often a building corner would jut out unsupported into space, looking silly, or a building's side would be buried beneath terrain. So I came up with the idea to measure, at run-time, the difference in terrain elevations around the base of a building. If the difference exceeded a certain threshold, I'd dynamically create a foundation beneath the building, raising the building up to sit on its nice, flat foundation. If the difference is not too bad, I'd not create the foundation, saving polygons and rendering time.

I wasn't really looking forward to working on this feature, thinking of it as just a mundane task. But to my surprise, I think it really improves the overall appearance of the game. The foundations not only fix the slope problem, they look neat. They add more visual variety to the scene, since some buildings have foundations and some don't. So this mundane task ended up being a really nice visual improvement.

The foundations are implemented as their own TSStatics objects, not part of the building models.

redbrickgames.com/pix/09/0609/found538-2.jpg
redbrickgames.com/pix/09/0609/found541-11.jpg
redbrickgames.com/pix/09/0609/found542-6.jpg
redbrickgames.com/pix/09/0609/found553-10.jpg

Water & Skyboxes

I've been experimenting with different water textures & sky boxes and here are some pics of those.

Unfortunately for RTSs, the sky box isn't usually visible, since the camera is usually angled sufficiently down so that the horizon is off-screen. However, Orcs vs. Martians has a chase-cam mode where the camera follows the units around at eye level. In that mode the sky is visible a big percentage of the time.

Plus its enjoyable to see the sky once in a while during regular play.

redbrickgames.com/pix/09/0609/ws540-2.jpg
redbrickgames.com/pix/09/0609/ws541-1.jpg
redbrickgames.com/pix/09/0609/ws546-1.jpg
redbrickgames.com/pix/09/0609/ws546-11.jpg
redbrickgames.com/pix/09/0609/ws552-1.jpg
redbrickgames.com/pix/09/0609/ws552-4.jpg
redbrickgames.com/pix/09/0609/ws552-5.jpg
redbrickgames.com/pix/09/0609/ws562-1.jpg
redbrickgames.com/pix/09/0609/ws562-7.jpg
redbrickgames.com/pix/09/0609/ws567-9.jpg
redbrickgames.com/pix/09/0609/ws568-5.jpg

New Tile Sets

I've added three new tile sets, Swamp, "Thatch", and Winter.

Swamp and Winter pretty much use textures straight from the (great) RTS Environment Pack. With "Thatch" I'm trying out making some of my own terrain textures, using photos of ground covering local to the area where I live. Which is kind of cool...my in-game textures look like what I see when I step outside my home.

I think OVM has about a total of eight tile sets now (though they're all still works-in-progress).

redbrickgames.com/pix/09/0609/ts_swamp544-1.jpg
redbrickgames.com/pix/09/0609/ts_swamp561-1.jpg
redbrickgames.com/pix/09/0609/ts_swamp563-1.jpg
redbrickgames.com/pix/09/0609/ts_thatch549-2.jpg
redbrickgames.com/pix/09/0609/ts_thatch549-8.jpg
redbrickgames.com/pix/09/0609/ts_winter550-1.jpg
redbrickgames.com/pix/09/0609/ts_winter550-2.jpg
redbrickgames.com/pix/09/0609/ts_winter550-3.jpg
redbrickgames.com/pix/09/0609/ts_winter550-7.jpg
redbrickgames.com/pix/09/0609/ts_winter551-1.jpg
I have to say thanks again to all the artists out there, for producing so many quality art assets at such reasonable prices. OVM's graphics make heavy use of off-the-shelf art assets at this point.

Hope you enjoyed the update!

About the author

My email address is my GG handle, at redbrickgames.com.


#1
06/09/2009 (4:57 pm)
Another good exponent of effort and constant work!

Ive been following your other blog, but this one is an awesome summary of all the work you've done. Congrats Philip, and keep it up!

Long life to OVM.
#2
06/09/2009 (5:12 pm)
Love the foundation idea Geom.

I remember while working on the RTS game "Metal Fatigue" (1997 or 98 ish)we had a similar problem with buildings and terrain alignment.

The solution at the time was to flatten the terrain mesh beneath the building as when the player or AI placed it down. It was a simple solution that also created some of its own problems. I think your approach would have been a better choice.
#3
06/09/2009 (7:08 pm)
Novack, brother-in-arms RTS developer,
thanks for the encouragement. I think I am close to finishing (at least a pre-release version). But sooner than that, I'm thinking to do another public beta! To share what I've been up to all this time.

@Todd
I think I like the foundation approach better too. I considered the flattening idea, but shied away from it, because flattening one tile can in turn change the steepness of the adjacent tiles. Too much trouble, I thought.

Your environment pack is working out really well for me. Lately I've been pulling in a bunch of objects for ambiance's sake, like the stones, arches, and some of the smaller temples. I think the effect is really neat. In the game, it gives the feeling like there was a previous civilization there.
#4
06/09/2009 (7:10 pm)
Oh yeah, and the pillars! How could I forget. Those are the best.
#5
06/09/2009 (8:49 pm)
Looking great, only crit I have (constructive hopefully!) is that some of the elements really stand out against each other, rather than blending into a consistent look & feel.

Great to see the progress though, I really like the foundation idea & implementation :)!
#6
06/09/2009 (10:17 pm)
I ran into this same issue back when I was working on my own project, and actually went the "deform the terrain to be flat underneath the building" route. It did lead to some of the issues mentioned, but I compensated for this by having a pre-deformation test step that calculated the relative slopes of abutting terrain grid squares, and dis-allowing the placement if the slope differentials were too great.

Interestingly, I don't think the implementation itself was ever used for the intended purpose (RTS building placement), but the feature was posted as a resource here at GG, and got implemented in a couple of other games for just pure terrain deformation (the implementation was networked, so it allowed for real time terrain deformation from things like projectile explosions).

The implementation resulted in pretty nifty RTS effect, since I allowed for deformation over time--so my workers would actually act to level out the terrain square by square before actually placing the building.

My implementation was based off several discussions in the forums, as well as the core implementation by Robert Brower, posted in this one: Basic TerrainDeformer Object for Torque, which was further updated here: Updated terrain deformer)
#7
06/10/2009 (10:04 am)
Andrew, anything in particular?? A lot of it is probably incongruous (but I've been staring at it so long its become hard for me to tell!)
#8
06/10/2009 (10:16 am)
Stephen, groovy, I didn't know you were involved behind the scenes with that resource! OVM actually does use it, but for other things.

The part of flattening I don't like is, I can't see how it would work when buildings are placed side-by-side. Flattening one tile often makes the adjacent tile more sloped, since the two tiles share a common edge. It seems like the flattening approach always runs the risk of "ruining" adjacent tiles for building placement.
#9
06/10/2009 (11:00 am)
I really hope this will be better than Stalin vs. Martians...
www.metacritic.com/games/platforms/pc/stalinvsmartians
Looking good so far!
#10
06/10/2009 (12:36 pm)
I think what Andrew is talking about is how the mix of tiles sets results in some odd combinations, like the use of lava and water in the same water block (image 10 & 11) for example.

In order to get a polished look, and tile set needs to have a balanced palette, and any given environment should have a continuity of both style and scale, which is no doubt hard to achieve with multiple art sources via content packs.
#11
06/10/2009 (4:52 pm)
Geom - Todd pretty much summed up what I was talking about (sorry I only had a second to write my first comment!)

Basically to me it looks very mix-and-match, some is heavily photo-based, some looks more 2d, color pallets are very wide, and it just looks like there is a lot of noise going onscreen, rather than a nice clean consistent screen.

If you are interested, I would be happy to give more constructive help off-site (where I would have a bit more time to reply!) so feel free to email me. I think you have a cool project going here :)
#12
06/10/2009 (5:01 pm)
Geom, i emailed you at the ovm_test at redbrickgames dot com address, not sure if that is still a correct contact for you.
#13
06/11/2009 (2:50 am)
Hey, you worked on Metal Fatigue Todd? I was a big fan of that - had a lot of fun in multiplayer.
#14
06/11/2009 (9:34 am)
@ Ian, LOL yup. I was one half of the art team. Glad you liked it, it was a lot of fun in multiplayer.
#15
06/11/2009 (10:05 am)
The lava-and-water was indeed the most experimental of the experiments :)

I was thinking of adding steam emitters, and wave turbulence, to the rim of water (but not the lava part). The idea was to portray a body of water, being displaced by lava and boiling away, in a harsh volcanic environment.

bah. probably more trouble than its worth.
#16
07/22/2009 (6:22 am)
Breathtaking!