I wrote a blog post on the current trend of game decompilations using AI and where we're going with this. It's all very promising but oh boy are the implications scary.
It's not really copyright that you want to go away. It's corporations exploiting the work of individuals. There are countries that have much saner, a lot more ethical laws around it.
The AI issue here is their theft, and since the theft is not addressed, it's going to get ugly, and the big game producers will just lock games behind networks , so unless you're online and likely paying a subscription, you ain't gonna be pLaying thaT game.
Decompilation offers you the possibility of cutting out network-required features, if you dream a little bigger.
They’re not talking about individual features, they’re talking about locking the entire game behind a network (such as game streaming) so the game can’t be downloaded to be decompiled in the first place.
It's been tried before, but the fundamental limitations on networking- not to mention the compute you have to spend in data centers to run it - makes it pretty unlikely to happen, especially as a means of preventing piracy.
Copyright is going away in a way that only benefits AI companies. WE still get burned at the stake for downloading shit from limewire even if we're training our own AI models.
It's not like we need to individually train our own AI models, a few groups could do it and release for everybody else. Like Anna's Archive.
I appreciate that at least we are all reeling from the implications of it all.
I think that's a very interesting point about the compiler, companies have really leaned on that as a way to obfuscate code, some folks seem to think compiled is as good as encrypted? Just another lock on the door, I guess, and a free one at that.
I think it does make a ton of sense that an llm would be so capable at decompiling code... it's basically just translating? But having decompiled some stuff myself years ago, it's still sort of amazing to see such a tedious process automated.
Bleh, too many conflicting feelings... yes, let's hope we reclaim some bits of culture taken from us! And let's cross our fingers that copyright is destroyed in a manner that actually benefits people....
I think that’s a very interesting point about the compiler, companies have really leaned on that as a way to obfuscate code, some folks seem to think compiled is as good as encrypted? Just another lock on the door, I guess, and a free one at that.
Well, (depending on the language) compilation is a 100% lossy conversion. So when a game gets 'decompiled' with an LLM like this, they're not restoring the original code. It's just generating new code with the same behavior, which is functionally the same. People doing this generally wasn't considered infringement, but it's clear that having a machine automate it is a big problem. Even if we ignore the fact that the output of an LLM is legally tainted/grey area, the scale at which it can happen now means we need new laws to deal with it.
This is basically doing to software what the internet did to piracy. That led to the DMCA, which as shitty and corrupt as it is, at least succeeds at some of its main goals.
Additionally the bigger thing is once AI has the feel for understanding how an engine works, it can pretty easily be applied to another game with the same engine. That’s why nobody here gives a shit about unreal or cryengine games, but rather is reacting to RAGE or Nintendo games. The proprietary studio owned engines are the ones people care about
I’ve always wanted Copyright to go away, but it’s going away in a way different than anything I’d imagined and I don’t know what to think about that.
It's interesting seeing all the people who used to complain about copyright now realizing that copyright does in fact protect small artists, and it's actually the reason why anyone was able to make a living as an artist at all.
On the one hand, it's good that everyone is starting to get on the same page, but it sucks that things always have to get worse before they get better. This is a good opportunity to perform some introspection and think about what kind of mistakes led you to the wrong conclusion on this issue. Maybe it'll be constructive and helpful for other issues.
This is a good opportunity to perform some introspection and think about what kind of mistakes led you to the wrong conclusion on this issue.
Me personally? Copyright is failing your advocated purposes of protecting artists work and their living, and living up to my belief that it was the wrong tool all along. Maybe you could use some of that.
The thing is, just getting rid of it is worse.
The tool is done, the current implementation has been warped to favor corporations. That doesn't mean throwing out the tool is the answer
Automatic Ai driven recompilation is not the same as manual user effort to decompile, document and build a human understandable and good source code. That's why I do not mix up the terms recompilation and decompilation.
I've been trying to understand the terms and the opening graphic on this site did a good breakdown.
So my understanding is that a decomp or decompilation is turning the machine code into something human readable. It's the first step but technically isn't anything the average person can use because it still needs to then be (re)compiled into a game someone can run.
However the term "decomp" in general usage refers to the human readable middle step, AND a way to create something for the average person.
Versus a recomp or recompilation is performing the conversion of machine code to some middle state, then immediately (re)compiling it into a game the average person can run.
However the term "recomp" in general usage refers to the same, but always with the use of AI.
Is that right?
I think you/that article are overthinking it. Compiling just means turning source code (written/readable by humans) into machine code (aka a program/game). "Decompiling" is the reverse of that, where you turn machine code into source code.
A lot of these AI de/re/comp/port/whatever projects are made by script kiddies/morons who don't know what they're doing. Sometimes you see them claim that a project is a "static recompilation", but when you look at the code it's literally just a bespoke emulator that runs the game.
Which is to say, don't get too hung up on these terms, since they're often misused either way.
It's important to understand that these terms are not standardized and people or organizations may use them slightly differently or interchangeably. This can cause confusion. But in the wild, people have come to use these terms (in my experience, I'm not an expert either) in specific ways. The article you linked seems to do a pretty good job, but we should remember that this is his/her personal interpretation. From your explanation, I would say it sounds about right "in my opinion".
I lost it and put this lengthy reply. Sorry about that. Edit: Some parts are still not good explained, I tried.
First, it is important to understand the two states of a game: source code and compiled binary. The source code is text form written in a programming language (usually by and for humans), with other source material. If you download source code, its just bunch of text files basically. To play the game, one need to use a compiler that compiles or transforms the text files into machine readable compiled binary files. There are other stuff too, but this is the important part. The game can now be run and played on the platform it was built for, such as Super Nintendo. If you create a backup of the Super Nintendo cartridge that holds the compiled binary, then you get a ROM file basically. And on your PC you can't run the Super Nintendo games without emulating the hardware.
Every CPU has a set of codes and functions, the very basic at the lowest level possible. Assembly is basically that, it is basically the native language the CPU understands. If you code in Assembly, then it is for this specific CPU architectur, such as Super Nintendo. But the CPU only can understand zeros and ones. So you have to translate the Assembly into real machine code, but the logic does not change anymore. So Assembly is machine code, just wrapped up in a better human readable form. This is usually not the source code. Source code is compiled into Assembly and then machine code binary. You can think of Assembly as machine code for humans, if that makes sense.
Disassembly is taking the compiled final binary (such as ROM files in example) and does just translate all the zeros and ones into human readable machine code. But the original variables names and such are lost, so that its hard to understand what this even is due to optimizations by the compiler. Humans have to go through each line and machine code (which is represented in Assembly format) and figure out what each of the lines, commands do, rename each function and so on. This is painful work. What you get is Assembly code that is readable by humans.
When you compile a fully reverse engineered Assembly code, you get the exact same ROM or machine code that you just disassembled. It didn't change the code, it just renamed stuff basically. So it will just compile to what it was programmed to.
Now that you have something humans can read and reason about their logic, it's time to write some real and original source code. That means trying to understand the parts in Assembly, then writing in (in example C or Rust language) a language that can be compiled to any other target than the original machine code was intended. This new code is an approximation of what the original source code of the game developers were, but we don't know.
Now this process is painful and slow. And in the end it does not mean the code will compile to other platforms, it still aims to produce the original game logic for the original hardware (such as Super Nintendo). So they need to make adjustments to the source code, which is finally easy to work with.
Now that you have an easy readable source code in a programming language that is independent from the hardware, such as C or Rust, you can make adjustments. If you aim to play the game on PC, then adjustments are done so it can compile on PC. Whatever is needed, but in short they modify the source code to be able to compile it to other platforms than it was originally intended. That's a port.
In context of this discussion, a Recomp is basically taking the binary of the game and automatically built a source code file (such as to C or Rust) in one step. This leaves out the manual work of humans to categorize, understand and write good human readable code. The produced code from recompilation is meant to be used by compilers only, that compile to binary. It is not intended to be read by humans, even though its technically source code. Disadvantage is, that if there are bugs then humans have a hard time figure out whats going on. Or to mod the game manually, its difficult too.
This is nowadays often associated with Ai tools, but doesn't have to. I'm not entirely sure, but the N64Recomp in example is such a non Ai recomp tool.
In general, the best case is that we have good high quality human readable and understood source code; Decompilation. On the other hand Recompilation is much faster to create.
how you can copy code with AI and claim it's made in a clean room, so technically you're not under any licensing agreements.
I argue if you use Ai to code, then you cannot proof that it was implemented in a clean room way.
I don't think that's actually true. I think it's more just AI propaganda. Most of the so-called "advances" that I've seen advertised seem to be far less than they seem when you dig deeper, often relying heavily on previous, human reverse-engineering efforts or simply being injection points built into wrappers for the actual binary game code. It's just suddenly cool and polished looking because AI padded it out with a bunch of fragile and flaky filler code whose only purpose is to make it look finished and beautiful at first glance when it actually isn't. The typical AI gameplan, in other words.
Oof I got a lot of conflicting thoughts on this. Going to need another coffee to mull this one over.
It could fix your spelling, at least.
The irony!
No, kiddo. It’s apple’s enshitification that causes this. When they rolled the on-device autocorrect that used to be near perfect into an off-device AI based bullshit disaster- this is the result. I now have to spell-check and check for wrong autocorrections because AI has fucked that up too and it cannot be turned off or reverted.
So, thanks for helping prove my point.
Hey, if you're anti-AI you shouldn't be using apple products. I understand that owning a device can be difficult to move away from without an additional purchase, but Apple is still listening to you and reading your data. Your usage statistics are being used to prove to retailers that their products are worth selling to their customers. Even using an old iPhone is a silent vote for Apple to continue their trajectory
What? Mass-decompiling proprietary software or making shitty companies like Adobe irrelevant is not awesome? Alright, what about advancements in medicine and science, even just mapping a fly for fun? Well, if saving lives is not awesome for you, then what about game modding that's currently peaking? Entire games merged together, many games I play see mods that I thought were impossible before, etc.? Entertainment bad too? Alright, then, what about deciphering historical writings, texts, better archeology, pattern finding, etc.? History is not awesome either? I guess the only thing I can offer you is a personal robot assistant that could work around your house doing chores and stuff (we're not there yet, but rapidly nearing it), but I guess that's not awesome either
Man, lemmy has the most out of touch opinions around the world wide web, like a corner of hipsters. Now do your thing and downvote objectivity
If that’s you’re argument for “AI is awesome!” you have no argument.
Game modding is turning into vibe-coded slop by kids that have no fucking clue what they’re doing. It’s no different than the hacks that think they’re musicians because they can knuckle a sentence into a prompt
Fucking hacks.
No you goofball, AI allows modders to decompile the games and bring modding to the next level. The one I'm currently playing only had modded assets for 2-3 years. Now there are like 40 mods that change the gameplay itself. Awesome!
Oh! Well shit! You should have said so from the beginning! That’s totally worth destroying our envorment and making people into idiots that have to outsource their opinions because they can’t think for themselves.
Take a walk kid.
If decompiling proprietary software becomes easy and cheap then these companies will just not allow you to download the binaries any more, furthering the push of cloud computing and gaming. "You will own nothing and you will be happy"
As for the medical applications, clearly OP is talking about AI colloquially, and thus referring mostly to LLMs and generative AI, which has not had much influence on the medical fields unlike other AI technologies like Alphafold. Equating the two is being ignorant (willfully or not idk)
Is entertainment and archaeology worth the cost of the environmental damage, mass plagiarism, and the funding of companies who are involved mass surveillance, pointless wars and causing financial / economic collapse?
The technology is cool for some specific tasks, and if it were brought about in a sustainable, ethical, and cautious way it would've been great. But ignoring all of its downsides and claiming people who don't support this are "out of touch" "hipsters" is stupid
If decompiling proprietary software becomes easy and cheap then these companies will just not allow you to download the binaries any more, furthering the push of cloud computing and gaming. "You will own nothing and you will be happy"
Call me a fool, but I really believe most people would not move their workstation/PC/laptop to a cloud. There will always be massive demand for hardware and even if west suddenly goes the route of not selling consumer hardware - China will enter the chat quite fast. By now you can build a fully Chinese PC.
As for the medical applications, clearly OP is talking about AI colloquially, and thus referring mostly to LLMs and generative AI, which has not had much influence on the medical fields unlike other AI technologies like Alphafold. Equating the two is being ignorant (willfully or not idk)
To be fair, I never said "LLM", I'm speaking generally about AI because the data centers and money isn't exclusively going into LLMs - it's the entire portfolio being advanced.
Is entertainment and archaeology worth the cost of the environmental damage, mass plagiarism, and the funding of companies who are involved mass surveillance, pointless wars and causing financial / economic collapse?
There is nothing we can do about this. I personally hate cars way more than AI and believe that millions of people aimlessly driving around for fun/entertainment is far worse. Like I said previously, you driving around for 1 hour for fun is far worse than me using AI for 10x longer. Probably closer to 100x. And there is nothing I or you can do about what other people and companies are ready to pay for, and if there is demand, there will be offerings.
I also believe AI will advance quite far (relatively to where we are now), to the point it will help humans develop and live more efficiently. Sure, AI will consume terawatts of power, but what if it ends up creating super-optimized motors/engines saving terawatts of power? Energy generation, wasteful manufacturing, etc can all be managed and improved with AI, negating much of the AI consequences.
Mass plagiarism is an interesting one because I've been always pro-piracy and everything I've ever made myself has been non-profit, so I'm really not the best person for this argument. Do you support the creation of Adobe and Microsoft-like products, by AI, to be used by anyone for free? Well, that's plagiarism too.
But ignoring all of its downsides and claiming people who don't support this are "out of touch" "hipsters" is stupid
That was a response to "there is nothing awesome about what AI does". It's just.. factually false, intellectually lazy. Your arguments are far more logical.
I've been thinking about this a lot too, because of seeing all these decompilations (with all the implications that comes with, as you point out some of them), but also because my own "learning LLM tooling" project was reverse engineering Civ IV, and rereleasing in a 64 bit engine with more accessible controls at the expense of 3d (sort of like Unciv).
I did not do a decompilation, especially because the core of the game has restrictive-licensed source released, but i was able to build clean specs from that source, and then with as clean of context of possible, stage the production and testing of features. I honestly don't know how you'd prove a classic clean room implementation with LLMs (and definitely not in a one shot), and i can't really prove my implementation is clean either.
I really hate the direction of all this stuff (so so much), and i hate that my disabled ass feels compelled to learn such tools so I am able to feed myself. But I did try to have some good come out of it (generic reverse engineered specs, basic accessibility framework, game automation framework, and i definitely learned a lot, plus it does work pretty ok)
I haven't been able to figure out a way to release in a way that fits my ethical framework, without also resulting in people insulting me (which I don't have a lot of room for in my life right now). I'll happily take suggestions though!
I'd love for this to not be wasted effort, especially because of the accessibility enhancements for a beloved but proprietary game.
This is all very new to me, but I think I get what you're saying. Could I ask you to check my understanding of this part?
but i was able to build clean specs from that source, and then with as clean of context of possible, stage the production and testing of features.
Does this mean that Civ 4 has its source available -- and you fed it into the LLM and asked it for a human -readable design spec for what the source code does.
Then you took that spec sheet and asked a new LLM to generate source code that matches the spec sheet, with some modifications you desired (e.g. 64 bit and different controls).
I guess i have a follow up question which is, is it possible that the Civ IV source code was included in the training data of the LLM, and would there be any way to know?
Thanks for considering
Could I ask you to check my understanding of this part?
I think your understanding is basically correct, but i just want to clarify what i did with the specs:
I found the source code, which doesn't include the rendering engine, is composed of Python and C++ and contains the game logic.
I then fed the LLM the source code I had available to turn them in to a set of specs for that specific codebase, for important APIs and the logic that connects then.
I then took those specs and made the LLM genericize them, and in particular creating a structured, human readable description of all game rules.
With those new generic specs, i was able to creat a development plan and architecture (with heavy aid of LLM), the new engine is written in Godot with json data store.
Project was bootstrapped like normal, start with the smallest core functionality, especially including debug infrastructure. Get it stable and then keep adding features and testing until everything seems okay.
I guess i have a follow up question which is, is it possible that the Civ IV source code was included in the training data of the LLM, and would there be any way to know?
Agreed, that's actually part of why I said I don't think i can prove it's fully clean room!
But I did try my best to make it unlikely, and even if it did, I imagine it was closer to broken bits and pieces.
Maybe open source licenses are completely unenforceable now. Maybe critical software and hardware can be easily hacked into now, and we haven't realized just how bad it is yet. Maybe everything will have more invasive DRM on it soon. Who knows. We're about to find out in the next few months.
Oh my god, anything but DRM. It freaking sucks and only ruins experience to normal users
As some else discussed, apps where most infrastructure is on the server just for the sake to protect code might be popular. Which means even more reliance on the internet.
The only way I can see the industry of intellectual property - and hence all large-budget commercial games - surviving is if laws change to regard the efforts of AI analysis as breaching some of the established DMCA laws.
I’m sure we often regard those laws as horrendous, though I sometimes wonder if people would agree if they saw Epic Games publish “Meincraft” 3 days after Minecraft gets its first major news article, and leave Notch in the dust.
Games already have IP laws for their assets and patents, but the code is something we can't really enforce. If someone reverse engineered Minecraft and released it with new graphics and trademarks, how are they going to prove this game is just a copy of Minecraft and not an original block game?
Obviously if it's too similar they'd rule against it but AI is really good at shuffling code and changing up minor things to make it legally distinct.
This is kind of like the Palworld argument. Pokemon took their designs off of other games but yeah throwing a ball sphere is the best IP argument they could come up with. IMO, IP laws need to go to the shitter. I'm tired of the I did it first patented it first bullshit.
I've always kept up on recomps and decomps of games I like to put on my Steam Deck, but recently it's been hard to do with so many coming out and of varying quality! Quiver Launcher has been really useful for keeping track, and it lists how much AI was used for the projects, too. I'm going to try out Super Mario Eclipse tonight.
bot comment
That one specifically - the game is ruined by parking, you run out of space for car parks long before you really fill up the mountain.
The car parks have coach spaces, but the seem to be broken and never appear. Either fix coaches or remove parking completely.
Will look into it when I have some time next week.
Given it’s a game from 2004, it should be relatively easy to decompile, so if you’re the kind of person happy to tinker - it could be a great project to self-host and try to get done yourself?
That way the only cost is time, and a little bit of electricity.
I only just looked up some of the basic requirements, as it’s piqued my interest in trying to decompile something myself over the Christmas break!
I fear this might be another push for live service shit or even game streaming. I absolutely like services like GeForceNow as an option to play games on less ideal hardware. But I wouldn’t want to be forced to that.
I guess we will see big studios push gaming as a service again? I honestly wouldn't care too much since I haven't been interested in Triple A games for a while now. (except for some exceptions ofc) As long as they keep my indie games unaffected!!
Scary implications aside, video game decomps are so cool! I honestly feel like we have enough games to last humanity. And having them all in their best form possible is kinda cool, soon we can run all time classics and built our dream console out of an raspi 5, with mods keeping it fresh.
They already decompiled indiegames demo and used that to build a clone of it and ship it, faster than the indie dev can finish their game. It's definitely an awful situation for small indie dev because they not only have to compete with bigger budget, their peers, and the f2p market, now they have to compete with cloners
Been seeing a lot of those lately, especially console-exclusive games.
The information yearns to be free.
We have to face the fact that soon enough, any type of software question will be over. AI will be able to generate whatever software/feature you can think of instantly. Not sure what's gonna happen to dev jobs but be ready for some huge shit to hit the fan. We need to break free from capitalism before it kills us all.
@lemmy.world

Welcome to the largest gaming community on Lemmy! Discussion for all kinds of games. Video games, tabletop games, card games etc.
Video games, tabletop, or otherwise. Posts not related to games will be deleted.
This community is focused on games, of all kinds. Any news item or discussion should be related to gaming in some way.
No bigotry, hardline stance. Try not to get too heated when entering into a discussion or debate.
We are here to talk and discuss about one of our passions, not fight or be exposed to hate. Posts or responses that are hateful will be deleted to keep the atmosphere good. If repeatedly violated, not only will the comment be deleted but a ban will be handed out as well. We judge each case individually.
Try to keep it to 10% self-promotion / 90% other stuff in your post history.
This is to prevent people from posting for the sole purpose of promoting their own website or social media account.
This community is mostly for discussion and news. Remember to search for the thing you're submitting before posting to see if it's already been posted.
We want to keep the quality of posts high. Therefore, memes, funny videos, low-effort posts and reposts are not allowed. We prohibit giveaways because we cannot be sure that the person holding the giveaway will actually do what they promise.
Make sure to mark your stuff or it may be removed.
No one wants to be spoiled. Therefore, always mark spoilers. Similarly mark NSFW, in case anyone is browsing in a public space or at work.
Don't share it here, there are other places to find it. Discussion of piracy is fine.
We don't want us moderators or the admins of lemmy.world to get in trouble for linking to piracy. Therefore, any link to piracy will be removed. Discussion of it is of course allowed.
PM a mod to add your own
Video games
Generic
Help and suggestions
go to feed...
@lemmy.world

Welcome to the largest gaming community on Lemmy! Discussion for all kinds of games. Video games, tabletop games, card games etc.
Video games, tabletop, or otherwise. Posts not related to games will be deleted.
This community is focused on games, of all kinds. Any news item or discussion should be related to gaming in some way.
No bigotry, hardline stance. Try not to get too heated when entering into a discussion or debate.
We are here to talk and discuss about one of our passions, not fight or be exposed to hate. Posts or responses that are hateful will be deleted to keep the atmosphere good. If repeatedly violated, not only will the comment be deleted but a ban will be handed out as well. We judge each case individually.
Try to keep it to 10% self-promotion / 90% other stuff in your post history.
This is to prevent people from posting for the sole purpose of promoting their own website or social media account.
This community is mostly for discussion and news. Remember to search for the thing you're submitting before posting to see if it's already been posted.
We want to keep the quality of posts high. Therefore, memes, funny videos, low-effort posts and reposts are not allowed. We prohibit giveaways because we cannot be sure that the person holding the giveaway will actually do what they promise.
Make sure to mark your stuff or it may be removed.
No one wants to be spoiled. Therefore, always mark spoilers. Similarly mark NSFW, in case anyone is browsing in a public space or at work.
Don't share it here, there are other places to find it. Discussion of piracy is fine.
We don't want us moderators or the admins of lemmy.world to get in trouble for linking to piracy. Therefore, any link to piracy will be removed. Discussion of it is of course allowed.
PM a mod to add your own
Video games
Generic
Help and suggestions
go to feed...
The compiler was never meant to be a source code obfuscating tool anyway, the real sea change is Copyright being ignored. I've always wanted Copyright to go away, but it's going away in a way different than anything I'd imagined and I don't know what to think about that.
The obvious upside is we can sort of return to a time when every game was openly moddable. 25 years ago almost every hot game was a mod of another game.
save