How did Konami lose the source code for the original Silent Hill game? Why couldn’t they just datamine the source code from the retail copies of the game?

1.03K views

I’ve heard many times that the reason the Silent Hill remaster collection didn’t turn out so well was because Konami lost the original source code and had to re-create it. But I don’t understand how that is possible. If they were selling copies of Silent Hill, why couldn’t they just take a single disk of it and datamine the source code off of it? How could they possess the game without possessing the game’s source code?

In: 1563

27 Answers

Anonymous 0 Comments

The source code of a program is the code written in a programming language, which is something that humans can read and write easily. That’s why it’s important to have the source code; if you need to make changes or replicate existing functionality, it’s relatively simple for a programmer to look at the source code and see what it does (assuming it’s well-written) and then do whatever they need to with it.

However, computer processors do not “speak” programming languages. They are controlled by very specific inputs that are hard for humans to read or write. There are various ways to get from code in a programming language to something the processor can follow, but the simplest form is a program called a compiler. A compiler reads code and, based on the rules of the programming language and the kind of processor it’s writing instructions for, spits out a sequence of instructions for the processor that do what the code says should happen. These instructions (along with visual and audio resources, etc) is what actually gets put on a game disc for a console to read and execute.

There’s no way to go from a compiled program back to the source code. The compiler will generally use all sorts of tricks to generate efficient instructions rather than just blindly translate things line by line, so there’s no real way to figure out what the programmer originally wrote based on what the compiler turned it into. Furthermore, well-written source code will include things like comments, formatting, and naming conventions that make the code much easier to read to humans, but which are ignored entirely by the compiler. There are so-called “decompilers” which can look at a compiled program and generate some code in a programming language that does the same thing, but it can’t recreate the intentions of the original programmer, and the code it generates will usually still be difficult to read or modify.

For instance, the source code might have a function called “shoot” with parameters called “source”, “direction” and “damage”. The function might have a comment next to it saying “This function traces a ray from the source in the target direction until it collides with the environment or an entity. If an entity is hit, it will take the specified amount of damage.” If this is compiled and then passed through a decompiler, it might turn into a function called something like “func_01283” with parameters “arg_1”, “arg_2”, and “arg_3”, with no more explanation than that. The actual code of the function will probably be strangely structured by human standards as well. You can see why having the source code would make things a lot easier for a team trying to recreate that function in a game remake.

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