r/pcmasterrace • u/Netrunner008 • 1d ago
Question Explain Like I'm 5. How is AI Deconstructing Software and Mashing Up Video Games?
When I first starting seeing these videos on shorts, describing what was going on. I dead ass thought it was a joke, I thought it was some modders screwing around and trying to start a rumor Onion style.
But no, no this is a real thing that's actually happening and the implications are kind of breaking my brain a little bit. Like, how is minecraft working in GTA? Both games have completely different physics engines! I don't understand how you can have both in one game with out constant crashing and conflicts. Full disclosure, my understanding of coding in general is limited, but for real, how is this suddenly a thing?
And then there's the whole situation with PS5 OS operating on a PC, but having full support for Ps2 and Ps3 games with the discs? Like, HUH? Why would putting an OS on different hardware suddenly change its functionality? Sorry if these are dumb questions. I have been in the IT industry for a few years. But this is showing me just how little I really understand about how software works.
And hell. I can’t even begin to comprehend what we the people could do with our home PCs and "open sourced" versions of the biggest software brands out there.
146
u/BarryMcCoknor 1d ago
Ah, like you're 5? We hand AI tokens, like an arcade. Then it gives us cool stuff sometimes!
55
u/Netrunner008 1d ago
Okay maybe like im 10?😂😂
20
u/RoadAffectionate1284 19h ago
Think of GTA as one Lego city and Minecraft as another Lego set. AI doesn’t shove the whole Minecraft game into GTA, it helps someone copy the cool pieces and rebuild them so they work inside GTA. Emulators are basically translators for old PlayStation games: the game asks for a PS2 thing, the emulator tells the PC what that means. AI just helps people build the pieces and the translator faster.
11
u/Swimming-Self6804 8h ago
https://www.youtube.com/watch?v=DNS-4Wl7dY4
This guy talks about it on a pretty technical level but breaks it down in simple ways. i.e. regarding Skate 3 Rust engine: "This project is basically just taking a bunch of puzzle pieces from different puzzles and modifying the edges to kind of just make them fit together." Definitely give it a watch if you want to learn more.
3
u/Netrunner008 7h ago
Roger that. Perfect study material for lunch. This has turned into a minor obsession for me.
3
u/Nezarah 4h ago
I kinda love the analogy that games are a baked cake. Looking at it and tasting it, you have a vague idea of maybe whats in it and a loose idea of how it was made.
Ai is able to break it down to exactly its ingredients and exactly the instructions on how it was made.
Fun thing is, once you have those instructions and ingredients, you can adjust them however you wish and the Ai can make the cake from it.
Its like ordering a meal at a restaurant, liking the meal but wishing it was slightly more well done, or less well done, or saltier, or sweeter and then the next moment the dish is back on your plate exactly how you asked.
6
u/Goldac77 23h ago
The first part about mashing up video games works like this: they basically have the two games running at the same time on the pc. There's one that handles the final image render, and the other handles the controls and physics interactions. There's sauce is the translation layer in between them. In the example of minecraft in GTA, minecraft physics interactions and control will be running in the background, reads the user input, and the translation layer takes that into GTA to have same output on screen
This is an oversimplified explanation based on what I know from looking into this. I haven't looked much into the Sony stuff to be certain how it works
2
u/Netrunner008 7h ago
Simplified or not it still gives me a frame of reference. And combined with some of the other replies I am starting to get a much clearer picture. Thank you!
6
u/Kangaroshave3vagina 5h ago
Games merging is just making 2 games codes talk with each other.
PS5 is being translated on to pc to emulate
Using AI to create open source copies of softwares
8
u/LittlestWarrior 5090 | 9950X3D | 64gb 6000mHz 1d ago
Give AI cake, AI can work out a recipe that ends up with a cake that looks, smells, feels, and tastes like the original cake, even though the recipe might not be exactly the same. It produces the same result.
For the mashups, you’re playing two games at once, and a program made by AI, combined with two mods, bridges the two games together. Sorry, I can’t ELI5 that one.
3
u/RichardShwise 23h ago
But would it also sound like the original cake?
3
u/PermissionSoggy891 23h ago
if the AI cake and the original cake were in the middle of the woods for no one to observe them, would they start doing the hokey-pokey?
2
u/Netrunner008 7h ago
No no need to be sorry that is helpful. I have seen other people use the cake analogy. I am starting to get a better picture of what is going on here. Strange as it is to me I also think its super interesting
3
u/JaggedMetalOs 20h ago
For game mods, there are already tools that convert programs into messy source code by directly changing the machine code into slightly more human readable codes. AIs are very good at analyzing huge amounts of data, so they can take this decompiled source code that is still in a state too messy for a human to understand and understand it in one go. With that understanding it can then come up with mods.
For remaking programs, because AIs are trained on the entire web for any even slightly popular program it will have basically every tutorial ever written for that program in its training data. So with this knowledge of how to use every feature it can come up with a clone of the program.
There are limitations to this approach however, for example if you actually try to use the Photoshop clone Photocraft you will find a lot of the features are broken. AI cloned the UI first, but didn't sucessfully implement or understand all the features that were there.
1
u/Netrunner008 7h ago
No one else has really talked about those adobe recreations yet. That is super interesting.
So the AI is looking at how humans are using the program. Then it does its best to understand the decompiled source code of said program. THEN it creates its own program based on that source code and the information about usage it has. Of course because its AI. It still misses stuff which is why the features are broken.
Sorry to regurgitate your own info back at you. Putting it into my own words helps sometimes haha. Thank you.
2
u/JaggedMetalOs 6h ago
Well we don't really know how those adobe clones were put together as the author as far as I've seen hasn't given the full workflow they used. They claim it was clean-room reverse engineered from public documentation and from behavior analysis (which would more likely be stuff like automatic clicks and recording the changes rather than observing a human use it), and if that's true then it wouldn't have used any decompiled code. And the kind of weird bugs it has does make me think that's true. But also the AI could have used some or more decompiled code, which would also make the project legally problematic.
1
u/Netrunner008 6h ago
Yeah on the note of legality I am shocked we haven't seen a more intense response from the corporations yet. Shouldn't this be like a D-Day level scenario for them? Even if the projects coming out of it are buggy and half done?
2
u/JaggedMetalOs 6h ago
If no copyrighted material was used to make the clone then what would they be able to legally get them on? There might be some patents, but anything present in CS2 will have expired patents by now.
(Obviously this all depends on that first if, but Adobe's legal team has surely gone through the source code of all these clones looking for any evidence of copying by now)
2
u/sithelephant 1d ago
In short, programs and games and OSs are designed to run on one 'substrate' - be that a game engine, an OS, or whatever.
It is possible to translate either the thing being ported to the other platforms requirements, or to teach the other platform how to run the different code.
This means you can for example run minecraft 'code' on GTA physics engine, as long as that engine is flexible enough.
OS translation means that instead of having to emulate a whole machine and the OS, you instead have a relatively thin layer that runs on the native system and understands how to run foreign code. In modern consoles, that foreign code is not actually for a different CPU (usually), so that doesn't actually need translated.
It's just that it's expecting PS4, not windows. Not emulating the game or the PS4 hardware but just having a thin translation layer makes it all way more efficient and lightweight.
1
u/Netrunner008 7h ago
As I have been reading through these comments "translation layers" have come up a lot. Are these separate programs by themselves or like a subsection of the wider program with all the mashed game files and other stuff too?
2
u/XsNR Ryzen 5600X RX 9070 XT 32GB 3200MHz 19h ago
There's 2 things to think about.
Decompiling software (effectively reconstructing it), is a form of reverse engineering. Like imagine you have a house, a cake, or really anything that is relatively complicated without the instructions, you're asking AI to work backwards to get those instructions from the end product. This doesn't mean you're getting the original product that the company made, like using the house analogy, you're not necessarily getting a blueprint and plans out with all the notations and reasons for things being where they are, but you're getting a 3D sketch of where everything is that can still be extremely useful just in other ways.
Think of it like if you had a paragraph in a language you don't understand, you know it was originally written in a language you understand, or at least could understand better. AI works backwards to tie the elements together at the most basic level (like this word appears the most, it's probably one of these common words) and tries to translate it to your language as best it can. But just like when you translate anything, there's sometimes limitations with context or language that just don't have the same things, and it doesn't mean you're getting the language originally (say it was German into Mandarin, and you want it back into English).
You might have seen with the PS5 project though, some things are much easier than others, and it takes a longer time to get 100%. Many of these projects aren't trying to get 100%, they're just trying to get the specific thing they care about, because they can recreate the rest themselves.
Okay the other one, mashing up video games. At the most basic level, they're just both games running at the same time, and using a 3rd "game" to apply them both to each other. So we either see like Skyrim and Minecraft, that are built into Skycraft, or more interestingly the options that are using Skate as a mashup. Because all games use relatively similar concepts (they're trying to replicate reality to different levels, and do it in similar ways), then it's not that hard to map things across worlds.
Skate examples are the most fun here, basically every game under the hood is actually a skating game, in so much as while we see things walking, they're actually just boxes being rolled along, while the character moves their legs in an unrelated way. They often aren't properly calculating gravity most of the time, but obviously they have it for jumping to a degree, so once you convert relative slopes at the 2 contact points, you can infer the gravity aspect from Skate instead, and create those natural skating mechanics. Grindable edges in Skate are also often just corners, so it just has to define what is considered corner enough in the mashup game, but under the hood all objects with collision already have that, so no big deal.
The most complicated part is mapping the mashup's character to the Skate animations. For stuff like humans obviously this is no big deal, with similar proportions, but if you take the WoW one, you have to consider what you're going to do with the skeleton differences between worlds, are you going to put a gnome on a longboard several times their body, a tauren on techdeck, an orc needs some seriously wide vans etc. It's still not that complicated, as they still use skeletons, you just have to consider the relative proportions of the skateboard part of the skeleton, and the limitations of your choice.
But once you have that all figured out, it just kind of, works. If you were to actually play them they would be a little interesting depending on how much time was put in, but they're surprisingly simple.
1
u/Netrunner008 7h ago
I am saving this comment for later as reference material. Great explanation.
My adhd brain has decided this subject is now of critical importance for my dopamine receptors haha. Thank you for taking the time to write all of that out.
5
u/ICantBelieveItsNotEC R9 7900 | RX 7900 XTX | 32GB DDR5 5600 1d ago
Physics engines are, for the most part, pretty much fungible. A force applied in one engine will have the same behaviour as a force applied in another, except in pathological cases. You literally can just lift and shift gameplay code from one onto another.
3
u/EdliA 23h ago
The new ai models released in the past couple of months are extremely good. It takes humans ages to do that, ai will do it in an afternoon. You would basically inspect a huge amount of code trying to figure what does what. What part is responsible for vehicle driving, pedestrians, weather. A game like gta v might possible have 100 million lines of code. Good luck figuring that out.
Truth is ai producing slop was just something it did in its early days. Things are changing quickly and is becoming better than humans.
1
u/TB3r 23h ago
Have you asked an AI? They'll tell you.
0
u/Netrunner008 7h ago
Hahaha I sort of wanted to start a discourse rather than use a chatbot. I am pretty "anti" Ai in that I don't like to rely on it unless I really cant fine a source or person that can't explain something to me in a way that makes sense.
1
1
u/TywinRightfullyLann 23h ago
They burning tokens like hell, and a game its like a set of instructions , AI tries to meet their the requirements , noticing that they can work in parallell, like 20 windows at once if you got the money, that kinda of power is insane on its own, i guess they have a way to decipher the source code, and well then its optimization from there,
1
u/PhilosophyOld5347 7h ago
Where are you guys seeing this stuff? Are there active subreddits/discords for this?
1
u/Netrunner008 6h ago
I see it all over Youtube shorts and have a found a few long form videos about it since.
0
u/Trosque97 3060 12gb, 5700x3d 23h ago
Decompiling and recompiling a game is basically like trying to figure out how to speak a unique arcane language. But we're meat, words are words. AI is computer brain, computer brain understands computer language WAAAAY better than meat brain, and it also understands our language. It took severe levels of autism and YEARS to decompile some games. What AI is in this case, is Super Charged Weaponized Autism
0
u/Netrunner008 7h ago
HAHAHAHAHA got it. AI is super charged weaponized autism. But no that does makes sense. So it basically reads the 1 and 0s that make up the code of the OG games. and finds out how to remake those games in a more modern human readable language? Enabling us to tweak the "clone" of the game?
77
u/Titanium125 5800X|5080|64GB 23h ago
Computer code is fundamentally just binary digits, 0s and 1s. When you write code you write it in a programming language that is human readable, but when you run the code it is compiled into assembly language, machine code, etc. Basically just those 0s and 1s. So what AI is really fast at doing is taking that machine code and turning it back into human readable code. That's decompiling.
When you have the two games meshed together, it's kind of misleading. What's actually happening when you see Trevor from GTA V swinging around like spider-man is both games are running side by side. Then the AI stiches them together. That's why the clips are so short, because Trevor will run into an invisible building in the spider-man game that isn't there in GTA V. So it's mostly a cool gimmick. Not super useful yet.
As for your hardware, that's where drivers come in. You have to specifically write your code to specific hardware. s86 CPUs have specific things that they can do. This is called an instruction set. ARM and x86 CPUs have different instruction sets, so different simple tasks they can preform. Add, subrract, etc. That's why an ARM CPU can't run x86 programs, because they literally use different instructions. It's like using a flathead screw driver on a phillips or torx screw. That's with the hardware.
So with the PS5 it is a totally different operating system from Windows. So they are basically just using AI to write a translation layer that sits between the PC and the PS5 firmware, translating the PS5 system calls into something that works for the PC. Basically what WINE or Proton is on Linux and Steam.