Function sim::mechanics::walking::crowdedness_penalty

source ·
fn crowdedness_penalty(
    map: &Map,
    traversable: Traversable,
    peds_per_traversable: &MultiMap<Traversable, PedestrianID>
) -> f64
Expand description

Returns a number in (0, 1] to multiply speed by to account for current crowdedness.

We could get really fancy here and slow people down only when they’re part of a crowd, or passing people going the opposite direction. But start simple – keep a fixed speed for the entire time on a sidewalk, and base the decision on how many people are there when entering the sidewalk.