Luke Pierson
Member
Hey there! I’m working on an online multiplayer rts and have some experience with networking in gml. I have it so there’s a server that clients can connect to, they can enter a match with each other, they can message each other, and even move units around with the other player being able to see the same movements play out on their computer.
I have no plans to release the game or use a dedicated server, just my computer running the server when I decide to get the game going. I’m just working on this as a personal project for me and my friends to play.
What I’m worried about though and need advice on is synchronization. I’ve done pretty extensive research and I think I’m going to try to go with a lockstep approach.
My main question I think is how to ensure the players are synchronized at the start of the game? I’m imagining if the server pairs players together and then updates the clients that they’ve found a match and load into the game, how can I ensure that the players load in at the same exact time and start their first ticks (for the lockstep) at the same time?
Oh also I’m using TCP. I know it’s slower than UDP, but I think I can hopefully make it work, especially with an rts where input delay is kind of expected, since its indirect control and I can play animations to smooth it out. Alternatively, it is an rts which means lots of units moving around. So idk if you think I really should switch, please tell me! Thanks for taking the time!
I have no plans to release the game or use a dedicated server, just my computer running the server when I decide to get the game going. I’m just working on this as a personal project for me and my friends to play.
What I’m worried about though and need advice on is synchronization. I’ve done pretty extensive research and I think I’m going to try to go with a lockstep approach.
My main question I think is how to ensure the players are synchronized at the start of the game? I’m imagining if the server pairs players together and then updates the clients that they’ve found a match and load into the game, how can I ensure that the players load in at the same exact time and start their first ticks (for the lockstep) at the same time?
Oh also I’m using TCP. I know it’s slower than UDP, but I think I can hopefully make it work, especially with an rts where input delay is kind of expected, since its indirect control and I can play animations to smooth it out. Alternatively, it is an rts which means lots of units moving around. So idk if you think I really should switch, please tell me! Thanks for taking the time!