What does it mean when they "can't find the source code"?

Avatar image for fireburger
FireBurger

1612

Forum Posts

2836

Wiki Points

0

Followers

Reviews: 4

User Lists: 11

Hi all!

At the risk of sounding stupid, can someone please explain what it means when people "can't find the source code" for a game? This came up most recently regarding Icewind Dale II on the Some RPGs Playdate.

I would assume that all of the "code" necessary to redevelop/modify an old game would be included on the cartridge/disc and could simply be dumped/ripped. After all, the computer is simply executing the code when the game is played--so the code and assets must all be there, no?

But, I'm obviously wrong, so please educate me!

Avatar image for bizmarkiefader
bizmarkiefader

47

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

This is pretty reductive but basically the source code gets compiled from a human readable format to an executable format the target computer/cartridge/whatever can use. You can sometimes reverse engineer it but it's generally not a reversible process.

Avatar image for efesell
Efesell

7499

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#3  Edited By Efesell

The source code is the original plain text version of the code as written by/for an actual human. That is then turned into machine code that can then be read and executed by the computer. Without that original set of instructions it's difficult for someone else to come in and make use of it. You can work backwards in some cases but it's pretty difficult to do so.

Here's a piece on IWD2 specifically.

Avatar image for stalefishies
stalefishies

488

Forum Posts

39

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

The code you write in writing a computer program is different to the code that a computer runs. There's a process called compilation where the human-readable code is translated into machine code, which contains all the instructions the CPU/GPU/etc. needs to actually run the game. That machine code is what's on the cartridge/disc and so you can certainly rip that - but not the original human-readable code.

The reverse process of trying to get human-readable code out of machine code is called decompilation. For some programs, you can get something out resembling the original code, but a lot of things get stripped out of code when it's compiled. Also, there is a process of optimisation where the compiler will try and produce very fast machine code - and this fast machine code is very hard to unpick into the original program. Trying to decompile something as complicated as a full video game is a very hard problem, and it's unlikely you'd get anything useful out of it.

So if you'd lost the source code, the best you'd could get from the disc is all the assets, which are just on the disc as you say, and whatever mess a decompiler can spit out. You'd essentially need to rewrite the code again mostly from scratch.

Avatar image for fireburger
FireBurger

1612

Forum Posts

2836

Wiki Points

0

Followers

Reviews: 4

User Lists: 11

Got it, now! Thanks for all the answers!

Avatar image for pappafost
pappafost

237

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 1

Fascinating, I also had that question. It's also not surprising that this happens as often as it does considering how pretty much every game comes in 'hot'. Now if we could just do a "Save As" of everything in Jeff Gerstmann's garage, we would be good to go for a great long while. LOL.

Avatar image for bisonhero
BisonHero

12787

Forum Posts

625

Wiki Points

0

Followers

Reviews: 1

User Lists: 2

It’s not a perfect analogy, but losing the source code is a lot like losing the masters of a music album.

You can copy the finished product all you want, but you can’t easily modify the individual aspects of the material if you can’t decompile the material back into its component parts in a useful way.

Avatar image for gundato
Gundato

1170

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

It is also worth noting that the borderline religious zeal with which modern software engineers use version control systems didn't become a thing until MAYBE the 90s (SVN and CVS kind of sucked for communal development). Combine that with even modern solutions not being great for large assets (binary files) and you tend to have a lot of bootstrapped solutions.

And even for the companies that did do their due diligence and backed everything up: When the company is going under and everyone is out of a job, you tend to not prioritize archiving things correctly. You're busy stealing a chair or finishing up revisions to your CV. So whatever happens to that server in the closet (or even that account in the cloud) isn't your problem. And it might not even be that of your immediate bosses.

I forget where I heard about it (might even have been on the bombcast...) but I definitely remember a story of people visiting an old office complex years after the company went out of business and finding the hard drive they hid in the drop ceiling for "safe keeping". I'm sure there are also backup servers in closets that got plastered over that may even still be running.