February 11th, 2020
Snutt & Markus Talk: Adding Multiplayer to a game adds 10x the complexity
https://www.youtube.com/watch?v=jFeV8JA7NXgt=0
Suggested Wiki Reference Code
Snutt
It's so hard to tell, because when you're doing online stuff, you need so much more testing for everything.
Adding multiplayer to any game adds so much more, like 10 times the complexity.
Because you don't have time to test everything, and you have to figure out how, and the way we've done it, just throw it at everyone and see what's
Markus
different.
and see what bugs surface up.
Yeah.
And I find it kind of funny because we've done multiplayer in all our games in Unreal Engine until we got to Goat Simulator and we said, go, let's just get the shit out.
And we got it out in a really new time.
And the first thing people are like,
Snutt
where's the multiplayer?
Wait, really?
I thought for sure Goat Sim had multiplayer in the back of your head when you made that.
Markus
I think the thing that was in back of our head is how can we do get this everything out as fast as possible and how to get more stupid shit in there how do this stupid idea that I got how do we present this to everyone right so just like get everything out as soon as possible
Snutt
so multiplayer in Goat Sim is like literally the just add multiplayer to the single player game or
Yeah, we had local co-op.
G2
Yeah, so you can play for a screen Yeah,
Snutt
well that actually does save a bit because yeah, then you need to like follow the game state someone Yeah, you must have Yeah,
Markus
but yeah, and I think we tried a multiplayer session once and I really any tree was like oh you try to create this many actor replication states and like
just crashed and burned and everything was just choppy because new physics, all physics actors vibrated on the spot and they were like, oh, so you're vibrating.
Let's send updates.
Snutt
Did you guys have to do like a special thing for like the physics in God Sim to like be able to sync it properly?
Markus
No,
Snutt
we didn't
Markus
do
Snutt
anything.
Really?
No, like, do you mean... Like all, like there's so many like physics objects running and like and syncing that stuff can be really demanding, especially when you do like ragdoll and like...
Markus
Yeah, but we did out of frame single place.
We didn't need to care about it.
Like, yeah, sure, we had like a simple, super simple manager that we added that saved, I think, like 20 or 30 milliseconds that just basically said that only take the closest, like, objects in your vicinity and they update in full frame rate.
And that was a bit further away.
just slowed their update rate down and just let the simulation go, but don't update their visual representation.
And I think I threw that together in like 10 minutes or something, the initial implementation, and that saved 20 milliseconds.
G2
It's really dope.
Markus
Yeah.
So just those super simple things that shop visual quality, whoop,
Snutt
can save so much.
I think that double,
Markus
yeah, I think that got us from, yeah, 15 F pass to a solid 50 or something.
Snutt
That's a good one.
You want to go 60.
Yeah,
Markus
but for that, we actually need to work a bit.