Yeah so the HP requirements don't directly correlate to HP numbers in game- below 2000 tons it's 1020 per unit in the table, around 8000 tons it's 810.9HP per unit? Without a uniform system its become quite difficult to make modifications
Post by evil4zerggin on Jul 7, 2019 15:48:28 GMT -5
I think there is linear interpolation between 1000s of tons, as that would explain why there was a bug where maximum-tonnage-for-a-given-maximum-speed ships could get a discount on HP---it was linearly interpolating between the last value in the table and 0.
It seems very likely that the game is using that file, looking up the bounding tonnages for a given speed, applying some offset(s) to adjust the values away from the file, and then interpolating between those results to get the actual result.
We know what the file says, and can see its linear between points, other than the rare blip that deviates. We just don't know what the offsets are, and even less about how to predict them.
It would be a bit of work, but one could probably get a close enough approximation of the offsets that shift the values away from expected as given in the files by giving all the speeds and all the tonnages flat curves and noting how much they deviate from specified, at what tonnages. So each column would have one value for all rows, and maybe also one value for all columns too. A little mathematical analysis on the results may just expose enough about the offsets to enable us to be predictive about changes to the hp table.
I would not collect that data by hand though - people are error prone and it would take ages. Definitely something you write a script to do for/with you. 40 speeds, 90 tonnages, 3600 values with interpolation between. Repeat with a couple versions of the file to see what effect HP itself has on the offsets, as well as tonnage and speed. 20k values is probably less than I would collect if I had the time to try right now.
That would isolate their offsets as much as we can probably expect to achieve from the outside looking in, and from there, we could maybe discern enough to make meaningful changes and have some expectation of getting what we expected.
Do it all based off of tech level 1, and we could possibly reach a point where given tech, tonnage, speed and the file's stated hp, we could have a guess of in-game hp results within a reasonably small margin.