Hi I am very new here, but I have been in the computer industry since 1965. A real Oldie. One trick I did learn was the ability to create code from a program that reads a series of parameters (this can also be other code). This was used to convert from one language to another as long as the first language adhers to strict standards. So a couple of points. 1. The language used by the game appears to be english (best langauge) but if the the words and phrases were placed in a dictionary and then accessed at run time to build a table referenced by number. This table is then used to populate the game GUI. This was used to overcome the problem of multiple langauge built into the programs of a Europe wide used system, even the screen constants were read from the dictionary and the screen compiled to be used by the system. Thus in England the developer would compile the screens in english to test the system, but when the code reached a nother country the screens were compiled usinf the dictionary. This way each user could have there own langauge set. Not to good at explaining this but just throwing in an idea. (you probably don't compile screens anymore) 2. If someone wrote say a text reader, that is each part of the text is isolated as a word. This is then used again agaist a dictionary to extract say associated code. So someone wants to play the single player but woul;d have all oif the multiplayer code contained within the original code. At setup he chooses the single player option the code is extracted or built for that game and compiled once. The player now has a single player core program which he uses. (he can't play multiplayer at this moment. Ok So he sets up a multiplayer, the game on start up finds to core programs and builds a GUI to refelect this. If the player plays single it loads the single if he plays multi then it loads this. Any developer will say that this adds to the coding but not so, upper levels of code just need to call a single say screen called fred, fred has been built a single player screen or as a multiplayer screen, dependant on the compile fred would show as either depending on the top GUI choice, because fred can be called from say a sigle player folder of code or a muliplayer folder of code. Common code for both lies in the common folder. OK these are just thoughts, might get some brains ticking over.