Hacker News new | ask | show | jobs
by felipellrocha 10 days ago
To be fair, the legislation also kills any sort of multiplayer games, so it's in the same spirit. It just takes the idea to its logical conclusion. As a game developer, if this thing passes, I would just not build multiplayer ever anymore.
3 comments

Why not? Minecraft is the second most selling game of all time and comes with a freely distributable and hostable multiplayer component. How would this legislation have stopped that from happening?
as a game dev myself, agreed.

I’m guessing nobody here has ever actually tried to make games, let alone multiplayer ones. It’s not “oh just make it better” we’re usually already stretching the limits of what’s possible financially and time wise to get a working (fun) product.

You can add burdens all you want, but that means the games get simpler.. because they can’t be made cheaper (price sensitive customers) and time is finite in that context. something has to give.

As not a game dev myself, may I ask for clarification? How does ‘Stop Killing Games’ legislation kill any sort of multiplayer games specifically? Aren’t there already games which don’t have the problem the movement is trying to solve? Wouldn’t it only require action from you if you were trying to kill multiplayer in the first place? I feel like I may have misunderstood your point or am just lacking a lot of important insight.
> Wouldn’t it only require action from you if you were trying to kill multiplayer in the first place?

It's a question of when, not if - you're not going to pay to keep the servers online forever. What are the legal consequences of not releasing a functioning server if for some reason you can't? If they're bad enough then plenty of people will not be interested in taking that risk by making such games.

> What are the legal consequences of not releasing a functioning server if for some reason you can't?

How about "the government forces you to release the code"? That's seems fair.

Unless you hid your source code in USB drives under your bed, the government can probably just force GitHub (or similar )to release it. I bet they've got it backed up.

The government will release it with all the copyrighted code and assets that's owned by a bunch of third-parties?

Ex. if I license my artwork, music, characters, code library, etc. to a game developer and they don't create a legally releasable version of their server, then the government will forcibly break our licensing agreement and I just get screwed?

If everyone in the industry knows what the rules are, you can make contracts and agreements and licensing that works with those rules.
Ab1921 in california doesn't propose this. Its either an offline copy, a copy that works without servers, or 100% refund. Basically patch or refund.

I can't wait to see "you haven't met your patch obligations" on a balance sheet and a full indie game being underwater

So you're assuming game devs write every line of code in their server infrastructure. First, could be using a third party library you have license to use on a limited number of machines that make up your backend servers. Second you could be paying for third party API access to something like snowflake.

You either have to rip out the code (which may or may not break the server, but still requires developer time to do) or write replacement code which likely takes even more dev time to do or you would have done it instead of paying for the library/access to the service.

I think this will bring everything back to where it needs to be. We depend way to much on third party stuff as it is.
Genuinely curious - what third party closed source dependencies are they using? Like what is their purpose?
And how do they force release of all the proprietary dependencies? Overriding contract law is a hell of a lift, and a terrible precedent.

The whole "Stop Killing Games" movement is deeply misguided, and most of the people supporting it have absolutely no clue about how software or anything computer related actually works.

And you're... in favour of this kind of doctrine...?
Well, ok, you grasped at a few issues there that go off in different directions.

The issue with "Stop Killing Games" is that the legislation doesn't currently look like anything, it's a broad appeal and the solution for studios will depend on where it finally lands.

If it lands in the realm of "Games must be released FOSS after x years" then, aside from the fact that a lot of the times we don't own the copyrights to our own assets or certain code (they're on license for a single release) the second issue is how to release it.

First: the online backend for The Division or Destiny are just... not possible to run. The backend is fused to the products via a slurry of certificate pinning and object serialisation, with some things happening only on the server.

"Un-fusing" them is, basically impossible at this point; so the question is: can you build such a system without them being fused together in the first place?

The answer is: yes, but only by slowing down development. It would become much more about defining our boundaries and working on a "slim" version of the backend, or stubbing the backend completely. Obviously this is a lot of effort. The thing is we only barely managed to get a functional system, so adding an extra year for programming isn't going to be possible, we'll have to "cut" features that are hard to make.

"So, why don't you just release the server".

Well, that's a good question, we could remove the certificate pinning we have on the client, and the entitlement checks, stub out all the code that relies on third party APIs and give you a server binary.

But the server binary doesn't start unless you have 190GiB of RAM and 38 available CPUs.

So, we'd have to work on slimming that down, or building things in a totally different way: which means "seamless" darkzones and safehouses becomes impossible.

THEN you have the issue of releasing a binary that can be used to create cheats against the next version of the product, which we already had a major issue with.

So, most likely, we just make single player games.

Honestly, the industry is moving that way anyway because unless you've been doing it for a while making multiplayer games is really hard from a game design standpoint and there's an ongoing operational cost which people are a bit too price sensitive to support.

That's why Massive released The Division 1 & Division 2 but then pivoted to doing single-player games like Star Wars and Avatar which only retains the most basic multiplayer elements.

> But the server binary doesn't start unless you have 190GiB of RAM and 38 available CPUs.

As far as I understand that situation is accepted by the initiative. The requirement is not that it works on any specific hardware or software stack, just that it can theoretically work.

> a binary that can be used to create cheats against the next version of the product

Anti-cheat solutions aren't required to be released, and if there are bugs in the server, they might even be found and patched by the community.

What you're saying is true for the californian legislation, but not the EU which is currently being drafted (in a different direction) - nor the direction of the authors article, and like I replied in a sibling response: it's not like people would be pleased to get our binaries.

Second: anti-cheat itself is a fucking joke. A crutch, a last ditch hail-mary because we ran out of time to batten down the hatches or things were changed so often from the start of the project to the end that we couldn't add safety into the protocol design properly.

Exposing how our systems think about how you move, how you shoot, when AI ticks, when loot ticks, behaviour trees and how phase transitions are computed: gives an attacker a hell of a lot of leverage.

To put this into broader easier to understand terms: ask yourself why it's so easy to cheat in Unreal Engine games vs Battlefield.

It's not the anti-cheat. It's the complexity of digging through the engine and knowing what the memory is doing and what the server is doing.

> but not the EU which is currently being drafted (in a different direction)

Where can we find information about the direction the EU is going on this? AFAICT there has just been one meeting on the topic?

We used to have player run servers for years. Is it some lost skill to write software that way?
It's not a lost skill.

Spinning up a binary and replicating actors across two computers that both have a connection string to a server is.. for all intents and purposes: easy.

Where it falls down is when you start to have complex interactions with AI that's serverside, or you have a dynamic world that changes based on player behaviour, or you have cross platform requirements, integrations with companion apps and above all: matchmaking.

If you're a looter-shooter, there's a whole host of complicated interactions too.

A game like Apex Legends could probably distribute their server binary, but if you require online, as in, not just a single match, but an economy- a dynamic matchmaker and a dynamic world (meaning: when you kick a box it stays kicked) and a persistent account (you keep your loot): then that doesn't work well anymore.

The interactions are just too complex to batten down reliably, they'll be exploited, there'll be no fun, or: it just won't be possible for certain features, regardless of safety.

You can see how this looks by trying to use one of the many unofficial versions of Runescape.

This is the whole spirit of the "Stop Killing Games" argument though: you don't need to keep any of that stuff once support drops. It just needs to be "functional", in the most basic possible sense. If there are no players, no economy, no advanced AI, because it was all disconnected, that's considered fine.

The response of "but that isn't any fun!" is totally irrelevant; you can't preserve the initial experience, but you can preserve the basic software itself so that players still have something to mess with.

Programming-wise, this requires a little more emphasis on a modular implementation that needs to be considered from the start. Otherwise, it seems pretty straightforward. Or am I missing something?

> But the server binary doesn't start unless you have 190GiB of RAM and 38 available CPUs.

This doesn't seem like much of an obstacle? Can buy or rent such without too much trouble.

>Can buy or rent such without too much trouble.

for... thousands of dollars a month.

the goal of the regulation is that regular people can keep playing their games. not just rich people.

Only one group needs to do it for everyone to keep playing. Everyone running their own server isn't very interesting for multiplayer... Usually you'd do it in groups.
> the server binary doesn't start unless you have 190GiB of RAM and 38 available CPUs.

> So, we'd have to work on slimming that down

...why? My reading of the law is that you need to make the binaries accessible, you don't have to provide the hardware to run it on.

Community backlash will be fierce if it's not actually runnable.

Ubisoft doesn't have the most stellar reputation for example (I don't work there anymore) so people look at things we do by accident as if they are intentionally malicious.

Also, the California law is one law, the EU is also looking at this and it's likely to look different - that's why "Stop Killing Games" doesn't really mean anything yet, even people within the movement have differing definitions.

The key is communication. If the company says the binary has a certain min. requirement, then the vast majority of people will accept that.

Of course there'll be idiots, but I doubt you'll see a stronger backlash than to a company shutting down the servers without any solution, like they can do now.

>My reading of the law is that you need to make the binaries accessible, you don't have to provide the hardware to run it on.

if no one can run the binaries, despite them being accessible, then the regulation has failed and there will be a new movement to alter the regulation.

the spirit of the law is that i can reasonably spin up an instance of the server for me and my friends to play.

If a game is popular enough for anyone to care, some turbonerd will get the server running on a massive cloud instance, and then people will be able to play the game.

Fans have reverse-engineered and stood up servers for tons of games with no access to the server binaries. The idea that they wouldn't figure it out when given much better resources (server binaries or source code) is crazy.

Kind of depends on the definition of no one.

If the company puts an artificial proof of work demanding a rack of the latest data center GPUs, that should be illegal.

If the binary has the same hardware requirements that the company used when the service was up, I see it as totally fair.

> if no one can run the binaries, despite them being accessible, then the regulation has failed and there will be a new movement to alter the regulation.

This isn't the 2000s. People can rent a computer out of a data center. This isn't some hard problem here.

Wow, thank you for the detailed answer! I understand your point much better now.

I still think ‘kills any sort of multiplayer games’ (what the other dev said) is a gross exaggeration, since you list some ways this could be made to work, but it sounds like some things would cost significantly more resources and need to be done differently. But hey, maybe that’s not necessarily a bad thing. (Plus, there are multiplayer games which aren’t quite as resource-intensive on the server side.)

I think what I'm trying to explain is that we barely make it work by the skin of our teeth, and adding more requirements means fewer features.

The extra point I made was that it's actually kind of costly to run these systems, and I promise you publishers would love to push that cost onto the community with community run servers (think: CS1.6) but the reason they don't is because developing systems that way takes much longer and cannot be properly secured (mostly due to cheating but also from an entitlement standpoint).

So, I think either multiplayer games will get much more basic, with simple gameservers. No more large multiplayer RPGs.

Or, there will be fewer multiplayer games, because it's even more risk in an already risky business.

I'm not sure what you mean by "no more large multiplayer RPGs" here. It's not technically impossible to have community-hosted MMO servers. Hell, most MMORPG publishers have to have an active legal team specifically to shut those down.

As for community run servers being longer to develop... wait, what? How is that the case, when that used to be the standard way multiplayer got built prior to everyone trying to chase World of Warcraft? I can understand the anti-cheat argument, and I will begrudgingly acknowledge that you can't exactly force third-party servers to run your anti-piracy checks. But none of that is a technical argument. That's an argument about business risks, and publishers all jumped on the live service bandwagon because they consider their customers' control over their own games to be a business risk.

I'm not a gamedev, but there's a more insidious issue with the CA "Stop Killing Games" legislation that was just passed --- namely, a Ship of Theseus problem.

Pick your favorite game today that you purchase once, then have long-term free multiplayer support. Something like, idk, Fortnite before it was made F2P in 2017. Games like these evolve their content over time: sometimes minor changes, like rebalancing guns or matchmaking, but sometimes these are major changes, like completely redoing the map or altering fundamental mechanics. There can also be seasonal events that are designed to be available for a limited time.

The obvious question, then, is: is it "OK" that significant parts of the multiplayer experience changed after you purchased the game? In the spirit of people who prioritize game preservation, the answer should be "no, that's destroying part of the game and losing it to history." If we accept that interpretation, then we end up killing live service games. On the other hand, if we allow significant parts of the multiplayer experience to change, then we've neutered the legislation, because the easy workaround is to slowly patch out all online features until you're left with a husk of what was originally sold.

California's legislation [1] attempts to dodge this by phrasing things in terms of "ordinary use" of the game, but the definition of "ordinary use" is quite vague and will absolutely be the subject of some court case at some point.

---

Of course, there's a bunch of other side effects to the "general" notion of "make games usable past end-of-life," too:

- You might be able to use certain open source libraries on the server side because you are not distributing them to the user, and thereby don't have to open source your server. However, if you were required to distribute a binary, that could pose issues.

- You could have a dependency on an expensive piece of software (e.g. an enterprise Oracle DB license), and be unable to package that with the download.

- You could have a dependency on another online service (e.g. AWS Game Development Services [2]) that discontinues an API you depended on, and would require massive rework to be able to release a functional binary at end of life.

- You could have a dependency on an internal system at your company that you aren't willing to release the IP for yet, due to its use in another game

[1]: https://leginfo.legislature.ca.gov/faces/billTextClient.xhtm...

[2]: https://aws.amazon.com/gametech/

> Games like these evolve their content over time

This is true, but the issue is not with the content, it's with the ability (or rather inability) to access any of the content past some point. Even if only the latest content is left accessible after EOL, it will still be better than having nothing at all. The older content can be added back, no matter how finicky it can sometimes be.

Regarding the dependencies, no one is forcing the developers to release closed ones, you can replace them with stubs. But it will be beneficial from a developer to think about it beforehand - how they will implement online systems with additional requirement of EOL etc. It's not an implementation problem, but rather an architectural one.

> I’m guessing nobody here has ever actually tried to make games, let alone multiplayer ones.

One possibility is to charge for online play on the "official" server. This can be done regardless of the availability of source code.

Another possibility is to release the source code when the game reaches its end of life.

> Another possibility is to release the source code when the game reaches its end of life.

You might not have permission to, if it uses a lot of third party libraries.

It's not a problem, you can replace such function calls with stubs and document it. Some games that released their source code already did that.
A game that can no longer be played at all is very simple but also not very fun.
> To be fair, the legislation also kills any sort of multiplayer games, so it's in the same spirit.

No, it doesn’t. It just requires that we go back to making multiplayer games the old-fashioned way (the good way). Descent 3 was released in 1999. You can still play Descent 3 multiplayer to this day if you want to [1], and there’s nothing that anyone can do to stop you from doing so. You can still play Descent 3 multiplayer because Descent 3 allows you to host your own servers and allows you to manually enter IP addresses in order to connect to servers (this is necessary because the services that Descent 3’s in-game server browsers depend on no longer exist). Descent 3’s source code was released in 2024 [2] which certainly helps with multiplayer preservation, but I can tell you that a small number of people definitely did play multiplayer Descent 3 in 2023 when the source code was not yet available.

Descent: Underground was released to Steam Early Access in 2015 [3]. Unlike the previous Descent games, Descent: Underground (or at least, that iteration of Descent: Underground) was pretty much multiplayer-only. The developers of Descent: Underground did not allow players to host their own Descent: Underground servers. (I think that they had some plan to allow for hosting your own servers in the future, but that didn’t get implemented in time). At some point, the official servers for that version of Descent: Underground were shutdown. As a result, you can no longer play Descent: Underground’s multiplayer.

The fact that I can play the multiplayer for a 27-year-old game, but I can’t play the multiplayer for an 11-year-old game is unsurprising. Many older multiplayer games did not have fatal design flaws that would cause them to die after certain period of time. Many newer multiplayer games do have such fatal design flaws. The good news is that this means that we already know how to stop killing multiplayer games. We just have to go back to doing things the way that we used to do them.

(In fact, some games don’t even need to “go back to doing things the way that we used to do them”. Take Counter-Strike 2, for example. Counter-Strike 2 was released in 2023 and does indeed allow players to host their own servers.)

The statement “the legislation also kills any sort of multiplayer games” is absolutely ridiculous.

[1]: <https://tsetsefly.de/>

[2]: <https://www.pcgamer.com/games/fps/descent-3-programmer-relea...>

[3]: <https://store.steampowered.com/oldnews/18969>

Hard agree. I think it would be a genuine service to the world if it was no longer feasible to make the modern style of multiplayer game. The older games were not only not beholden to a company continuing to run servers, they were more fun.