a-b-street / a-b-street/abstreet
Support O(100) cities
- Linguagem predominante
- Rust
- Estrelas
- 8.2k
- Forks
- 380
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
We've been adding a few other cities slowly and with considerable effort. What would it take to maintain a few hundred?
## Downloading optional content
- a UI for selecting extra maps to download
- persisting game `Options` between game versions
- Adapt the downloading functions from `updater` or `importer`
- Glue to `ctx.loading_screen`
- Figure out how to make web-compatible
## Storing the maps
- Currently just the latest (github master) version in Dropbox
- Likely need to keep 3 versions: github master, the latest binary release, and the last binary release (#195)
- Dropbox sucks, probably switch to S3
- There's a unique URL for each file shared from Dropbox, so `data/MANIFEST.txt` has to store the mapping
- the Dropbox daemon crashes constantly when uploading lots of new files
- want one URL, aka, https://abstreet.s3.us-west-2.amazonaws.com/latest/system/maps/southbank.bin
- ideally use Unix rsync and ditch most of `updater --upload`
- Namespace `data/system/maps/` better
## Map config
- Could just start from https://download.bbbike.org/osm/bbbike/
- People can contribute better bounding polygons
- Move to text config, instead of all the code in `importer`
- For curated cities like Seattle, keep the code of course, but for the majority of the "second tier" cities, just have basic config
## Maintaining the maps
- My laptop has a core or two, but probably it's a bit intense to regularly run the importer for hundreds of maps
- Also I'm the only person who can upload new data to Dropbox currently, doesn't scale for potential team growth
- Ideally, a CI-like server would do the work
- But it's weird to make this asynchronous; when a commit with a binary incompatible change goes in, the data should be uploaded already
- Maybe locally, a dev can send the server a command to regen everything, stage it somewhere. Then they send another command to "commit" the data, and then push their change at the same time
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Avaliação
Esta issue ainda não foi avaliada.