Over the weekend I managed to get basic networked multiplayer working in a build I hope to show on Thursday at the BGS meetup. Stupidly exciting stuff, I was beyond giddy when I got it running. Right now you can have players join in and move/look around, and each player will see the other mechs cruising around and the cockpits rotating as they mouselook around. So cool!
But, also buggy. Right now each mech spawns at the same point ((0, 0, 2), the prefab's defined origin). Movement stutters due to a lack of interpolation. And weapons haven't even been implemented yet.
Due to the limited amount of time I have until this Thursday, I plan to first implement weapon support. Hopefully this won't be too difficult, but you never know. Then (time permitting) I'll implement some sort of spawn point system and try to get movement to smooth out.
I should look at the networking tutorial on Unity's site for tips on this.
I'd like to have this done so I can do random spawns in a little custom level, maybe with some of those low-poly buildings I made the other day? Pretty sure spawn points are covered in the Unity networking tutorial as well.
I need to send the velocity of the mech's physics system over the network as a SyncVar and use that to “predict” where the mech will be moving on other client machines. This really shouldn't be that difficult (lol), as all the actual checking of physics will occur on the player's machine, and the updated position/velocity will be transmitted over the network. Then, on all other machines, the non-player mechs will update accordingly between NetworkTransform syncs.