Transportation planning and traffic simulation software for creating cities friendlier to walking, biking, and public transit
Go to file
2019-06-30 11:01:01 -05:00
abstutil save and restore savestates for entire a/b tests. launching from scratch 2019-06-21 12:47:00 -07:00
analyze_code upgrade all other deps, except for piston/winit stuff 2019-01-11 12:36:20 -08:00
convert_osm remove building_type and stop reading the residential permit shapefile 2019-06-18 14:58:57 -07:00
data preserve OSM tags when merging degenerate intersections. this lets 24th and lake washington be fixed without messing up the z-layering 2019-06-26 17:33:31 -07:00
docs adding fresh videos to README 2019-06-28 10:38:53 -05:00
editor use separate states for some traffic signal editor code. allow general actions even when an icon is selected 2019-06-30 11:01:01 -05:00
ezgui woops, didnt use GeomBatch for all the new ModalMenu stuff 2019-06-26 15:20:25 -07:00
fix_map_geom organize all modal menus into groups. dont render them yet. 2019-06-24 15:43:22 -07:00
geom now actually plumbing data for scoreboard 2019-06-13 14:46:28 -07:00
gtfs remove the single point associated with intersections, now that we're 2019-06-12 10:10:04 -07:00
halloween round of clippy / unbreaking the build 2019-05-29 13:01:33 -07:00
headless starting a blank scoreboard for sandbox mode. removing old defunct attempts at 2019-06-13 14:06:35 -07:00
kml reading the PSRC parcels file, converting coordinates 2019-05-23 13:58:15 -07:00
map_model don't use a bimap for NodeMap. less dependencies, marginal speed boost 2019-06-27 10:30:56 -07:00
playground_gui fix up other ezgui apps, run clippy 2019-05-04 17:25:05 -07:00
popdat consistently using file extensions of .json and .bin, merging duplicate abstutil io functions accordingly 2019-06-11 14:30:11 -07:00
precompute completely remove most traces of MapEdits. quietly disconnect some 2019-03-18 15:37:02 -07:00
release expunge the concept of traffic signals being in overtime. not realistic to how people drive, the current rules allow progress without impacting safety. also disable gridlock detection -- noisy results, easier to visually spot, and slow. 2019-06-19 14:51:09 -07:00
sim very basic tool to explore an agent's full trip 2019-06-27 11:58:55 -07:00
synthetic remove building_type and stop reading the residential permit shapefile 2019-06-18 14:58:57 -07:00
tests remove building_type and stop reading the residential permit shapefile 2019-06-18 14:58:57 -07:00
tmp_gfx upgrade some dependencies and list data source licenses in README 2019-03-11 16:04:47 -07:00
viewer borrow text to draw, stop cloning everywhere 2019-04-22 13:29:24 -07:00
.gitignore save and restore savestates for entire a/b tests. launching from scratch 2019-06-21 12:47:00 -07:00
Cargo.toml debug_initialmap: use loading screens, stop depicting half-roads, draw 2019-06-13 13:20:24 -07:00
clickable_links.py easily watch logs as a slow test runs 2018-12-09 13:43:06 -08:00
clippy.sh remove the single point associated with intersections, now that we're 2019-06-12 10:10:04 -07:00
color_scheme.json consistently using file extensions of .json and .bin, merging duplicate abstutil io functions accordingly 2019-06-11 14:30:11 -07:00
exec_tests.sh revive the other transit test 2018-11-26 14:36:59 -08:00
format_md.sh load different maps from splash menu 2019-04-21 15:59:04 -07:00
import.sh remove building_type and stop reading the residential permit shapefile 2019-06-18 14:58:57 -07:00
LICENSE Initial import of A/B Street prototype. 2018-03-13 08:06:03 -07:00
precompute.sh use a sparser, more obvious representation for walking_with_transit. 2019-06-17 16:08:31 -07:00
quick_reconvert.sh remove elevation from map model. never been used, no anticipated need for it 2019-06-12 07:25:31 -07:00
README.md adding fresh videos to README 2019-06-28 10:38:53 -05:00
rgrep.sh get halloween working with small lines. refactor a Line::maybe_new. 2019-02-01 12:12:40 -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.

Play A/B Street on Windows, Mac, Linux

Removing dedicated left-turn cycles from a traffic signal:

fix_traffic_signal

Watching overall traffic patterns and zooming into a few slow areas:

exploring_traffic

Features

More details here.

  • 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.
  • 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 -- comes from 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.

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 set the accessible bar high, by being a fun, engaging game.

Contributing

I'm a one-person team. If you want to bring this to your city or if you're skilled in user experience design, traffic simulation, data visualization, or civic/government outreach, please contact Dustin Carlino at dabreegster@gmail.com. I also welcome any contributions on Patreon.