• 0 Posts
  • 439 Comments
Joined 2 years ago
cake
Cake day: July 31st, 2023

help-circle


  • what I just outlined as what would have to happen.

    The backend server stack hosts a set of tightly intertwined services that conform to an Application Programming Interface. You quite literally do not need to provide the entire stack designed for multi-hundred-thousand concurrent players just to satisfy that interface the game clients are expecting. It costs time and money, but they could damn well just create an implementation designed for simpler, small-scale hosting.

    Oh yeah, just do that, as if that’s a super duper easy task to do.

    If you designed it for that eventuality, yeah, it’s easy to do. Trying to retrofit that into an existing system designed solely to run at cloud scale is a bloody nightmare, and that’s not at all what SKG is asking for.

    because “direct connection” means no concept of an account anymore, and if everything is tied to your account, the whole damn game doesn’t work now.

    Counterexample: private World of Warcraft servers. They implemented their own, and it’s worked fine for them.

    The account system is just another API. The client uses it to authenticate, and the dedicated server uses it to verify the client authentication. Fuck, even Minecraft and it’s poorly-designed multiplayer can do that. As long as the client and server use the same auth provider, you can still have “accounts” without relying on Mojang’s insanely censorship-happy official login system.

    It’s possible, sure, but by this point you’ve effectively remade a very large amount of the game from scratch so who cares now.

    I’ve made this exact same argument you’re giving here, and yeah, I know it’s not easy. I sympathize with indie developers who are over-designing their server architecture and might not have the resources to do this, but a AAA game studio can afford to hire more developers for their next game instead of C-suite bonuses.

    what if parts of that executable have still in use proprietary pieces that are used in other games they own?

    I also made this argument before, and it is valid criticism. It’s worth pointing out that the valuable and reusable proprietary parts are the infrastructure and design, not the game logic.

    I’m not an entitled twat. I understand that there are legal challenges and big, open-ended questions on how developers could actually pull this off. Making large, consumer-exploitative developers like Epic, Bungie, or Blizzard have to hire more developers isn’t a good enough reason to make me discount an entire consumer-rights movement.



  • Modern game servers for major games are simply just not designed to be run locally bare metal. They’re often in the form of complex stacks of multiple moving parts, shit like entire k8s deployment stacks with like 12 distinct resources, many of which might be tightly coupled to implementation details.

    They wouldn’t need to release the whole stack to satisfy the requirements. Release the dedicated server executable and patch the game to allow direct connections to servers.

    For an MMO it would be more complicated, but the movement also isn’t asking to be applied retroactively. Existing MMOs built for scale are free to keep their current architecture. The only requirement would be that future MMOs are designed with an EOL transition plan.

    They release, say, v2.4 of their game server program in 2025, it’s tightly coupled to the auth server v1.7 api.

    It’s an API. Unless they hardcode the IP address it or use certificate pinning, it can just be reimplemented.



  • You’re the opposition party

    That’s the problem. They’re not, and they don’t want to be. The Democratic Party leadership runs it as the alternative party to the Republican Party and nothing more. There were plenty of opportunities to platform and support actual progressive candidates, but they instead choose to run the same old kind of moderate “don’t rock the boat”-type candidates and court conservative voters in the hopes of leeching votes away from Republicans.




  • Yes. Only in fantasy land. As Logi above said, nuclear detonation is an extremely precise, controlled process that has very specific conditions to achieve successfully. Even an actual fission bomb only manages to consume a fraction of the radioactive material.

    The only thing someone would achieve by denotating a conventional explosive near a reactor or nuclear stockpile is spreading highly radioactive dust around. That does not nor will ever look like uncontrolled nuclear fission, let alone a detonation from a thermonuclear warhead.


  • std::string doesn’t have a template type for the allocator. You are stuck using the verbose basic_string type if you need a special allocator.

    But, of course, nobody sane would write that by hand every time. They would use a typedef, like how std::string is just a typedef for std::basic_string<char, std::char_traits<char>, std::allocator<char>>. Regardless, the C++ standard library is insanely verbose when you start dropping down into template types and using features at an intermediate level. SFINAE in older versions of C++ was mindfuck on the best of days, for example.

    Don’t get me wrong, though. I’m not saying Rust is much better. Its saving grace is its type inference in let expressions. Without it, chaining functional operations on iterators would be an unfathomable hellscape of Collect<Skip<Map<vec::Iter<Item = &'a str>>>>




  • Rust is verbose, but C++ might still take the cake with its standard library templates. Especially when using fully-qualified type names…

    auto a = ::std::make_shared<::std::basic_string<char, ::std::char_traits<char>, MyAllocator<char>>>();

    A reference-counted shared pointer to a string of unspecified character encoding and using a non-default memory allocator.