How do studios lose the source code of games, when there are full copies of games out there?

432 viewsOtherTechnology

I hear often that games can’t be remade because the source code is lost. Silent Hill 2 remake had only partial source code. Wouldn’t any old physical CD have the entire code on it?

In: Technology

13 Answers

Anonymous 0 Comments

Nope.

Shipped software products usually contain only the production variant of the machine readable compiled program code. This program code will be optimized and possibly even obfuscated.

Debug and testing versions of the machine readable program code will still contain some human-readable information such as the names of particular locations in memory, the names of functions, etc… this is generally stripped out of what’s released to the market because computers usually don’t need to the names of symbols.

The human readable source code is usually stored on workstations and servers belonging to software companies. If a company closes shop or clears out old equipment then the proprietary contents will generally (but not alway) be erased.

There are software products that can convert compiled machine code back into human readable source code. These are aptly called decompilers.

Decompiled source code will not be the same as the original source code. There won’t be any comments, function names, parameter names, or variable names. Data types may be incorrect, inlined functions will be copied all over the place, etc… this is because decompilers work backward rather than forward and they can’t accurately restore information that was stripped out by the compiler.

However, decompiling is a start and given enough time it can be useful in reconstructing something similar to the original source code.

A good example of this is Super Mario 64 for the N64. The original ROM was decompiled, reverse engineered, and extensively patched to improve performance over the original release from 1996.

This involves a lot of time and effort because software tools will only do so much. Remasters of old games often use the original source code as a launching point and don’t dedicate a ton of manpower to the project.

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