Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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.

share|improve this question

closed as not constructive by Sean Middleditch, Josh Petrie, Byte56, Tetrad Feb 26 '13 at 4:17

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

"basic/research RTS engine/model"... what? – Nicol Bolas Aug 16 '12 at 5:44
A simple RTS engine as a testbed for new ideas or as a good starting point for a new game. – XTF Aug 17 '12 at 10:58
up vote 2 down vote accepted

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.

share|improve this answer
Why would Unity not be good for a commercial RTS? Trying to decide between that and Unreal Engine 4 right now... – Telos Jun 6 '14 at 21:54
@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. – Sean Middleditch Jun 7 '14 at 0:15

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.

share|improve this answer
Would that allow me to experiment with low-level things like movement, pathfinding and target selection? – XTF Aug 16 '12 at 8:03
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. – Laurent Couvidou Aug 16 '12 at 22:05

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?

share|improve this answer
Point 1 isn't necessarily true. RTSs since Starcraft have had varying accelerations, maximum velocity, and rotational velocity for units. – Jimmy Aug 16 '12 at 4:13
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*. – XTF Aug 16 '12 at 8:02
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. – Sean Middleditch Oct 15 '12 at 5:40

Not the answer you're looking for? Browse other questions tagged or ask your own question.