RTS Multiplayer, Lock-step simulations and fixed game timings

Greetings fellas,

I am currently developing game with Unity, it has RTS style and looks like Warcraft III and my part is to implement Multiplayer there

Before it I had experience creating Multiplayer for Six Guns ( iOS ) using not Unity,
the system of synchronization and replicating game worlds in FPS shooters is totally clear for me, especially it’s easy to make Multiplayer when you work with opened source game engine and understand all processes inside.

Unfortunately I don’t have experience with Unity and RTS games and all my knowledges about these are only theoretical, so guys I hope you will
fix my way and improve my conception or disprove it

My goal is -

to create Multiplayer with simultaneous game world simulations,
all user inputs splits into commands and sync over network,

so the main trick is not to sync all units and their states, all events etc ( because it’s RTS and there would be a lot info to sync )
and to have the same game worlds on all machines,
I am going to achieve this by rounding floats, using FixedUpdate, executing all commands of users at the same time or same “command turn”

Techniques I am going to use :

  1. http://www.gamasutra.com/view/feature/3094/ this is used almost in all RTS games

The main questions I do concern about:

  1. is it real to have the same game world, behavior and states if you execute commands in the same time on all clients,
    assuming that clients may have different fps and lags
  2. I’m also curious is there any game published or tutorial using such techniques

p.s, the game uses Physics for colliding, designing for 2-6 players

I would appreciate any useful examples to achieve my goal, any additional articles
and any ideas/critics

Igor (fromegg)

I just wrote a post about how to implement a lockstep model in Unity based off of that very same article:

Let me know if you have any questions, it’s still work in progress.