- This bug that you create x engines in a depot and shoot up your company value i heard of this before. Didnt know if that was true or not but thats a pain indeed. Isnt there a possibility to substract this in the CV-calculation formula? (something like: CV" = CV - (engines [complete trains] that have <=0 income this year * their value) ? Or is that to simply thought?
well in the mindmap linked above i tackled it with subtracting the total value of all stopped/crashed vehicles. but you are right, i have also added "total value of all vehicles without positive income is SUBTRACTED" now. should be technically possible but right now everything is still nothing but theory.
- The thing i mentioned about the different cargo types is also a fragile part because a few short trains with different types and i transported 8/8 types cargo.
yes, good point.
what would be also a way to circumvent the problems of perf. ranking while keeping its positive aspects would be to not use perf. but making the same criteria part of the score algorithm, just in a smarter way.
e.g. we give a reward for cargo diversity too (like +1 XP for every cargo type transported) but only cargo types that you transport at least 20% of the amount of your most used cargo type are counted. that means if you focus on coal and transport 100,000 tonnes of coal per quarter you must at least transport 20,000 litres of oil to have oil count as another cargo type you are seriously transporting.
this won't be 100% accurate as not all units of all cargo types work on the same scale and not all industries grow their production the same, but it should still do a much better job than only checking whether any single object of a specific cargo type was transported.
put that idea also into the mindmap.
- You must be joking that you have the option to send money to other companies on? ... really :/
players like to use it to boost each other and lend each other money, it often leads to a quite social gameplay i often wonder about. and as long as the score system isn't just depending on money or CV alone the advantages of money transfer aren't really big (except in the beginning, as i mentioned, initial boosting...). it has always been enabled and didn't cause any problems in the past.
circumventing weaknesses in the score algorithm by disabling game features is never an elegant solution, rather a last resort of there is no other way to mitigate a potential problematic effect. i still hear you that this poses a higher risk of getting abused than many other features and we should watch it carefully. but this we can still review again when the score idea is finished - then we'll see whether disabling it would be necessary or the benefit from it would be too small to have a considerable effect.
- And if possible calculate the time taken on a monthly or quarterly base. Instead of only yearly
unfortunately one technical limitation comes into play here: the CV value OpenTTD gives out to external applications over its interface is only updated quarterly, so that would be the lowest possible interval we can depend on (i know the OpenTTD client calculates it locally and real-time, but it can do this only because it has more data than our external application and has the exact same formula programmed into it as the server).
apart from that your suggestion is not really clear to me. calculate what against what? the time taken after a quarter...is a quarter. so i guess you mean see how much the CV has raised between quarters? and then give scores for it, more scores the more the CV increased within that quarter? or only check quarterly whether the goal was reached and at the end give higher score the lower the amount of years played is?
That said, im no coder or anything so i have no clue how easy/hard this stuff is
that's why on the right side in my picture i included every piece of information the game is giving me as a coder, but explained as normal text, so everyone knowing OpenTTD should be able to understand it. everything you see there can theoretically be taken, summed up, averaged, calculated against other values, measured on different scales, set in relation to other values, get multiplied by other values, get added or subtracted...whatever helps. which values you consider, how much weight you give each value and the way you let it influence the final score is more a mathematical and logical question than one for coders.