One of the comments mentions this:<p><i>"Alright, doing some investigating it seems that they are saving the Pqs preferences based off of the instance ID of the pqs object, which, according to unity's own documentation, changes between runs of the game, hence why its saving 10 trillion different copies of the same data"</i><p>So, somebody didn't notice a "changes every game" instance ID was in the path and/or data. They thought they were overwriting a single key.
KSP2 is really becoming the premier example of "Nearly perfect labour of love's legacy ruined after being bought by a larger company."<p>More on topic: I have no idea why one would want to use the registry to store this information.
It feels like the Windows Registry is one of those well-intentioned ideas that ended up being a tremendous mess in actual implementation. "Let's use a central database to store things that the OS, drivers, and UI need to access" somehow became "half assed KV dumping ground for every process and their dog to litter with whatever while acting as a singular bottleneck".<p>See also: <a href="https://news.ycombinator.com/item?id=32275078">https://news.ycombinator.com/item?id=32275078</a>
KSP2 had all the warning signs of being a disaster ever since the initial delays and controversies with the original studio. Unfortunately, as usual, the community put on hype blinders until it became impossible to ignore.
People in both threads shit on devs as if they manually modified registry with a crappy script at that, but this is the official Unity API and this is the idiomatic way to store preferences.<p>Ofcourse, it is unfortunate to have bug here of all places, but it looks like people don't like KSP2 devs in general (maybe even for good reasons, I don't know) and try to exaggerate this issue as some kind of proof, when in reality there is none
Not surprised at all; KSP as a franchise is in the enshittification stage where they aim to invest the minimum amount of money and maximise returns. This is just simply inexcusable software engineering <i>and</i> quality control.<p>Bit tangential but I'd like to remind everyone that this is the game where the lead designer (?) said that wobbly rockets and physics bugs are adding to the fun of the game, and they are implemented deliberately. This is doomed.
I haven't done Windows native development for over 20 years, but at my time during the 90's we already used the registry rather sparingly. And at this time, cross-platform development was not even in our radars.<p>I wonder how in the Year of Our Lord of 2023 someone feels confortable using the Windows Registry like some kind of blackboard.
Honestly when the brains come together on hackernews to reverse engineer and unfuck a high profile videogame I get unreasonably excited. The guy that fixed the GTAV loading times via identifying a broken JSON loop downloading cosmetics was astonishing to me
Adding 322 mb of data to the registry isn't going to be healthy for windows either.<p>Registry hives expand but don't contract again. The registry is effectively held entirely in RAM. You are therefore effectively wasting 322 mb of RAM even when KSP isn't running.
People in both threads shit on devs as if they manually modified registry with a crappy script at that, but this is the official Unity API and this is the idiomatic way to store preferences.<p>Ofcourse, it is unfortunate to have bug here of all places, but it looks like people don't like KSP2 devs in general (maybe even for good reasons, I don't know) and try to exaggerate this issue as some kind of proof, when in reality there is nonw
Unity's default save system "PlayerPrefs" saves to the registry, but I find it difficult to see why this is a good idea for anything but global settings (e.g. graphics settings). Serialization to JSON is a fairly simple alternative.<p>Why would this be used for player data in a production game? It's frustrating to port playerprefs data between systems for testing purposes. Is there something I'm missing?
As a teenager I played so much KSP that my grades suffered, played KSP2 a few days ago & did a moon landing, the game has a long way to go but the experience wasn’t nearly as bad as the reviews suggested.
This is yet another example on how, while Windows can have its problems, 90% of them are other developers treating the system as their personal dump truck/litterbox<p>(as per another comment)<p>> having the Pqs preferences based off of the instance ID of the pqs object, which, according to unity's own documentation, changes between runs of the game<p>This looks like someone copy-pasted something off of Stack Overflow (wouldn't be the first time)
This is amazing. It shows that a developer team from a triple-A publisher with billions of dollars at their disposal is just incompetent. The single-man team headed by HarvesteR and later some other devs that joined him were much more competent and it was an indie game.<p>Take2 killed the KSP franchise and they continue to do so. From less and less frequent updates (KSP2 has received only 3 "major" patches since it was released in February, taking 2 months between updates), to useless hotfixes that take a week to be deployed to fix just a single bug, to them taking 6 months to try to find out the reason the rockets are wobbly, to them releasing a game in Early Access which wasn't even ready for EA, it was an alpha prototype, completely broken down, and just trying to milk the franchise lovers for their $40 for an INCOMPLETE PROTOTYPE (which will be raised to $70 once the game leaves EA), I wish they just abandoned KSP2.<p>KSP1 with its modding community has produced so much and it's a much better game than its sequel. The charts don't lie, right now 1k players on KSP1, 67 on KSP2.<p>Now someone's going to tell me "this is not how game dev works". Well. They have billions at their disposal and a predatory publisher on their back. And their dev team consists of a lot of modders from the KSP community which I particularly don't blame them for not delivering, but Nate and the team that was poached from Star Theory by Take2 because the former didn't agree with the time frame Take2 gave them to release a working prototype, they are really incompetent.<p>They are "building the game from ground up" using the same engine as its predecessor and amazingly they came across the exact same bugs that KSP1 had fixed like 8 years ago. This is not even newbie game dev, it feels like they're just a bunch of people that just started to learn how to write software.<p>I have an opinionated website tracking their lies and deceptions (based on Web3 is Going Great), if anyone is interested: <a href="https://nokerbal.space" rel="nofollow noreferrer">https://nokerbal.space</a>
Is it common to use the registry essentially as a database? 300mb is way more than I expected that thing to support in a single key, but I admittedly know nothing about Windows. I've only ever seen it used to store booleans or simple string values.
Makes sense. one of the simplest ways of saving data in Unity (but not the most correct) is saving values via PlayerPrefs[0]. In Windows, this saving method defaults to registry instead of creating a separate save file in the game folder. if you don't make your own system for storing variables or running everything in cache and then use a smarter way of saving data, it can get out of hand fast.<p>This was way more common in the old Unity 5 days, though<p>[0]<a href="https://docs.unity3d.com/ScriptReference/PlayerPrefs.html" rel="nofollow noreferrer">https://docs.unity3d.com/ScriptReference/PlayerPrefs.html</a>
Everyone seems to love shitting on KSP2, when the same people forget what KSP1 was like in Alpha. No science, shitty graphics, excessively wobbly rockets, inconsistent orbits, (other than graphics) seems familiar?<p>It took a looooong time for KSP1 to get where it is now, it will also take awhile for KSP2 to be as polished.<p>Chill out.
I went to download the attached .txt file and actually saw Firefox's download pie gradually filling. I thought, how big is this single registry key‽ 344Mb, that's how big!
After doing some profiling when that game released I'm not surprised. Game lacked LOD system, 70% of frame time was spent doing terrain rendering(IIRC it also generated mesh from texture every single frame).
“Be warned though, deleting the wrong thing can stop applications from working, or even <i>break the entire operating system</i>.“<p>You gotta love Windows.
I think only thing worse to do with registry would be using it as savegame storage.<p>Holy fuck those guys are clueless, no wonder KSP2 launched in such shit state.