Quantum Lock suspends sales due to developers losing access to source code
store.steampowered.com
QL was our first game and although it was a big milestone for us, it was created at a time before we understood version control software. We do not have access to the source code anymore and cannot make any fixes or changes to the game. Because of this, we have decided to disable the ability for anyone to buy copies of the game. Thank you for your time and feel free to reach out to us.
The trailer looks like an awesome vaporwave freeze tag indie game.
To be fair to the developers, they do elaborate a little further in the comments:
I don't know enough about this game or it's community to comment much, but the devs don't seem to be bad guys - seems like a story of naive developers making a mistake, but doing their best for their community with what they had. For a niche online game with no DLCs, 9 years is hardly a bad run.
its* community
Thank fuck your hear too correct him, I didnt understand what he meant because of the typo!
You're welcome.
Ouch!
Nice ones.
Why not just give it away for free? It always seems odd to me that games just disappear rather than being allowed an elegant death of old age.
https://www.stopkillinggames.com
Probably depends on the background as well. They could have hardware running (multiplayer server) that gets so little activity that there is no benefit and only loses them money.
It also doesn't look like the game has steam integration.
Then why not release the binaries for running such server? I'm sure a group of people could figure out how to decompile and make a change so the game attempts to connect to a different master host
If they weren't using VCS, I bet they have creds embedded in the source.
I'd doubt that this has creds, though. IIRC Steam multiplayer generates its own creds.
Well, i mean i would be all for that but in reality it might not be that easy. It could rely on dependencies that are proprietary that cannot be shipped or provided with the project.
It could alone be that the connection is hard coded in the game itself so instead of just booting up the server and being able to play you would now have to do something to the game itself too that it finds your server. Nothing really that cannot be addressed, I mean people could do that with ragnarok online private servers but not something your normal gamer could do.
A good decompiler and an auto-formatter might leave them with a nicer copy of their source code than they had in the first place.
The time at which the source code was lost is irrelevant for decompilation, decompilation uses the binary files. Those are the files that are out there being played right now.
Until recently decompilers tended to produce rough and useless code for the most part, but I'm looking forward to seeing what modern LLMs will bring to decompilation. They could be trained specifically for the task.
You're missing the point of the comment you're replying to, which is that the devs don't understand decompilers RIGHT NOW, and it's formatted in a tongue in cheek way similar to their current comment about VCS
Great. Hallucinated decompiled code.
I'm all for AI, but there's gotta be a better way for machines to become intelligent. Not just "training and predicting without any thought in the process."
You're welcome to try other methods but LLMs seem to be working best so far.
With a decompiler it should be pretty straightforward to automatically check for "hallucinations," the compiled code is still right there and you can compare the decompiled logic to the original.
You have a point. I guess we could compile the decompiled code and compare the binaries.
I like how you're willing to comment on things you completely don't understand. That shows chutzpah.
Read it enough times so that you uncover the comment's true meaning. If you give up, I can give you a tip.
Have you actually read my post?
So, basically, “we started learning Git and accidentally blew away the only copy of the code base we had!” 😂
I’ve watched new developers delete 2 weeks worth of development by misunderstanding Git🤦♂️
No, they lost the code and couldn't get it back because they didn't use Git or upload it.
The reflog is your friend in situations like that.
So they were developing the game by sharing zips of their versions? OMG. There should be a tutorial of minimum Dev knowledge for wanna be new developers. They have very cool ideas, but the way they program...
For example Shadows of Doubt. Was running super bad last time I checked out. I think that too much accessibility to game Dev tools is lowering the quality of a lot of games (in resource hungry sense).
Check out the dev stories from PalWorld, they bought a LOT of USB drives haha.
That sounds hella painful
IIRC it was made by two people, only one of which was a developer.
I wonder how much overhead Shadows of Doubt spends just on maintaining all the NPC schedules, gotta be some room for optimization there.
It is still in early access and optimising the game is their current goal according to the road map, though as the whole concept of the game is about simulating every NPC properly at all times it's always going to be really heavy game to run.
And you are right about accessibility making resource hungry games more common - they allow indies to make projects and use concepts that would have been scrapped as technically non-viable by a publisher before. Shadows of Doubt started development back in 2015, which would have meant reducing the scope of the game until it ran on a PS4. Being indie, they could just do whatever instead, and now it's going to be enough if they can make it run acceptably on a PS5.
Ransomware?
This game was released 10 years after git, and we already had backups since the 80s. Why are they lying?
You’re trying to find maliciousness where there’s only incompetence.
Incompetence might even be a little harsh. Inexperience or incompetence maybe. I prefer inexperience.
Incompetence is fine. Incompetence can come from different sources, including inexperience.
Incompetence is usually used as an insult, so using it in the case of inexperience tends to be mean-spirited.
Fair point.
But to be fair, "you're inexperienced" can also be used as an insult.
Might be personal bias, but I see "you're inexperienced" as "learn some more and come back later" and "you're incompetent" as "get out of my sight and never come back".
True.
It could also be purportedly condescending. Still an insult.
Elaborate on the finer differences
Inexperience is failing before becoming familiar with a task. Incompetence is failing repeatedly after becoming familiar with a task.
Well it would be rude to think they're not smart enough to make a backup of a thing they're spending effort on and actually works.
Why? I was the programming director of a game dev club in university and so many people didn't know how to use git and I had to teach them. The number of university or early hobby projects that have been lost is probably essentially uncountable.
I'm a guy who likes to goon, eat magic mushrooms, and play videogames all the time. I don't lose files.
Wanna trade jobs?
lmao your brain is so fried that you cannot understand that people making a game for the first time 10 years ago might've not understood the importance of proper version control and backup.
No, THEY did not understand. I know full well how to copy a file.
Bro still eating mushrooms while typing. Go lie down and play portishead somwehere.
Small children might take offense at a random Internet flamer like you, but I cannot be bothered to care.
Of course not. You're a mango!
So many games are lost in time due to this.
My favourite game off all time, Homeworld, got remastered years ago. Its fantastic follow-up, cataclysm could not be included in the renaster. The reason? Lost source code. No backups, studio got bought, diveded, merged, shut down and nobody thoight it prudent to safeguard that what they bought; the code and ip.
It happens. Often.
The fact that Blizzard was able to piece together a reconstruction of WoW Classic v1.12 is more of the exception to the rule.
Ugh buyouts are terrible.
"It would be rude to think that they're inexperienced. So let's just say that THEY'RE LIARS!!!!"
You're almost close to self-awareness. But then, not bad for a mango.
"We lost access to the source code because we didn't use VCS or make backups"
"Well, it would be rude to think they're not smart enough to make a backup[...]"
No, what's rude is assuming that people are lying to you without good reason.
How do we know what reason they have?
They told you their reason: they were inexperienced. Why do you assume they must be lying, and hiding another reason?
Because their stated reason is stupid. You can do all this complex stuff but forget the turn it off and back on? Get fucked with that nonsense.
Then tell me: what else could the reason be? Why make people deliberately think you're stupid? What's the advantage?
And yes, this is a thing that happens literally to thousands of people every day. Almost everyone has a "I didn't make backups" story. Humans aren't born perfect - they make mistakes and learn from them. How many doctoral theses do you think are lost every day due to missing backups? Or how much art, how much data in general?
Instead of assuming some evil genius agenda hiding behind their stupid stated reason, you could just try to accept that people make mistakes. But you surely don't ever make any, so why would anyone else?
Maybe they have plagiarized code. Who knows?
That would be a worthwhile idea if any evidence pointed towards it (e.g. any public documentation about legal communications).
Without any evidence, it's a useless accusation for an explanation that:
I can accuse you of any number of horrible things, and I'd have the same amount of evidence you have for your accusation. What would this add to the discussion?
I think you're reading more into the statement than is there. Their studio was founded the same year this game released, with only one of the two founders described as a programmer. I'm pretty sure they mean "we" as in "the two guys that founded the studio".
Your username is not the best ever. Why are you lying?
Audience: oooooh!