Transportation planning and traffic simulation software for creating cities friendlier to walking, biking, and public transit
Go to file
2020-05-28 10:04:58 -07:00
.github/workflows working on github flow for new importer binary [rebuild] 2020-05-17 10:04:55 -07:00
abstutil validation for naming edits. fixes #35. also improve how wizards manage 2020-05-24 11:52:32 -07:00
convert_osm restore the upper bridge, but mark it under construction 2020-05-27 16:52:39 -07:00
data restore the upper bridge, but mark it under construction 2020-05-27 16:52:39 -07:00
docs restore the upper bridge, but mark it under construction 2020-05-27 16:52:39 -07:00
ezgui fix lots of layouting! exact_size_percent can play well with scrolling 2020-05-27 11:52:57 -07:00
game add a tool to find buildings touching roads 2020-05-28 10:04:58 -07:00
geom use lttb to downsample points for jump-to-time. looks better and is 2020-05-27 12:17:45 -07:00
gtfs stop dependending directly on serde_derive 2020-05-19 15:06:32 -07:00
headless workaround repeated scenario running out of parking 2020-04-28 10:12:08 -07:00
importer stop dependending directly on serde_derive 2020-05-19 15:06:32 -07:00
kml stop dependending directly on serde_derive 2020-05-19 15:06:32 -07:00
map_editor try brian's signals. making them the default to get used to them, but 2020-05-13 15:31:29 -07:00
map_model restore the upper bridge, but mark it under construction 2020-05-27 16:52:39 -07:00
release working on github flow for new importer binary [rebuild] 2020-05-17 10:04:55 -07:00
sim new osm with lots of parking fixes and a vital new turn restriction. 2020-05-20 10:54:22 -07:00
updater get rid of raw thruput_stats. in-game throughput plots are a little 2020-05-15 15:07:42 -07:00
_config.yml Set theme jekyll-theme-slate 2020-05-06 18:24:56 -07:00
.gitignore turn soundcast parcels into extrashapes / kml to understand skipped 2020-05-16 10:26:59 -07:00
Cargo.lock start organizing all the use cases / ideas 2020-05-27 16:21:15 -07:00
Cargo.toml starting a tool to more granularly manage data files. my half, uploading 2020-05-01 19:22:03 -07:00
clippy.sh round of clippy. not fixing everything. 2019-12-11 16:17:15 -08:00
format_md.sh adding a new hint for extra turn restrictions 2019-08-06 14:02:34 -07:00
import.sh try again to bundle importer in release for oneshot. disable gdal. 2020-05-17 09:25:44 -07:00
LICENSE Initial import of A/B Street prototype. 2018-03-13 08:06:03 -07:00
README.md breathe life into the little buggers 2020-05-25 17:10:15 -07:00
rgrep.sh get halloween working with small lines. refactor a Line::maybe_new. 2019-02-01 12:12:40 -08:00
rustfmt.toml tweaking rustfmt options; the long literal string vecs in tutorial look awful 2020-01-21 15:20:02 -08:00

A/B Street

Ever been on a bus stuck in traffic, wondering why there are cars parked on the road instead of a bus lane? A/B Street is a game exploring how small changes to a city affect the movement of drivers, cyclists, transit users, and pedestrians.

Find a problem:

exploring_traffic

Make some changes:

editing_map

Measure the effects:

evaluating_impacts

Documentation for developers

Features

  • The map
    • A detailed rendering of Seattle from OpenStreetMap and King County GIS data, including sidewalks, on-street parking, bike lanes, bus-only lanes, turn lanes, buildings, and bus stops.
    • Intersections governed by stop signs and traffic signals, with default signal timings heuristically inferred. Hand-tuned geometry to reasonably model Seattle's strangest intersections.
    • You can adjust lane types, stop signs, and traffic signals, and reverse lanes.
  • The traffic
    • Individual cars, buses, bikes, and pedestrians move through the map.
    • Most trips are multi-modal -- for example, a pedestrian exits a building, walks a few blocks over to their parked car, drives somewhere, looks for parking, and walks to their final destination.
    • A realistic set of trips -- how many people go from building 1 to building 2 at some time using some form of transport -- based on PSRC's Soundcast model.
  • The gameplay
    • Start in sandbox mode, exploring the map, watching traffic patterns, following individual agents, looking for problems.
    • Jump to edit mode, where you can convert some on-street parking to bus lanes and adjust traffic signals to try to fix some problem.
    • Try your change in A/B test mode, running two traffic simulations side-by-side. Explore how individual agents finish their trips faster or slower, and compare aggregate results about different groups of traffic.
    • Attempt a predefined challenge with particular objectives, like speeding up certain bus routes or designing a full bike network.

Roadmap and contributing

See the roadmap for current work, including ways to help. If you want to bring this to your city or if you're skilled in design, traffic simulation, data visualization, or civic/government outreach, please contact Dustin Carlino at dabreegster@gmail.com. Follow r/abstreet for weekly updates or @CarlinoDustin for occasional videos of recent progress.

Project mission

If you fix some traffic problem while playing A/B Street, my ultimate goal is for your changes to become a real proposal for adjusting Seattle's infrastructure. A/B Street is of course a game, using a simplified approach to traffic modeling, so city governments still have to evaluate proposals using their existing methods. A/B Street is intended as a conversation starter and tool to communicate ideas with interactive visualizations.

Why not leave city planning to professionals? People are local experts on the small slice of the city they interact with daily -- the one left turn lane that always backs up or a certain set of poorly timed walk signals. Laura Adler writes:

"Only with simple, accessible simulation programs can citizens become active generators of their own urban visions, not just passive recipients of options laid out by government officials."

Existing urban planning software is either proprietary or hard to use. A/B Street strives to set the accessibility bar high, by being a fun, engaging game.

Credits

Core team:

Active contributors:

Others:

Data: