Original Post
Hi all,
whenever I see a game with an ''automatic update'' feature I wondered how they do it, this updating. I mean, you buy (or download) a game, and then after a few weeks or months a new patch is available, including new weaponry, maps or whatever.
How does this updating/patching work? The new resources (graphics and sound and other data files) won''t be a problem, these are easily copied to the game directory. But HOW do they patch the executable file? The game has been compiled and everything is hard coded, so how can they suddenly add new functions, routines and ''source code''? Were the extra features already in the executable (in C&C Renegade there were already flying vehicles in single player before multiplayer support in the new patch, so the ''objects'' already existed), or do they use some kind of other trick? When I look at the game directory of some popular (3D) games I see lots of DLL files and stuff, but also multiple executables (some games appear to run two executables at the same time, as I saw in most Westwood games). I am currently writing a game (engine), so I''m wondering how to implement a patch feature in my game. Do I need to follow some kind of scheme / do I need to write my code in a certain way? After all, it would be ''cool'' for the people playing an older version of my game to have an update/patch available. If you know how to make a game patchable, please tell me. I''m programming in VC++ 6 and with DX8 and WINAPI.
Please post your replies here, do not send me email (I won''t receive your emails because of the spam filter, sorry).
Thanx,
QTheBrain & Yoshi
The Netherlands