| ▲ | gafferongames 6 hours ago |
| While not a direct competitor to protobufs, if you are working in the video game space where struct versioning is not needed, there is an alternative language called "schema" that supports C, C++, C#, Golang, Rust and JavaScript. https://github.com/mas-bandwidth/schema |
|
| ▲ | satvikpendem 5 hours ago | parent | next [-] |
| Of all names, they pick schema? That's like calling a programming language "language." |
| |
|
| ▲ | jayd16 5 hours ago | parent | prev | next [-] |
| > video game space where struct versioning is not needed Save files? Looser than exact version multiplayer? |
| |
| ▲ | gafferongames 5 hours ago | parent [-] | | Multiplayer games typically deploy both client and server at the same time, and refuse to connect a client if it doesn't speak the exact same protocol as the server. Thus all the versioning overhead of protobufs is not needed for this wire protocol. (Yes, games still use versioning everywhere else where it makes sense: save games, asset data, config etc...) | | |
| ▲ | npstr 5 hours ago | parent [-] | | Good luck deploying a client to the mobile app stores together with your backend :pain: But then again, those barely count as games, I guess. | | |
| ▲ | dvtkrlbs 5 hours ago | parent | next [-] | | Wouldn’t it make sense to also have the old version of the game live and gradually roll out the new version for mobile | | |
| ▲ | jayd16 3 hours ago | parent [-] | | You can do this but if it's too granular (like you have no concept of version compatibility) then it can heavily split your matchmaking. Plus the headaches of keeping many out of date builds up to date enough to deploy. Even if you don't care about in game compatibility, all your servers still talk to some centralized data store and that will likely want a single deploy that handles old clients |
| |
| ▲ | cyberax 4 hours ago | parent | prev [-] | | We do it just fine (not for games). You submit a new binary for review in advance and then do a coordinated release once the review completes. | | |
| ▲ | jayd16 3 hours ago | parent [-] | | Then players are locked out of multiplayer until they download a possibily large content patch. |
|
|
|
|
|
| ▲ | eventualcomp 3 hours ago | parent | prev [-] |
| Checked the contributor list, please disclose that you're a primary contributor. |