Powers "Vision" statement needed
[ QUOTE ]
I beg to differ, using your sample. There is code, albeit generic, that reads the data from power blast; this code could be tangled with other code.
I also would point out, that evidence tends to speak out for itelf. Look at the bizarre malfunctions when the game gets an upgrade. For instance, remember the trade function was borked when I13 was introduced? If you think about it, what did the tray window functionality had to directly do with crafting, once more using your example of power blast; should it not be some standard code that provides the trade functionality and then look up tables for the items traded? So while I could see errors in the database due to inception of more things that can be traded, I can not really see why the main trade functionality code would be impacted. The chat issue where colored chat went away during I12, what did that had to do with what was done with I12? Once you look at the body of observables, its hard to not believe CoX is suffering from spaguetti code at some level of borkness. Considering that the errors are not by the droves but in limited quantities, the code can not be too borked and a couple of months of clean-up should remedy this situation.
[/ QUOTE ]
As I said, I'm very certain there are weird coding oddities in the current codebase. In fact, I can name actual specifics. But what I said was that in this case coding practices themselves are irrelevant to the latest crop of game balancing changes. In fact, in probably the vast overwhelming majority of cases the codebase itself is not responsible.
ED was not due to any code issues, nor was the GDN. Hover wasn't changed because of odd code, but because the animation itself was missing a flag. No Regen nerf, or Invuln nerf, or Controller nerf was ever really the fault of faulty code. In fact, I am having difficulty remembering more than a couple balance changes that had anything *remotely* to do with actual game code.
The other bugs you mention are important, but not relevant to the topic of publishing the intent of powers, or trying to reduce the amount of rebalancing that happens. With a 100% perfect code base we'd have fewer functional bugs but we'd have virtually the exact same powers balancing environment.
Now, your level of optimism regarding how long it would take to completely clean up the code base is laudable, but off by an order of magnitude. While I haven't actually seen the code of the game engine, I'm probably more familiar with its structure than anyone outside the code team, and what I know suggests six months wouldn't get you past the animation system, much less the powers system. It would probably take more than six months just to learn what the code was *supposed to do* before mucking with rewriting it.
They don't muck with it because the code is, in fact, highly abstracted from the actual data of the game, where the game itself is actually designed, so during normal game implementation from the designers the state of the code is not usually an issue. However, whenever they *do* muck with it, like when they add new features to the game as a whole, we then see how difficult it is to manage that codebase. I14 beta is a prime example of that.
[Guide to Defense] [Scrapper Secondaries Comparison] [Archetype Popularity Analysis]
In one little corner of the universe, there's nothing more irritating than a misfile...
(Please support the best webcomic about a cosmic universal realignment by impaired angelic interference resulting in identity crisis angst. Or I release the pigmy water thieves.)
[ QUOTE ]
The chat issue where colored chat went away during I12, what did that had to do with what was done with I12?
[/ QUOTE ]
Oh you know, chat system entirely revamped. Ring a bell?
What shall claim a Sky Kings' Ransom?
PPD & Resistance Epic Archetypes
[ QUOTE ]
I beg to differ, using your sample. There is code, albeit generic, that reads the data from power blast; this code could be tangled with other code.
I also would point out, that evidence tends to speak out for itelf. Look at the bizarre malfunctions when the game gets an upgrade. For instance, remember the trade function was borked when I13 was introduced? If you think about it, what did the tray window functionality had to directly do with crafting, once more using your example of power blast; should it not be some standard code that provides the trade functionality and then look up tables for the items traded? So while I could see errors in the database due to inception of more things that can be traded, I can not really see why the main trade functionality code would be impacted. The chat issue where colored chat went away during I12, what did that had to do with what was done with I12? Once you look at the body of observables, its hard to not believe CoX is suffering from spaguetti code at some level of borkness. Considering that the errors are not by the droves but in limited quantities, the code can not be too borked and a couple of months of clean-up should remedy this situation.
[/ QUOTE ]
Without looking at the codebase, I don't think it's fair to say a couple of months of clean-up would be enough: this game has been around for years, and it's pretty clear that in some cases they're adding new features on top of old ones. I don't know if you've ever done a rewrite of a complex software system before, but I have, and what you're suggesting doing (rewrite, and in the process fix the most egregious known bugs without introducing any new ones) is pretty near impossible. (I had to rewrite an analytics system such that the new version generated the same billing numbers as the old version. While the old version was unable to scale to the load that we were experiencing. When I fixed bugs, I actually had to justify why the new numbers were different than the old ones. It was the second most stressful time in my professional career.)
The evidence also suggests to me that rather than being caused by spaghetti code, some of these bugs could be caused by code that's too simple, the opposite of spaghetti code. Some of the suggestions I've read to fix some of these problems sound to me like they'd be introducing lots of conditionals into the code (which is one thing that you might consider would make something spaghetti code). The tack the devs seem to have taken is to fix these things up by changing the data associated with powers rather than adding lots of additional code. It's an interesting choice, and one that (in my experience) leads to more maintainable systems, because you don't have to be a programmer to fix problems with the data.
So anyhow, without looking at the code, I'm guessing that what you're suggesting is much harder than you think. And I, for one, would rather they keep adding fun stuff to the game; even if they do try to clean it up, all that would mean would be a new set of bugs to complain about.