Looking for help, tips, guidance on RTS project from people with development exp.

So, i could not get a great description in the title hehe, but what i am looking for is tips or help on what goes into planing out and making an RTS game, the help doesnt have to necessary be about an RTS game

I know there are some tutorials on people making them but i am looking for things along the lines of, how to start, what to focus on, what do i need, what steps do i take, etc. things a project lead/manager should worry about.

So a few of my main questions.

  • what kind of people should i get on board
  • what is the first thing to start on when making such a game, and where to go on from those steps
  • what do i need to look out for
  • what tools are there to efficiently run a group project
  • what is a good pipeline when working out new features
  • how to write up a development plan

So if anyone could help out, with examples, books, stories from experience, tips or anything to get me started with a solid base and not just start out of the dark with “i want to make a game, i have an engine…crew assemble! what do we do?..”

  1. it depends on what you are abel to do ^^ -> normally you need a programmer, 3d artist and technical artist
  2. plan it very carefully -> how should the game look like
  3. you can organise it in different ways -> e.g use something like “jira” for the management, skype for meetings and probably gdrive and perforce for file management
  4. google for “game design document” and take a look at some examples :slight_smile:
  1. What fighter5347 said
  2. Have the game design ready before you start doing anything else, make sure it is fun to play (some books say that you should even make a paper prototype, but I don’t know how appropriate that is for an RTS)
  3. When you enter the development, split the big tasks into smaller ones - e.g. Unit Movement -> Unit movement animation/Unit pathfinding/Unit Sounds (not the best example). This will give you better overview of the total amount of work that is to be done.
  4. You should use a source control - git is free, slightly hard to learn at first, perforce is also free for up to 10 people I think; A task managment system - Jira is ok, but paid, there are some free ones - Version1 for up to 6 people I think.
  5. In my previous workplace I had this routine: Game designer generates a document describing a gameplay feature in a great detail -> A programmer does a “first pass” to the feature -> The programmer shows the feature to the designer -> The designer does some adjustments to the feature (hopefully minimal) -> The programmer polishes the feature

For a networked game, on the technology side, make absolutely, positively, SURE that you split your simulation into the distributed/networked/authoritative simulation, and client-side “fixing upping” like particle systems, leg IK, etc.

In more detail: Unreal Engine isn’t great out-of-the-box for RTS games with lots of units, because RTS games generally use “deterministic simulation” to make sure that lots of units for lots of players can all be simulated without overflowing any one user’s internet connection. Unreal Engine uses variable (client-dependent) time steps for its physics engine, so you cannot re-use the Unreal Engine physics engine as-is. Also, Unreal uses PhysX for simulation, which is a library that is not guaranteed deterministic (even on the same machine – much less across machines.) Thus, you should plan on using some other simulation engine for the authoritative game state, and use the built-in physics only for client-side effects that don’t actually affect gameplay.

Other things that really matter for RTS-es, but are also good for other networked games, includes the ability to checkpoint all the game state at a particular time step, and restore it EXACTLY. You can then do this for all players at the same time step, and compare the checkpoints. If they are different, you have a de-sync bug. The ability to record all user commands and network inputs is also useful, because you can then play them back and make sure that the same game state results each time. (Also great for reproducing bugs, and automatically testing that bugs don’t regress.)

Here’s the canonical article on how to do networked RTS gaming. It’s written for the day of modems, but pretty much everything it says is still a concern for modern RTS games:
Read it. Understand it. Love it. Never forget the lessons it shares!

Note that, if you have never built a game before, or never worked in a software development team before, a networked game is not a good starting project. And, if you’ve never written a networked game before, a RTS game is not the easiest kind of networked game to start with (the only harder IMO would be a MMO.)

little bump, got some great tipping going on here