When a game’s “code is lost” what stops a company from dumping/decompiling code from a disk or cartridge copy of the game for things like remakes and remasters?

540 views

When a game’s “code is lost” what stops a company from dumping/decompiling code from a disk or cartridge copy of the game for things like remakes and remasters?

In: Technology

9 Answers

Anonymous 0 Comments

They absolutely can. However 99/100 times it’s a pain in the neck and more effort than rewriting the thing from scratch.

Code is written by humans for humans. It has nice human structures that make sense, it is organized in to well named files in neat logical folders, it has descriptive variable names, it hopefully has a bunch of comments so that developers can communicate with both each other and their future selves, functions have clear markings what they are intended to do, all that nice stuff.

The computer doesn’t care: it neither needs, understands, nor wants any of that. In the process of compiling the code from human-code to machine-code the compiler will discard anything that it believes isn’t useful to the final product. Comments are thrown out, file structures pressed to single files, variable names replaced with shorter pointers, all of the human element vanishes.

Decompilers can’t bring any of that back. They don’t know what the compiler threw away and have no way of recreating it. What it will do is create its best approximation of “human-readable” code that does the same thing as the original code. However it will still have all of that awkward computer-preferred structure and meaningless variable and function names. Working with the de-compiled code as a human is extremely tedious and you’ll need to put in a lot of work just understanding what each section of the code is meant to be doing. And remember we’re talking hundreds of thousands of lines of code: Libraries worth of nonsense.

At some point it’s better just to give up and do it again from scratch.

You are viewing 1 out of 9 answers, click here to view all answers.