top | item 41160373

(no title)

beltsazar | 1 year ago

> The costs associated with implementing this requirement can be very small, if not trivial.

This is too naive. While it may be the case for single player games that use online connection only as a DRM mechanism (Hitman 3, Gran Turismo 7), for some games it's not trivial at all.

For example, The Division 2 servers do not only act as a "coordinator" between players like CS:GO servers, but also run logics for NPCs and environments. The server and the client are too tightly coupled.

discuss

order

safety1st|1 year ago

I'd rather see some sort of provision where if the company disables the product they sold us, they're required to subsequently license the source code to us for personal use.

First off, hobbyists have an amazing track record reverse engineering many online games and creating third party servers and mods for them, so not only does this solve the problem but the amount of creativity that would be unlocked would be incredible.

Second, you better believe many many publishers will flip the fuck out if they're staring this possibility in the face, and as a result they will work way harder to support their games in the future.

rawbot|1 year ago

It's irrelevant whether the costs are trivial. Once developers and publishers release the server binaries or API-spec, fans can invest as much time and money as they want to replicate it. They don't need to reverse-engineer it.

chongli|1 year ago

What happens if the game developer has licensed 3rd party tools and libraries which the server software depends on and they don’t have the right to include these?

rbits|1 year ago

Right, but how hard would it be to make the server self-hostable? I feel like as long as the server address wasn't hardcoded into the game, it wouldn't be too hard

Chilinot|1 year ago

That depends entirely on the infrastructure necessary for hosting the multiplayer servers. Such as, does it require a database server for persistent storage of player information? It might be built for a k8s based environment. Split into many smaller services that all interact using a service mesh or message queue.

You cant just take these things, press a button, and voila, a small bundled server platform anyone can run at home. The modern day software development experience is a massive and complex beast.