I think it's a good solution.

I can't help, but wonder, if it is possible to add a small chance, around 10% to 20% the person will walk at 3x the walking speed, by riding a bike.

Assuming an average person can walk at 5km/h, a bike would do 15km/h

but if that's too complicated, then the walking only is perfectly suitable.

I was wondering about this - what we'd have to do is something similar to what is currently done for private car traffic, and have a .tab file with the proportion of people with access to a bicycle at any given time and then generate a weighted boolean value at the time that the passengers are generated as to whether these particular passengers have access to a bicycle.

However, we have to consider: how do we simulate the question of whether bicycles can be conveyed on transport or whether there are bicycle parking facilities at the destination? Remember, the routing system (which is highly optimised and with which I do not wish to interfere) only returns a journey time to the destination station and the next transfer - no other details.

One thing on which I am really quite keen is the simulation of transport influenced urban development, which I foreshadowed a little above. I am still thinking of a workable way of doing this, but one method would be to check any tile on which a city proposes a building and see how many possible destination buildings are within x minutes' journey; or, perhaps more accurately, calculate what proportion of passengers would be able to get to how many buildings of what level at the current journey time tolerance settings. In other words, we might say that, for each building (or each of a subset of buildings: see below) that is a possible destination building (i.e., if this is a residential building, the building is a commercial or industrial building or an attraction; if this is an industrial building, the building is a residential or commercial building; if this is a commercial building, the building is a residential or another commercial building, etc.), the tile gets a rating of the level of the possible destination building, multiplied by the proportion of passengers who can reach it within their journey time tolerance by whatever is the fastest means of transport available (including walking, cycling (if this is implemented) or, for that proportion of passengers who have access to one, using a private car. The journey time both with and without a private car (and bicycle, if implemented) would have to be calculated to the destination building and a calculation made from that of the proportion of passengers for whom those journey times are within their tolerance.

However, this searching is not simple, as there is no easy way in the game to tell how far away that a building is without first finding the building in the city's weighted vector then checking its location, then running a shortest distance algorithm. This is a potentially costly process if done for every building in the game when there may be 300,000 or so of them in a well developed game. One possible means of limiting this search would be to look only for buildings in the current town plus towns within a set radius of the present tile (perhaps the maximum distance for mid-range journeys, which will be 80km in the next release of Pak128.Britain-Ex). This would simulate the fact that people do not usually consider convenience for long-distance journeys when deciding where to live or do business. We could continue to simulate the effect of long-distance journeys on development in the current way, by having the town's growth demand based on the total proportion of successfully transported passengers, mail and goods, which would therefore include long distance journeys. This would involve a de-coupling of the current growth demand mechanism from actual development, as, with this system, a building of any given level would only be built if the destination tile was sufficiently well-connected to transport. It would then be necessary to alter the way in which population is counted, so as to include only population arising from buildings, although that is under consideration as part of the calibration of the passenger generation mechanism in any event.

Private car use will need further consideration.

This thread's discussions have shown that attempting to model building to building private car trips (as is done in Sim City 4) does not look as though it will be possible for a large Simutrans sized map within the confines of what is possible with current hardware, but some consideration will need to be given to this topic to see whether at least a rough idea of the journey time between different towns or within a town can be generated based on actual road connexions and conditions. Assuming that everywhere is connected by road is unfortunately crude for our purposes.

The calculation of congestion will need to be refined, too. Presently, it has no effect on private car journey times, but is a somewhat arbitrary number which dissuades people from making private car trips when it is too high. This needs to change, I think, since we need to simulate the effect on journey times of congestion in order for the development model to work. If we are simulating the impact on journey times, we can also begin to calibrate congestion in a realistic sort of way, even if it will be somewhat approximate and based on statistical assumptions, rather than the tile by tile congestion model that would be ideal (but which seems for the moment too costly in terms of computing resources for anything other than an infeasibly small map). We can use statistics of the real life average car speed in certain towns and cities to get an idea of how congestion affects private car journey times. Using this for intra-city travel is easy enough - one can simply substitute the congestion adjusted average speed for the raw average speed actually attainable on town roads when calculating the time from the distance. On journeys between cities, it is trickier, since some of that journey will be done (1) in another town; and (2) on roads outside any town, on each of which the congestion may be different (and on the second of which we presently do not simulate congestion at all, and does not seem as if it will be possible to do so within the confines of present hardware for anything other than small maps). Some sort of formula is needed for determining what proportion of a journey is affected by the town's congestion levels and therefore the congestion adjusted average speed (and one might make an assumption that congested towns tend to have the roads leading into them congested, too, and adjust accordingly; indeed, perhaps the answer to the above conundrum is simply to average the congestion of the origin and destination towns when making assumptions about the journey speed, although some accommodation must be made for the fact that a long distance journey road between two heavily congested towns will be made at considerably greater speed than the town road speed. Perhaps the better thing to do is take the radius of each town as the journey distance completed within that town, and the remaining distance (if any) as the journey time on country roads).

Some consideration is also needed as to how to represent this to a player. Do we replace the current congestion rating with a graph showing the average private car speed in a town? We might want to remove the current effect of congestion on growth (with the congestion rating being a percentage figure of the proportion to which growth is impaired, 0 being no impairment from the basic model, and 100 and above entailing no growth at all), and replace it with the more organic effect that buildings simply will not be built if the journey time to nearby useful locations is too high. We can then also replace the current and rather approximate system for determining whether people use private car or public transport based on the congestion rating itself, and use instead a comparison of the respective journey times between the modes, the private car journey time now taking into account congestion more precisely.

If all this is done, however, we can have a wonderfully realistic set of transport driven development, and simulate the delights of suburban sprawl and "Metroland" of the early 20th century, as well as the vast increase in town size in the 19th with the coming of the railways.