Of course it's still having the same problems with "spaghetti code" it's always had, and yeah, it's all the developers' faults for not dropping all other development on the game and undertaking a near-impossible task.
Or maybe, EA were unwilling to green light stopping all other development on the game to accomplish something that would show minimal short/mid-term benefits (in fact, may incur relative losses).
But by all means, don't let any of the realities of the situation get in the way of your rage, that would just be inconvenient.
Look, I'm going to start this explanation in the same self-superior way you just did, because it's clearly awesome.
Cleaning up the code is not a simple find/replace operation, you can't sic an intern on it and have it done in a few months.
You're talking as many variations in coding style as there have been coders, like little dialects, that require a little bit more thought just to make sure you're understanding the flow just right.
Across probably more lines of code than the Complete Works of William Shakespere, only jumping around like a Fighting Fantasy book.
Long story short, I worked for a decade as a programmer. I understand the issues with legacy code. I also understand that in a proper development environment -- which, by the way, Origin and its subsequent UO-bearing children has never been -- old code is frequently and often revisited in order to update it to new coding techniques, to make it compatible with new systems, and so forth.
While certainly there would not have been a complete overhaul of every line of code, quite frequently, old code will be revisited for certain functionality in other areas, and during those revisits, at very least it gets redocumented.
The problem is that over the past decade and a half, if we're still dealing with spaghetti-code legacy issues, it's just simply not been done.
You might think it would take a whole development team to unravel spaghetti code, and you might think it's something that an intern couldn't go in and handle documenting. I say simply that the unraveling of spaghetti code should be a natural part of the progress. Then again, if Origin hadn't been such a cutesy little place to work with nothing by way of standards being implemented anywhere, the spaghetti code wouldn't have existed in the first place.
I return to the original point I made: By now it SHOULD BE a non-issue.
Your point about the game being developed by a multitude of developers would also be a non-issue with proper internal documentation. Sure, you're going to have to take the time to completely understand a code-chain, but if it's well documented, it'll provide more than an adequate guide to figure out its internal workings.
Which, again, by now, should have been done in spades.
As an example, while I was working as a programmer, I often would sit down with my supervisor, a non-programmer, and explain how a system would work. We often spent a short time discussing code implementations, and he would look at the base code I was implementing. Again, as a non-programmer, he was able to determine what it was that I was accomplishing with my code simply because it was properly commented and documented, leaving an internal structure for what it was that I was trying to accomplish. It's not difficult, and when it's done during the moments of programming, it doesn't take that much additional time. The additional time that it
does cost is time that is saved in huge amounts later on down the line because there's little to no question how a system is intended to function and how it's accomplishing it.
There'll be undocumented tweaks and changes, functions that don't work like they're supposed to, redundant code, duplicate code and so much more.
If all other development hasn't been stopped, then all ongoing changes will have to be developed for both codebases.
There should NEVER be ANY undocumented tweak or change. In fact, from the base "spaghetti code," each and every change and addition should be commented with the date and programmer who changed it, and the nature of that change (at very least referenced in an external reference sheet if necessary to keep code-size down). Undocumented changes only occur in sloppy, half-assed development houses.
Now, if any of you thought "The shard emulators did that" then you need to stand in the corner.
The Shard emulators didn't need to be outwardly a carbon copy of the existing game, down to its very last detail. They just had to be close enough to pass muster, not continue on an existing game.
Good try to deflect to shard emulators... especially given that shard emulators don't charge for their services.
And regardless, I'm going to go out on a ledge and say that most of the emulators are probably better documented than the source they are emulating.
Which has practically nothing to do with the point I was making, about it being non-trivial.
It has EVERYTHING to do with the point you were making. It should be a non-trivial matter. It could very easily be coded with or without spaghetti code (and yes, I say this with certitude, having never seen a line of UO's actual code... it doesn't take an expert in UO to understand coding logic and systems implementations). And given that it's at the core of RMT that is part of the life-blood of UO, I don't care if it's the most non-trivial system to implement, whether it takes 5,000 or 500,000 or 500,000,000,000 lines of code to implement,
it should be implemented properly.
Stop making excuses for EA. God knows they make enough for themselves.