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.

  • I Cast Fist@programming.dev
    link
    fedilink
    English
    arrow-up
    2
    ·
    6 hours ago

    Pretty sure “decompiling” has always been the easy step - open the binary with a hex editor and dump the contents as some source code. Making sense of that is where shit gets really difficult - making it work was usually even harder.

  • unit327@lemmy.zip
    link
    fedilink
    English
    arrow-up
    20
    ·
    24 hours ago

    Can we please just skip the middle-man and start open sourcing everything instead of burning all the world’s resources to achieve the same goal?

  • ssfckdt@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    12
    ·
    1 day ago

    I know a few games that are sorely out of date by active developers and the devs are always like “I don’t have time” or “It’s not that important” or “It’s too hard.”

    And I’m like, why don’t you release the code you prick, you don’t care, so why are you still lording over it.

    So this could be awesome.

    • douglasg14b@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      ·
      24 hours ago

      Lol sounds like some of our internal teams.

      They don’t have time to support the things they built or to have people help them build it, but they refuse to make the repo internal so that others in the org can help them with it. Instead, they just act like bottlenecks.

  • thedeadwalking4242@lemmy.world
    link
    fedilink
    English
    arrow-up
    44
    ·
    1 day ago

    It’s not LLM decompilation is LLM de-obfuscation

    We have been able to de-compile pretty much anything for alomg while now, what’s been harder is making sense of what comes out of it.

    • Captain Poofter@lemmy.world
      link
      fedilink
      English
      arrow-up
      25
      ·
      1 day ago

      this right here.

      the adobe suite re-release is a much bigger deal than just pirated software. it’s the first time we commoners have been able to use the models they trained with our stolen content to steal something back, and it’s glorious.

  • Hossenfeffer@feddit.uk
    link
    fedilink
    English
    arrow-up
    9
    ·
    1 day ago

    This is very conflicting.

    I daily a macbook, and so games aren’t that readily available. To be able to play something like the original Syndicate (1993, SNES and other platforms) or Shadow Hearts: Covenant (2004, PlayStation 2) on my mac would be awesome. I’m very much a patient gamer, so there are so many old titles I’d very, very happily play through again.

    But there’s no way this would be restricted to old, dead platform games.

    AAA games now cost millions or even, according to GTA 6 rumours, over a billion to make. If a studio publishes a game, and a week later there’s a free AI clone of it, then there is no more AAA games industry. Actually, that also follows for some of the awesome indie games I’ve loved and enjoyed. How can you make money selling copies of your game if there’s a free, or massively undercut, version of it available? Obviously most gamers would like to support creators, but in this economy? They’d probably rather eat and pirate games.

    Pirate.

    P-AI-rate?

    Pir-AI-te?

    • Derin@lemmy.beru.co
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 day ago

      It means one of two likely pivots if you ask me: the resurgence of highly locked down consoles with hardware protecting the data, or - and this is the most likely path - devs will just resort to making online only games, where lots of the content is streamed in while playing (I mean assets, not the display output - though don’t doubt the latter, if it ever becomes feasible enough I’d posit that devs would migrate to that as well).

      Think a “live-events” driven game where every pre-determined period of time you download the assets for that period.

      Fortnite-ification of gaming, basically. :(

    • ඞmir@lemmy.ml
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 day ago

      Cracks have always existed? You could torrent GTA 5 on release day, or at least the single player part of it.

      • Hossenfeffer@feddit.uk
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 day ago

        Sure, but with ‘decompiled/recompiled’ games apparently not breaching copyright, you’ll be able to get GTA 6ish without having to worry about torrent clients and magnets and seeds and all that super complex stuff that most people just don’t want to deal with.

        If, a week after GTA 6 comes out at £70/£90, Big Stealing Cars 6 comes out at only £20 and is 90% as good… where’s the money going?

    • unit327@lemmy.zip
      link
      fedilink
      English
      arrow-up
      1
      ·
      24 hours ago

      This has nothing to do with piracy. Rewind the clock 20 years and doom’s source code release meant even more than AI code de-obfuscation. The art and assets are still copyrighted. The ability for people to port doom to everything under the sun has meant more sales of the game, not less.

      If every gamedev in the world released their source code tomorrow, no one would lose out on any sales, but the public sure would benefit from ports and mods etc.

      The only thing that might get lost is microtransaction locked cosmetic bullshit, which frankly needs to die anyway. But even that wouldn’t get lost necessarily because of authoritative servers and terms of service.

    • SocialMediaRefugee@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 day ago

      If they can clone games with AI so readily (actually it takes a lot of tokens but still less than it was to develop) then I’d think they could put that into developing their own.

      Of course, like you said, if someone could just copy it and put it out there as soon as you release it then there is no motivation to make anything if you need to at least recoup your costs.

      • Hossenfeffer@feddit.uk
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 day ago

        Why would they waste time and brain developing their own games when they can just piggyback on someone else’s creativity that’s had proven success in the market place?

  • humanspiral@lemmy.ca
    link
    fedilink
    English
    arrow-up
    11
    ·
    1 day ago

    Another exciting area is open firmware synths. specifically the $70 fm-1 (I think Pi based) is blowing up with synth engines/groove box apps. Its exciting new area for OSS. Its scary for closed synths.

    • radiofreebc@lemmy.world
      link
      fedilink
      English
      arrow-up
      7
      ·
      1 day ago

      Someone on reddit just vibe-coded a free Roland MC-707 app that turns the Groovebox into a real arranging/performing monster.

  • 0xDREADBEEF@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    12
    arrow-down
    1
    ·
    edit-2
    1 day ago

    Not scary at all for open source games! Or open source software. What, AI os going to decompile linux and 1000 AD?

      • Surp@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        4 hours ago

        Imagine decompiling windows and merging it with Linux so that anything you wanna do on either platform somehow works native? Like if I do a fresh install of WINUX let’s call it and then I can run any .exe and any game or program that’s windows only and it automatically out of the box thinks it’s a Windows machine and anything that’s Linux only think it’s a Linux box

  • iceberg314@slrpnk.net
    link
    fedilink
    English
    arrow-up
    9
    ·
    1 day ago

    Are these AI decompiled games any good? I heard the Adobe ones looked good but we’re actually really slow and buggy

    • popcar2@piefed.caOP
      link
      fedilink
      English
      arrow-up
      9
      arrow-down
      1
      ·
      edit-2
      1 day ago

      Most of them are really good. The Adobe ones aren’t actually decompilations, they’re just AI-generated apps that try to copy the same functionality which is why they’re so buggy and unfinished. The AI decomps/recomps should be functionally the same as the original games, usually with some edits to uncap the framerate and make it work with higher resolutions.

        • popcar2@piefed.caOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 day ago

          Photopea runs on the web which makes it way slower than native apps. It chugs a lot when editing a 4k image for example. The other main benefit is that the clone is fully open source whereas Photopea is closed source.

  • GonzoAtBarstow@lemmy.world
    link
    fedilink
    English
    arrow-up
    153
    arrow-down
    2
    ·
    2 days ago

    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.

    • Ricky Rigatoni@piefed.zip
      link
      fedilink
      English
      arrow-up
      37
      arrow-down
      2
      ·
      2 days ago

      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.

      • gandalf_der_13te@feddit.org
        link
        fedilink
        English
        arrow-up
        1
        ·
        20 hours ago

        nah; even when you’re downloading apps like games, if you decompile them and basically just shuffle the code around enough (while still keeping it functionally equivalent) and then re-compile it, the copyright is off. i’m pretty sure some courts have actually decided that way in the past couple months. there’s a name for this exact thing that i’m currently forgetting.

        i know this because it was in the news. software companies take open source projects with the GPL license, make AI rewrite all the code, now the code is no longer GPL licensed. the same thing obviously works for a whole lot of other things as well.

      • AwesomeLowlander@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        9
        arrow-down
        1
        ·
        2 days ago

        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.

    • zlatko@programming.dev
      link
      fedilink
      English
      arrow-up
      67
      arrow-down
      6
      ·
      2 days ago

      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.

      • VibeSurgeon@piefed.social
        link
        fedilink
        English
        arrow-up
        7
        arrow-down
        5
        ·
        2 days ago

        Decompilation offers you the possibility of cutting out network-required features, if you dream a little bigger.

        • jaycifer@lemmy.world
          link
          fedilink
          English
          arrow-up
          24
          arrow-down
          3
          ·
          2 days ago

          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.

          • VibeSurgeon@piefed.social
            link
            fedilink
            English
            arrow-up
            5
            arrow-down
            1
            ·
            2 days ago

            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.

            • nilloc@discuss.tchncs.de
              link
              fedilink
              English
              arrow-up
              5
              arrow-down
              2
              ·
              1 day ago

              Aren’t we assuming the data center buildout is to monopolize compute and turn our home computing into dumb screens?

              That’s what I think the hyper scalers are planning, especially after the LLM bubble pops.

              • gandalf_der_13te@feddit.org
                link
                fedilink
                English
                arrow-up
                1
                ·
                20 hours ago

                nah, as a person living in central europe, which is supposed to be somewhat modern, i can tell you that to this day, i’ve never had internet speed greater than 1 MB / sec. that’s certainly not enough to live-stream games. and also my current ping is about ~100 ms i guess (am on mobile connectivity, no cable where i live).

    • ChrysanthemumIndica@discuss.tchncs.de
      link
      fedilink
      English
      arrow-up
      16
      ·
      2 days ago

      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…

      • entwine@programming.dev
        link
        fedilink
        English
        arrow-up
        10
        arrow-down
        1
        ·
        2 days ago

        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.

      • urushitan 漆たん@kakera.kintsugi.moe
        link
        fedilink
        English
        arrow-up
        3
        arrow-down
        2
        ·
        2 days ago

        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

    • entwine@programming.dev
      link
      fedilink
      English
      arrow-up
      10
      arrow-down
      12
      ·
      2 days ago

      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.

      • gandalf_der_13te@feddit.org
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        20 hours ago

        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.

        nah, the artist income game is even more rigged than the capitalism people like complaining about. basically 99% of all art revenue goes to 1% of artists, while the bottom 50% of artists get basically 0% of the income. it’s incredibly unevenly distributed. the income inequality among artists is even more extreme than it is for wage workers.

        • entwine@programming.dev
          link
          fedilink
          English
          arrow-up
          1
          ·
          10 hours ago

          basically 99% of all art revenue goes to 1% of artists, while the bottom 50% of artists get basically 0% of the income.

          99% of what art revenue? There isn’t a global “art account” that gets divided among anyone who calls themselves an artist. Individuals earn what they earn.

          The people pumping out mainstream movies are obviously going to earn more than those doing furry porn commissions on the fediverse.

      • GonzoAtBarstow@lemmy.world
        link
        fedilink
        English
        arrow-up
        12
        arrow-down
        4
        ·
        2 days ago

        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.

        • ParlimentOfDoom@piefed.zip
          link
          fedilink
          English
          arrow-up
          3
          arrow-down
          1
          ·
          1 day ago

          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

          • GonzoAtBarstow@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            edit-2
            1 day ago

            I don’t advocate that really, the reply was to the guy who responded to my comment as if he had won an argument we never had, and then went on to ask that I examine all my other life choices because I might be wrong about them too. It was something for him to think about.

  • Nighed@feddit.uk
    link
    fedilink
    English
    arrow-up
    13
    ·
    2 days ago

    What’s is the token cost to decompile one of these games? I want to fix a game breaking ‘bug’ in an old game are we talking $10s or $100s to make that happen?

    • thatOneGuy@aussie.zone
      link
      fedilink
      English
      arrow-up
      6
      ·
      2 days ago

      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!

      • Nighed@feddit.uk
        link
        fedilink
        English
        arrow-up
        5
        ·
        1 day ago

        Will read up on everything. I got a 9B model running, anything else was dog slow or didn’t run, even on a 16GB card (AMD though)

        • Womble@piefed.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          8 hours ago

          Its very unlikely you will have any success decompiling things with such a small model, unfortunately this is a case where you need a cloud hosted model.

    • phlegmy@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      8
      arrow-down
      3
      ·
      2 days ago

      No idea about AI costs, but there’s many humans who would do it for free, if you let them know what the issue is.

      • Nighed@feddit.uk
        link
        fedilink
        English
        arrow-up
        7
        ·
        2 days ago

        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.

        • gandalf_der_13te@feddit.org
          link
          fedilink
          English
          arrow-up
          1
          ·
          21 hours ago

          the game is ruined by parking, you run out of space for car parks long before you really fill up the mountain.

          sounds like a case for public transport! :)

  • thingsiplay@lemmy.ml
    link
    fedilink
    English
    arrow-up
    39
    arrow-down
    2
    ·
    2 days ago

    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.

    • MimicJar@lemmy.world
      link
      fedilink
      English
      arrow-up
      9
      ·
      2 days ago

      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?

      • entwine@programming.dev
        link
        fedilink
        English
        arrow-up
        18
        ·
        2 days ago

        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.

      • thingsiplay@lemmy.ml
        link
        fedilink
        English
        arrow-up
        9
        ·
        edit-2
        2 days ago

        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.

        Source code and compiled binary

        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.

        Assembly

        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.

        Reverse Step 1: Disassembly

        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.

        Reverse Step 2: Decompilation

        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.

        Reverse Step 3: Port

        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.

        What is a recompilation?

        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.

  • psx_crab@lemmy.zip
    link
    fedilink
    English
    arrow-up
    9
    ·
    2 days ago

    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

  • thingsiplay@lemmy.ml
    link
    fedilink
    English
    arrow-up
    30
    arrow-down
    3
    ·
    2 days ago

    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.

  • cecilkorik@lemmy.ca
    link
    fedilink
    English
    arrow-up
    29
    arrow-down
    3
    ·
    2 days ago

    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.