Transportation planning and traffic simulation software for creating cities friendlier to walking, biking, and public transit
Go to file
Dustin Carlino cad336d493 Tighten up the definition of u-turns, requiring the from/to road names
to match.

Originally these were introduced to deal with merging intersections
between dual carriageways. But inadvertently, lots of left turns got
reclassified as u-turns. That's caused various headaches, most recently
the lakeslice gridlock. That's fixed again!
2021-01-25 17:19:48 -08:00
.github/workflows Rename the experiment crate in preparation for a Monday release 2020-12-19 10:01:28 -08:00
abstio Bring in linear pedestrian highways as cycleways+shoulders. #458 2021-01-16 17:03:13 -08:00
abstutil Remove timer.{note, warn, error} in favor of the log crate. #262 2021-01-21 19:22:02 -08:00
book new release 2021-01-24 16:42:57 -08:00
collisions Display tooltips in the collision viewer. #87 2020-11-10 12:49:08 -08:00
convert_osm Attempt some transformation of sidewalk:{left,right} tags for #449. 2021-01-25 15:31:01 -08:00
data Tighten up the definition of u-turns, requiring the from/to road names 2021-01-25 17:19:48 -08:00
fifteen_min Let individual maps override the street parking length. #457 2021-01-25 12:36:49 -08:00
game Let individual maps override the street parking length. #457 2021-01-25 12:36:49 -08:00
geom popup and persistent split to spec (#480) 2021-01-24 15:32:28 -08:00
headless Consistenty expose TripID and PersonID in some of the APIs. #392 2021-01-23 10:08:53 -08:00
importer Let individual maps override the street parking length. #457 2021-01-25 12:36:49 -08:00
kml Remove timer.{note, warn, error} in favor of the log crate. #262 2021-01-21 19:22:02 -08:00
map_editor More conventional button names 2021-01-22 13:11:42 -06:00
map_gui Let individual maps override the street parking length. #457 2021-01-25 12:36:49 -08:00
map_model Tighten up the definition of u-turns, requiring the from/to road names 2021-01-25 17:19:48 -08:00
osm_viewer More conventional button names 2021-01-22 13:11:42 -06:00
parking_mapper More conventional button names 2021-01-22 13:11:42 -06:00
popdat Refactor the logic of distributing N people to K buildings. This was 2021-01-13 11:18:51 -08:00
release Include the importer in the release again -- I accidentally stopped 2021-01-13 10:52:07 -08:00
santa popup and persistent split to spec (#480) 2021-01-24 15:32:28 -08:00
sim Let individual maps override the street parking length. #457 2021-01-25 12:36:49 -08:00
sumo Grab new Seattle OSM data with some junction=intersection tags in Montlake and along Aurora. #114 2021-01-07 11:11:59 -08:00
tests Let individual maps override the street parking length. #457 2021-01-25 12:36:49 -08:00
traffic_seitan Remove timer.{note, warn, error} in favor of the log crate. #262 2021-01-21 19:22:02 -08:00
traffic_signal_data For extremely short roads (under 2 meters after calculating intersection 2021-01-15 15:32:01 -08:00
updater Dedupe must_run_cmd. I think I did this before updater took a dependency on abstutil. 2021-01-19 14:41:56 -08:00
widgetry Remove the zcool font and Xi'an import. #377 2021-01-24 20:30:20 -08:00
widgetry_demo popup and persistent split to spec (#480) 2021-01-24 15:32:28 -08:00
.gitignore Remove the zcool font and Xi'an import. #377 2021-01-24 20:30:20 -08:00
Cargo.lock Remove timer.{note, warn, error} in favor of the log crate. #262 2021-01-21 19:22:02 -08:00
Cargo.toml Import a SUMO network, transform it into an ABST map. So far, this gets 2021-01-05 12:44:38 -08:00
clippy.sh round of clippy. not fixing everything. 2019-12-11 16:17:15 -08:00
format_md.sh Fix more broken links. Sadly can't enable linkcheck, because it has two false positives. 2020-09-24 19:37:16 -07:00
import.sh Attempt to display the Timer progress and logs in separate parts of the screen when running the importer. #262 2021-01-21 19:57:38 -08:00
LICENSE Initial import of A/B Street prototype. 2018-03-13 08:06:03 -07:00
README.md new release 2021-01-24 16:42:57 -08:00
rgrep.sh Set up a test scenario for lane-changing to reproduce #382. The same 2020-11-11 11:33:47 -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 stuck in traffic on a bus, wondering why is there legal street parking instead of a dedicated 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.

Show, don't tell

Alpha release trailer

Find a problem:

exploring_traffic

Make some changes:

editing_map

Measure the effects:

evaluating_impacts

Documentation

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 be highly accessible, by being a fun, engaging game. See here for more guiding principles.

Credits

Core team:

Others:

Data: