abstreet/docs/INSTRUCTIONS.md

3.5 KiB

A/B Street Instructions

General disclaimer: This is a very rough demo. The user interface is clunky, and gameplay is not cohesively tied together yet. Please email dabreegster@gmail.com or file a Github issue if you hit problems.

Installing the game

The easiest method is to use pre-built binaries. Check https://github.com/dabreegster/abstreet/releases for the latest version, though I'll try to keep these links up-to-date:

Running the game

Start the game by running play_abstreet.sh or play_abstreet.bat. On Windows, you'll probably get a warning about running software from an unknown publisher.

General controls:

  • Click and drag to move
  • Scroll wheel or touchpad to zoom
  • Menus should work as expected. Most actions have a keybinding.
  • You can hover over an object and right-click to see more actions.

Things to try:

  • In sandbox mode, hover over an intersection, right click, and spawn agents. Then you can start the simulation by pressing space to "resume".
  • To run a realistic, full day's worth of traffic, go to sandbox mode and "reset sim" if needed. Then "start a scenario" and choose the "psrc" entry (this needs a better name). Time (shown in the top-right corner) starts at midnight. Things tend to get interesting around 6am. Try zooming in for details, and zooming out to see an overview.
  • Go to edit mode (note this will reset the simulation). Pick a lane, right click, and change it to another type. You can also change which roads see a stop sign by right clicking the intersection, choosing to edit, hovering over a stop sign, and pressing space to toggle it. You can do the same for intersections with traffic signals.

For developers: Compiling from source

To build, you need a Linux-like environment with bash, wget, unzip, etc. You also osmconvert for the import script. At runtime if you want to use the screen-capture plugin, you need scrot.

  1. Install Rust, at least 1.38. https://www.rust-lang.org/tools/install

  2. Download the repository: git clone https://github.com/dabreegster/abstreet.git

  3. Download all input data and build maps. Compilation times will be very slow the first time. cd abstreet; ./import.sh && ./precompute.sh --release --disable_psrc_scenarios. Alternatively, you could seed the entire data directory from this 9/21/2019 copy.

If you build from source, you won't have the convenient launcher scripts referenced below. Instead:

cd game
cargo run --release

Data source licensing

A/B Street binary releases contain pre-built maps that combine data from: