I'm not too knowledgeable in programming, but could they be rewriting significant portions of the game's coding with each update, so maybe it's easier to just issue a complete re-download with each patch? Perhaps someone with more experience could answer whether that's a viable possibility, or whether this is just poor patch execution.
This is the possibility a lot of people seem to be ignoring. A good deal of the work that needs to be done for future updates is laying groundwork in that does not currently exist. Generally, this isn't too difficult since the game already has it's structure and design laid out at this stage. In the case of FFXIV, however, the new team is going to have a different design schema than the old team, meaning a lot more foundation and superstructure is going to be needed for any sweeping changes.
More to the point, even the smallest change in a file means the file has to be re-downloaded (baring extenuating circumstances). Modularization can only go so far. If I had to guess, FFXIV is modeled as some sort of Hub system. The original plan was probably to have core game mechanics in a large, central file or - more likely - a small subset of files that would not have to be changed very often if at all, while mechanics (new and otherwise) can be plugged into the game without modifying to core system. Unfortunately, things did not go according to plan and nearly every patch is requiring them to tinker with core mechanics (causing a re-download of the containing files). Unless I am completely off base - which, admittedly, is entirely possible - the patches should drop in size once they're done tinkering with the core mechanics.
As to saving time by only downloading changes and splicing them into files, it's actually hard to say. Right now, given that they are probably only changing small parts of very large files, line by line changes would greatly improve the speed of the process. Alternatively, if the patch consisted of mostly new content (i.e. 90% of patches in any other
MMO) the extra overhead of inserting, deleting, and appending data to files might be more trouble than it's worth.
Hopefully SE didn't just go with a bunch of GOTO statements in their crystal tools engine... or maybe that's why??
God help us if anyone
is still using that archaic practice. Edited, May 24th 2011 2:53am by Hulan