Why is it bad when a game developer has lost the source code to game it wants to rerelease/remaster? Isn’t all the data needed in the original retail copies?

771 views

Why is it bad when a game developer has lost the source code to game it wants to rerelease/remaster? Isn’t all the data needed in the original retail copies?

In: Technology

5 Answers

Anonymous 0 Comments

The code distributed to users isn’t the original source written by the authors, instead it’s a compiled machine code that can be run by a computer.

In an analogy, think of it as a cake. You can’t figure out the recipe just by eating the cake.

Anonymous 0 Comments

Games created from the mid 90s onwards will most often than not be written using a high level language. These languages are easily read by the developers but not by the computer/console, therefore it will need to be translated (compiled) into a computer readable form called machine code. The downside is that machine code is hard to understand compared to the original source code. This is due to the fact that many useful features from the source code are missing, like comments and named variables.

When a game is released, only the compiled machine code plus any extra files that the game may require are present. The source code could potentially be used to aid piracy so it usually isn’t included. Some games may contain files that can be decompiled back into the original source code, though finding these files can be quite rare.

If a developer loses the source code and wants to rerelease or remaster the game, they only have the compiled machine code and any decompilable file they can find (which in most cases will be none). They will have to run the machine code through a disassembler which will turn it into assembly language (low level programming language), then work through it all and see what everything does. This process could take months or years depending on how big the game is, and is generally not a task worthwhile doing. So when a company loses the source code, their best option is to remake it from the ground up which will cost precious time and money that could have been saved had the original not been lost.

As for my analogy, think of it like building a house. An architect will have a blueprint for a house which will be used to build said house (compiling). If the blueprint is lost then the architect still has the house as a reference point (machine code) but it will be easier to draw up a new blueprint (starting from scratch).

TL;DR: People translate sentences into a foreign language, they lose the original words and the foreign version won’t easily translate back exactly as it was, so they recreate the sentences from scratch.

Anonymous 0 Comments

Another analogy would be to music. You can have all of the notes written out and instruments picked out and singers can have all of their lyrics ready to perform, but once that music is all put together and recorded, the final ‘mix’ is just that – a final mix.

Yes, with technology, you can digitally manipulate music once it has gone on to the final mix, but if you wanted to change some notes in one particular instrument or change a lyric, you would have to rerecord that part and make another final mix.

If you were to lose the ‘files’ containing these instruments or notes (aka the game source code in this analogy) that would mean that you cannot go back and change one or two things simply without totally recreating every other piece of the code as well.

Hopefully that made sense.

Anonymous 0 Comments

Think of it like cooking a delicious meal. The final prepared meal is the game, and the recipe that lists the ingredients and cooking instructions is the source code. With the recipe (source code), it’s easy and straightforward to recreate the meal whenever you want. Without the recipe, it would be almost impossible to do so. Sure, a great cook could probably guess many of the ingredients, but they would still require a lot of trial and error to find the right proportions of ingredients and cooking instructions.

Anonymous 0 Comments

The retail versions are stripped of all human intelligible code and comments that makes the code understandable and then converted to machine code. For a developer it would take less time to create a new game from scratch than to reverse engineer the retail version.