Hey! Yeah, most of the time I will directly send over the raw game engine component data so that I kind of have a mirrored state on both sides. In some cases I will flyweight the data down to a uint and just send that. For example, I have weapons which have a lot of complex data about them. But I only have
I use etags to ensure the game loads it always loads the most up-to-date version when the browser page is refreshed. Else I have the client initiate a version-check operation when it tries to connect to the server, if it fails, then it asks the user to refresh the page.
I like how you zoomed in on the terminal while also keeping the smaller version next to it. Very good for mobile and big screens
Very well explained and edited video!
Great work Unit! Smart move with your approach to reducing network bandwidth 😊
Hi, so I understand that You're sharing state between clients and server by sending components objects which are used internally in the game engine?
Hey! Yeah, most of the time I will directly send over the raw game engine component data so that I kind of have a mirrored state on both sides. In some cases I will flyweight the data down to a uint and just send that. For example, I have weapons which have a lot of complex data about them. But I only have
How do you manage versioning; for example what if the client is old?
I use etags to ensure the game loads it always loads the most up-to-date version when the browser page is refreshed. Else I have the client initiate a version-check operation when it tries to connect to the server, if it fails, then it asks the user to refresh the page.