3
\$\begingroup\$

Does a basic/research RTS engine/model exist that can be used as a basis for further experimentation/research? I'd like to avoid reinventing the wheel if possible.
I'm aware of Spring Engine and Stratagus, but those are real game engines and may not be the best to experiment with and learn from.
Ideally the docs for the model would answer questions like:

  • How exactly do units move? (constant velocity? constant acceleration? constant force?)
  • How is pathfinding handled? Does every grid cell become an A* graph node (may be expensive)? Does it consider threats?
  • How are groups handled? (w.r.t pathfinding and movement)
  • How is combat handled?

I'm mostly interested in the low-level model details (for now), not the graphics etc.
I've read a lot of the other quesions (and answers/references) tagged RTS but I haven't found my answer yet.

\$\endgroup\$
2
  • 1
    \$\begingroup\$ "basic/research RTS engine/model"... what? \$\endgroup\$ Commented Aug 16, 2012 at 5:44
  • \$\begingroup\$ A simple RTS engine as a testbed for new ideas or as a good starting point for a new game. \$\endgroup\$
    – XTF
    Commented Aug 17, 2012 at 10:58

3 Answers 3

3
\$\begingroup\$

You have several excellent options.

First, building your own such testbed in Unity3D is ridiculously easy. I won't comment on whether or not Unity3D is up to snuff to ship a commercial grade RTS, but it's definitely capable of building a prototype RTS with little fuss. If you're interested in actually building a custom RTS with very specific gameplay or controls, this is probably your best bet.

Second, there are FOSS (Free/Open Source Software) RTS game engines and even complete games. Examples include Spring RTS Engine, Wargus, 0 AD, and I'm sure at least a few more. Google will serve you well here. This option may well be your best if you're solely interested in tweaking certain algorithms and don't care about coding anything else.

Lastly, there are also FOSS engines that will give you close to the ease of use of something like Unity while giving you the freedom and control of a completely Open engine. Torque 3D recently went Open Source, for example, and at one time there used to be an RTS Starter Kit for it (doesn't seem to be around anymore, but the starter kits were basically "Genre for Dummies" in Torque). There are a small handful of other FOSS engines around as well that may work for you (most are just uninspired derivatives of the ancient idTech engines that have been GPL'd, though). I personally believe this route to be an inferior option to Unity, unless you're completely devoid of spare cash or if you are a strong advocate for FOSS and avoid proprietary software on ethical grounds.

\$\endgroup\$
2
  • \$\begingroup\$ Why would Unity not be good for a commercial RTS? Trying to decide between that and Unreal Engine 4 right now... \$\endgroup\$
    – CodeRedick
    Commented Jun 6, 2014 at 21:54
  • \$\begingroup\$ @Telos: I don't know if it is or not, especially the versions today vs the versions at the time I originally posted this. At worst I'd imagine you'd need a custom network layer, but otherwise, I can't say for sure. \$\endgroup\$ Commented Jun 7, 2014 at 0:15
1
\$\begingroup\$

This isn't a research engine thingy, and it might not be very practical, but you could probably roll out a Starcraft mod. It's the classic RTS so it could be a very good starting point for your experiments.

\$\endgroup\$
2
  • 1
    \$\begingroup\$ Would that allow me to experiment with low-level things like movement, pathfinding and target selection? \$\endgroup\$
    – XTF
    Commented Aug 16, 2012 at 8:03
  • \$\begingroup\$ No idea, I've never done any Starcraft modding so I can't tell, really. Read the doc if you can find any ;) I think I remember reading about some research conducted precisely with the help of a Starcraft mod, but maybe my memory is failing me, because Google doesn't seem to agree. \$\endgroup\$ Commented Aug 16, 2012 at 22:05
-1
\$\begingroup\$

As far as an RTS is concerned, there is no need for anything but velocity. Velocity is a vector containing two components, a speed, and a direction. The speed will vary based on unit buffs and debuffs, and the direction of course depends on where the unit is told to go. As such unit movement should be a rather simple procedure.

The question of pathfinding has been answered at the following link > How does pathfinding in RTS games work?

\$\endgroup\$
3
  • 1
    \$\begingroup\$ Point 1 isn't necessarily true. RTSs since Starcraft have had varying accelerations, maximum velocity, and rotational velocity for units. \$\endgroup\$
    – Jimmy
    Commented Aug 16, 2012 at 4:13
  • \$\begingroup\$ Wouldn't going from 0 to full speed instantly look very unrealistic? That pathfinding question doesn't explain how to get from a 2D grid to a nav mesh automatically or how to handle groups. It basically just says: use A*. \$\endgroup\$
    – XTF
    Commented Aug 16, 2012 at 8:02
  • \$\begingroup\$ Not to mention that units like tanks and other vehicles really need a lot more than just velocity to even remotely look or feel like vehicles. Also, many RTS's use something besides A*, or use a great many additional algorithms alongside A*, because doing A* for hundreds or even thousands of units is not cheap. \$\endgroup\$ Commented Oct 15, 2012 at 5:40

Not the answer you're looking for? Browse other questions tagged .