Over the years since the current passenger generation system has been developed, various considerations have been given to refining it to deal with the tendency that passengers have to take very long trips to get to very minor destinations (e.g. travelling 10 hours to get to a fish and chip shop). Another issue is that visiting passenger success rates are not affected by whether local consumer industries are well stocked, since passengers can simply visit other local amenities instead.
The solutions that I have devised to this are as follows.
Maximum journey time tolerance rating for buildings
Passengers which generate with a high journey time tolerance can be inferred to be making the sort of journey that they would be prepared to travel a long time to take. Certain building types (e.g. fish and chip shops) do not in general warrant that sort of journey. Therefore, it would be sensible for building types optionally to be able to specify a maximum journey time tolerance. If passengers pick such a building and have a higher journey time tolerance than the rating, then they will not attempt to travel to this building and will instead search for another destination.
One complexity is whether to reset the alternative destination counter so as not to count these attempts. Not doing so may well result in passengers making significantly fewer attempts to travel, thereby affecting the carefully calibrated passenger generation figures. However, doing so might result in infinite loops were insufficient buildings are available. I am provisionally minded to opt for the former on the basis that, providing that there are enough buildings without a maximum journey time tolerance and enough with reasonably high escape chances, the longer distance passenger should travel often enough (and passengers with longer journey time tolerances have inherently more options in any event).
This should simulate the fact that only places with important buildings will attract passengers from far away, and alter the nature of traffic going to certain places as compared with others in a way that more accurately simulates reality than now.
To simulate the fact that, very occasionally, there is some exceptional reason for passengers to travel a long way to apparently unimportant buildings (perhaps somebody is meeting an old friend at the fish and chip shop who lives nearby, or is negotiating with the owner a contract for the supply of fish), one might have for each building an escape probability, that is, a probability that the journey time tolerance maximum will not apply.
Some visiting passengers require consumer industries
At present, all visiting passengers choose at random from a list of all buildings with visitor demand. This does not simulate passengers' need to journey to shops to buy things. Therefore, a proportion of passengers will need to be generated bound only for consumer industries. A separate list of consumer industry destinations will need to be created for the purpose. The proportion will need to be able to be set in simuconf.tab.
This should ensure that it is necessary for players to supply local industry chains for passenger success rates - which will in the future determine town growth - to be high.