Over time the modding community has leverage this high level by building unreal native tools. The net result has been the same sort of cross tool use we saw with Gamebryo. Back with Gamebryo the Civilization modding shared tools with sid meier's railroads and even early skyrim and fallout modding.
Now the Unreal tools mean mods can be done in blueprint and should not break after every update like C# based mods. Likewise the common pak format used by unreal games (common because consoles prefer the pak for faster loading), means mods can replace files without overwriting files. Aka, mod conflicts become a reference overwrite issue and not a file overwrite issue.
As a developer of an unreal based game its pretty nice to know modding is no longer locked out. You still need/should provide the community with a modkit, but even those the community can generate on their own if they care.
One of the reasons: if you want people to buy your next thing. (I was fairly highly ranked online in one of the Ace Combat fighter pilot franchise games, and had built a stable of planes in another one. But when they shut down the servers for the previous installment, after introducing a new one, I found I couldn't get interested in investing in the new one, if it was only going to get ripped out from under me like the previous.)
all abandonware -- including server code -- should enter the public domain when certain criteria are met
hell, the whole practice of rights holders choosing to stop distributing media that could be distributed by fans at very low cost -- like the Disney vault or the recent fiasco with Coyote vs ACME -- is an affront to art preservation and to art and to creatives and society in general and should be stopped.
free the media! if you won't sell it, you should have to let others distribute it for you
quibble about details but in general stuff like Ubisoft deleting The Crew should be illegal
The problem is that 99% of the time it contains licensed code from an entity that is not going out of business, and who's going to pay the person who has to separate in-house and licensed?
It essentially means if you create something, it’s not yours unless you are actively selling it?
As for online games, I think the ephemeral nature and limited lifespan of the game should be forced to be very clearly advertised at point of sale, not hidden in an EULA.
The fact you can’t play them forever isn’t a problem, but consumers need to be aware. That said I don’t know how much difference it would make. I think most consumers would not care. I know the online games I play will go away one day and I still pay for and play them. Why? Because I don’t care. I was never going to play them forever even if they were around forever, so I don’t care if they go away. The only difference I’d really like to see is a minimum guaranteed service period and a full refund if that isn’t achieved.
The only place where I see that not happening is the future where game are 100% streamed and your computers is just a screen + controller (stadia 2.0). Then they'll have to settle for knock off clones of your game.
Like, reverse engineering the communication protocol is easy, or at least pretty feasible. But how do you acquire server-side data? Like raw probability tables for certain event? Not to mention the game logic itself. Some of them obviously can be fetched or guessed by using the live server, but it can't be comprehensive.
I've (superficially) involved in certain private servers like WoW 15 years ago, but AFAIK they just used leaked server-side software (usually from a foreign agency) than reverse engineering.
It might require the entire power output of a medium-sized country to play a game, though.
This is always one of the biggest issues with trying to make a private server. Ideally, we should be proactively capturing game data packets and archiving them for every game that has an online component, to ensure that somebody in the future will have that available if they're interested in developing a private server for whatever game.
Projects like these are great stepping stones into learning how to code for younger kids and adults :)
For things that are "single player", (e.g. Tutorials/Practice), I agree with you that it's to be expected that some sort of mock-loopback is likely stood up. But what was unusual in this situation is the _entirety_ of the code is there, to the point it even would bind to a UDP port and handle full bi-directional UDP communication.
I would expect that for something like this, they'd include a trimmed down version, and not ship the _entire_ thing.
Like others said - do you kill your product and probably company? Open source it :)