I've created a new patch that modifies the time factor constants instead of enforcing a maximum distance.
http://www.tt-forums.net/download/file.php?id=88285
===========================================
I've been playing a lot of multi-player games lately, and one of the things that bothers me is that it is simply too easy to join a game, build a long haul route across a huge map and be loaded with cash quickly. It doesn't take long for game to degenerate into a contest of who can build the most long distance routes. They don't even need to be particularly well built or managed and a profit can be made.
So I started looking into how distance is used in the income calculation and what I found is that is it just a simple multiplication:
Code: Select all
Economy.cpp ~ line 1274
return BigMulS(dist * time_factor * num_pieces, _cargo_payment_rates[cargo_type], 21);
Due to my lack of understanding about the time penalty, In an attempt to close the exploit, I chose to limit the distance bonus, similar to the limit on time penalty. I'm sure there are arguments about why this is the wrong approach. I'm also going to recognize the quick and dirty nature of the change. So to hopefully stimulate further discussion of the changes, I'm posting this patch here.
Basically what I have done is made the maximum distance value used in the calculation a configurable option. Setting the option to zero disables the patch. Setting it to any other value sets the maximum distance value used. For example if you set the value to 256, then any cargo delivered less than 256 tiles will be calculated normal, and routes that are longer will have their income limited to what it would have been paid had it traveled 256 tiles.
I've been testing this on my machine for a couple days now and I must say that it does up the game difficulty a great deal. Since a route that is too long becomes unprofitable, the player is forced to make a network that consists of many smaller runs before they can generate the enormous profits we normally see on the long runs.