Game Development Community

Orcs vs. Martians alpha

by Geom · 01/24/2007 (9:12 pm) · 13 comments

I'm happy to say, Orcs vs. Martians has gone alpha. For the alpha release, all the main gameplay features are either working or mostly-working. All the building types are in, the unit types are in, the research system is in, constructing and repairing buildings is in, the resources types are in, roads are in and work with the pathfinding, the HUD is in, etc. Most of the HUD buttons even have tooltips. Hopefully, I'll get good feedback from my alpha testers on whether the gameplay is fun, which is my main goal for the alpha. Enough features are working that it should be possible to evaluate that. I've found free-for-alls on random maps, with AI players, to be pretty fun to play imo.

Work still left to do: too much to list! but it includes: multiplayer networking, art, animations, better effects, better AI, end-of-game stats, etc.

Screenshots:

www.redbrickgames.com/pix/070124/orcbases.jpg
www.redbrickgames.com/pix/070124/snowyplateau.jpg
www.redbrickgames.com/pix/070124/swamptrees.jpg
www.redbrickgames.com/pix/070124/orcs.jpg

Tooltips! Rather than float the tooltip next to the button it describes, I gave tooltips their own window. Empire Earth uses that approach and I've grown to like it. You can include more text, and more easily fit in info like hotkeys and resource costs.

www.redbrickgames.com/pix/070124/tooltip.jpg

Planning to build a new tower. Transparent green means it's ok to build at a spot. If you can't build, a little message appears above the shape telling you why.

www.redbrickgames.com/pix/070124/planning.jpg

Some screenshots at 1280x800. At higher resolutions the GUIs at the bottom of the screen separate to give the player extra real estate.

www.redbrickgames.com/pix/070124/humanbase.jpg
www.redbrickgames.com/pix/070124/youwon.jpg

I recently discovered a feature of Torque where Torque can draw a DTS shape as a billboard, when the DTS is far away. Man, that is a really nice feature. I want to use it, as Orcs vs. Martians has a lot of trees, and billboards could really speed up the rendering of those trees.

So I've been trying to mod Torque, to let the programmer turn on DTS billboards programmatically. Normally, billboards have to be turned on when the DTS is exported, from Blender or from MAX or whatever. But my problem is that none of the DTSs I'm using have billboards turned on. And even if they did, I'd prefer to tweak the billboard parameters myself, and I'd like to do so without repeatedly re-exporting the DTS over and over (which is hard for me to do anyway, since I'm barely familiar with Blender and I don't own any other art tools).

So, I'm trying to come up with a mod, where you can turn on DTS billboards in Torquescript, via datablocks. Something like this:

datablock ShapeBaseData()
{
   // regular ShapeBaseData fields...
   shapeFile    = "~/data/shapes/trees/DesertAltTree01.dts";

   // new billboard fields...
   bbDetailSize = 32;      // switch to a billboard when DesertAltTree01's screen size is less than 32 pixels
   bbBitmapSize = 64;      // billboard bitmap dimensions are 64 x 64 pixels
   bbSteps      = "12 6";  // take billboard snapshots at 12 equator steps, and 6 polar steps.
};


So far, some success! Here's a tree from the RTS environment pack, switching to a billboard:

www.redbrickgames.com/pix/070124/dts3d.jpg www.redbrickgames.com/pix/070124/dtsbillboard.jpg

www.redbrickgames.com/pix/redbrick88.png

#1
01/24/2007 (9:31 pm)
I never knew about that feature... It wasn't in the docs.... What little there are.
#2
01/24/2007 (9:31 pm)
Looking good!
#3
01/24/2007 (9:41 pm)
@Allyn
There's some info on it in the Blender exporter web page here:
tdn.garagegames.com/wiki/DTS/Blender/Exporter_User_Interface_Overview

@Tom
Thanks!
#4
01/24/2007 (9:44 pm)
VERY very cool! was wandering how this project was coming along.

When I released the RTS Environment pack, I had not yet learned how to implement LOD in TGE. I have an update planned. I will try to make that and the creation of tree billboards part of the update.
#5
01/24/2007 (11:48 pm)
Thanks Todd! Yep, this project is still alive and kicking. A few levels of detail in the RTS pack trees would be absolutely great for me. OVM has generally 500-1000 trees, depending on the map size. Fog of war and distance helps cut down the number that are actually rendered, but still.

One thing that bugs me about DTS billboards is they don't look all that good in an RTS, because the camera is often pitched down at an angle. You can kind of see that problem in the pics I posted. The trunk of the 3-D tree is at an angle, whereas the billboard's trunk is vertical.

I wonder if there's a way to make it look better. Anyone know if OpenGL can shear a bitmap sideways, so it renders as a parallelogram instead of as a rectangle? That could help billboards look better in RTSs.
#6
01/25/2007 (3:34 am)
Nice looks really well done. Gui is smooth.
#7
01/25/2007 (11:25 pm)
@Geom - Looks really good. Your TorqueScript controlled billboard changes would be extremely useful to the community. You should really put up a resource on it.
#8
01/26/2007 (1:02 am)
@Vashner
Thanks, that's good to hear. The gui is still a work in progress.

@Tom
I'd definitely consider doing that, I'd like to contribute it to the community. It's pretty flakey right now though, and I'm still learning the engine code for DTS shapes.
#9
01/26/2007 (1:53 pm)
Geom, just a quick question. Are you using the RTS starter kit for this, or did you program everything yourself?
Thanks in advance :)

Edit* Oops, just looked at your past blogs and looks like you are. Glad to see some one else trying to put this kit to good use.
#10
01/26/2007 (7:11 pm)
I'm using it. It's been very valuable despite its flaws.
#11
02/28/2007 (4:37 pm)
I don't suppose you would write up a tutorial for your fog of war. Your game looks absolutely great, very professional looking.

Mark
#12
03/02/2007 (12:04 am)
@Mark,
unfortunately, a tutorial would require more time than I can afford right now. Anything in particular you were thinking of? FOW was a pretty fun challenge to implement but it covers a lot of ground.

I will say though that I used a tile-based approach for modeling FOW. That ended up working well and being fast. Every tile is either all fogged, or all not fogged. To determine if a particular RTSUnit is visible, all I have to do is look at the tile it's standing on. There are no unit-to-unit computations per se. Also I only update my internal FOW grid when a unit moves between tiles, rather than every tick the unit moves. That saves lots of cpu time.
#13
06/22/2007 (3:14 am)
The programatic DTS billboard feature is now working and I've posted it as a resource - head right on over here for billboardy goodness:

www.garagegames.com/index.php?sec=mg&mod=resource&page=view&qid=13096