Transportation planning and traffic simulation software for creating cities friendlier to walking, biking, and public transit
Go to file
Dustin Carlino 116d0dfef0 revamp tutorial mode as a gameplay mode underneath sandbox. few small
bugs left after the transition. unlocks more fixes and improvements
2020-02-02 14:17:27 -08:00
.github/workflows work around more github action silliness [rebuild] 2020-01-22 10:44:46 -08:00
abstutil make it easier to debug objects by warping to them, draw turn cycler 2020-01-31 14:06:37 -08:00
convert_osm not all lanes have to be the same width. make sidewalks a bit thinner. 2020-01-28 17:26:14 -08:00
data making the histogram more clear about same trips 2020-01-30 15:33:27 -08:00
docs try again or back out of challenge after final score 2020-01-30 13:50:46 -08:00
ezgui filter out overlays intelligently 2020-02-01 11:39:48 -08:00
game revamp tutorial mode as a gameplay mode underneath sandbox. few small 2020-02-02 14:17:27 -08:00
geom explain a few more things in the tutorial, improve arrows a bit 2020-01-31 12:18:44 -08:00
gtfs get the sim crate to build to wasm. a small step towards #21 2020-01-30 17:28:52 -08:00
headless also group raw_maps in data/input 2019-12-03 12:06:49 -08:00
kml remove old census popdat stuff 2019-12-03 11:42:02 -08:00
map_editor fix bounds of tutorial levels, so max unzoom and minimap and such work. 2020-01-30 14:25:02 -08:00
map_model better turn group blocks that handle variable lane width and 2020-02-01 19:11:01 -08:00
popdat starting a tutorial for bus lanes too 2020-01-27 12:38:51 -08:00
precompute make Timer methods and ModalMenu take &str or String 2019-12-12 10:25:48 -08:00
release when we change states, immediately run through a round of no-op event(). this lets us immediately draw a WizardState without having to flail the mouse a bit to trigger a first event. 2020-01-22 11:47:06 -08:00
sim get the sim crate to build to wasm. a small step towards #21 2020-01-30 17:28:52 -08:00
tests not all lanes have to be the same width. make sidewalks a bit thinner. 2020-01-28 17:26:14 -08:00
.gitignore hack in a second scenario on a synthetic map, just to start to figure out how to organize this 2019-12-06 11:33:01 -08:00
Cargo.toml goodbye, fix_map_geom. rename synthetic crate to map_editor 2019-09-23 13:54:09 -07:00
clickable_links.py rename the main editor crate to game -- map editing is just a tiny piece ;) 2019-09-07 13:09:09 -07:00
clippy.sh round of clippy. not fixing everything. 2019-12-11 16:17:15 -08:00
exec_tests.sh revive the other transit test 2018-11-26 14:36:59 -08:00
format_md.sh adding a new hint for extra turn restrictions 2019-08-06 14:02:34 -07:00
import.sh fix small bug in import script, and skip over bad polylines in 2019-12-03 19:28:58 -08:00
LICENSE Initial import of A/B Street prototype. 2018-03-13 08:06:03 -07:00
precompute.sh dont insist on prebaked data existing in some places. also go update 2020-01-21 11:50:56 -08:00
README.md new release 2020-01-26 09:37:16 -08: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.

Removing dedicated left-turn phases from a traffic signal:

fix_traffic_signal

Watching the Mercer backup start at 4am:

exploring_traffic

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

Aiming for a first playable release in January 2020. After that:

  • Model more things: light rail, shared bike/walking paths, ridesharing, utility functions for different groups
  • Improve map and demand data quality
  • Continue polishing the UI and improving data visualization
  • More challenges and exploring radical new ideas (like Madrid superblocks)
  • Expand to other cities
  • Implement a web version

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

Contributing

Help always needed! If you want to bring this to your city or if you're skilled in graphic or user experience, traffic simulation, data visualization, or civic/government outreach, please contact Dustin Carlino at dabreegster@gmail.com or post at r/abstreet. I also welcome any contributions on Patreon.