Hacker News new | ask | show | jobs
by beltsazar 689 days 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.

3 comments

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.

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.
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?
Those shouldn't be included, of course. If the server has them too tied up to be decoupled, then I guess someone needs to unscramble the spaghetti before serving it
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
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.

They explicitly mention server hosting as an acceptable thing. They are not saying every consumer has to be able to run the infrastructure, but the community has to be able to. A few services on a k8s cluster would absolutely suffice for this.