klauss wrote:
Because upgrades modify ship stats, so the stats need to be updated when adding upgrades.
But they really shouldn't be
ship stats at all should they? The columns that ships use and the columns a particular category of upgrade use should be mutually exclusive, with the exception of mass, moment of intertia, volume and price.
Ships should just have stats for hull durability, engine forces/torques and angular/linear speed governors, cargo space, mounts, etc. It shouldn't have armor stats, because we have armor upgrades for that and it shouldn't have reactor stats because we have reactor upgrades for that. Right?
I had a plan to have two sets of stats in the code, the blank stats, sans-upgrades, and the upgraded one. Units.csv would then only have the blank stats, and everything would work wonderfully. When you change the upgrades list, the upgraded stats would be re-computed (this includes damaged upgrades), and we'd have no bugs.
I never got around to doing it though.
We need this system sooner rather than later.
On the engine side of things, VS isn't too far away from being a fun game. It is missing key features in places yet there is a lot it already does fairly well. But you can't tell this just by playing it because it's 'game balancing' is so piss poor. Fortunately this sort of thing can be fixed entirely on the content / data side with not much changed in the engine. And the broad strokes patches I have been putting out should show at least a glimmer that this is the case.
Unfortunately, doing the actual fine balancing that will make the game truly fun and polished, will take forever if modding improvements like what you suggested above don't make it on to the priority list. Because balancing is highly iterative work- "change x, change y, test, change x back, change z..." So if you are balancing a ship against others via the upgrades it carries, then each time you make one of these changes, it will mean a lot of hiding rows and columns and scrolling and searching because there are so many unused columns and ship dot variants and nameless variables in lists that you have to look up, etc., then changing multiple variables to change one installed upgrade and subsequently introducing bugs. And given the highly iterative nature of balancing where each change is more of an experiment than a step forward... we never get anywhere. The game doesn't move beyond it's tech demo feel and the user base does not recover.