To prevent cheating, the sharing could be done using contracts, ie:
- either the tycoon allows for company X to use his tracks, stations, etc... giving him a price of Y€ per train per distance
- or it is arranged that company X will have access to the network for Z€ per month, unlimited trains
- final solution, company X pays a given amount of money all at once, creating a contract that allwos him to use the network during, say 5 years (the time can be set when creating a contract).
Ideally, the cheaper solution for company X would be the third, but it cannot affort it at the start so it uses the other two. Also, the prices Y and Z should have a minimum value to prevent any cheater to make too much money at the start (in any case, a player caught cheating can be expelled).
As for a company deliberately crashing his trains on the other's, maybe we could disallow using the ignore signals button on an other player's tracks. This way, a player cannot crash the opponent's trains their own tracks. And ot prevent players from using the button befor joining the other player's network, as soon as the train soins it it automatically gets set to "do not ignore".
The other way around, I guess there is no way to prevent a player for crashing an opponent's trains using his tracks, but maybe in that case we could have a kind of insurance: when your train crashes on tracks that don't belong to you, you get paid back. Even better, you could have the player that owns the tracks paying you back, so this will convince him out of cheating that way.
I am little, ugly, and nasty. How do you do?