- Home /
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 :
http://www.gamasutra.com/view/feature/3094/ this is used almost in all RTS games
The main questions I do concern about:
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
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
Thanks, Igor (fromegg)
Answer by brimock · Dec 07, 2013 at 01:15 AM
I just wrote a post about how to implement a lockstep model in Unity based off of that very same article:
http://clintonbrennan.com/2013/12/lockstep-implementation-in-unity3d/
Let me know if you have any questions, it's still work in progress.