Hacker News new | ask | show | jobs
by duped 16 days ago
Genuinely curious - what third party closed source dependencies are they using? Like what is their purpose?
3 comments

Audio subsystems (wwise, fmod).

Physics subsystems (havok, ISI).

Procedural systems (Gaea, Houdini)

Vegetation (Speedtree)

VFX subsystems (Nvidia Gameworks)

First party SDKs (Sony Playstation, Microsoft NDK, Horizon/Quest).

Pathfinding (Kytheria, Mercuna)

Cutscenes/Videos (Bink)

UI (Rive, Neosis)

Networking (Photon, Coherence)

Theres… thousands more, if you’d like me to continue.

On the web backend?
The backend isn’t web technologies.
I mean it absolutely is, but that's not an answer to the question.
Of the 7 AAA games I’ve been part of making, not a single one used HTTP (well, not as a primary driver of anything), HTML, CSS or anything that could be construed as a “web technology” so, what are you talking about please?
s/web/networked computers/g

What I'm saying is you have programs running on user machines, and programs running on your machines. There's an interface between those two over a network. There's a problem that consumers face today where they pay to play games that are not functional without data flowing over that interface.

There's a claim that implementing the backend side of that interface is so complex and impossible or too difficult/time consuming/etc to design in a way without 3rd party dependencies.

I'm asking: what are those 3rd party libraries doing? And why can't you design server APIs and client code in a way to provide a different backend if consumers need to do it themselves when you stop supporting the game?

Web servers, message brokers, physics engines, anti cheat, fraud detection, flood mitigation, ranking systems, chat moderation, match making systems. There are thousands of possible components which may have been licensed in any given game server system. In some cases the entire game engine runs on the server.
I guess what surprises me here is how much of this is 3p code that couldn't possibly be distributed. Like why would you not be using an open source web server, or widely available message broker? Things like chat moderation/match making/anti cheat/etc seem like add on services that would be implemented per game (well, maybe not match making) and aren't relevant to the problem that the "stop killing games" people are trying to solve.
Frankly it's none of your business why, and it's completely irrelevant. The fact is that this 3p code exists and this law needs to account for it or it's unworkable.
This is kind of needless aggression that doesn't help non domain experts understand.

I've worked on a lot of complicated and deeply optimized networked applications. They're almost all closed source. I know exactly how I would design a system to support these kinds of initiatives. What I'm curious about is why that's impossible for game developers, because either I'm missing something, or game developers are just bad at software design.

>either I'm missing something, or game developers are just bad at software design

Usually the latter, not just game devs themselves, but also infrastructure devs.

A very large percentage of multiplayer games keep the backend in an MS SQL or Oracle cluster.
Sure but you don't link in Oracle/MS's database cluster orchestrators to your server, right?
THat really depends on how you define "the server",doesn't it? The intent of the bill seems to be a thing that actually play that game.
The "server" being the computer program not running on a user device. The intent of the initiative is to allow people to substitute or replace that program to allow the game to continue to function even if the original publisher/developer disables access to it.

It's pretty obvious to me as a gamer and engineer what the intent and design constraints are here, so I'm just wondering what makes this seem impossible?