Commit Graph

5504 Commits

Author SHA1 Message Date
Dustin Carlino
f23dacbde7 Start some skeleton code for tomorrow's hackathon 2020-12-09 22:11:05 -08:00
Dustin Carlino
97a9f38e0c Fix github actions build after adding music [rebuild] 2020-12-09 18:24:47 -08:00
Dustin Carlino
dbbfe18076 Link to OSM objects from the area info panel, to help debug water polygons easily 2020-12-09 16:41:08 -08:00
Dustin Carlino
aa5010f2d0 Import part of Manhattan. Need to adjust the boundary to fix water
polygons, but this is a start.
2020-12-09 16:15:08 -08:00
Dustin Carlino
6e6e975923
There's no way it's this easy to add music... (#417) 2020-12-09 13:46:27 -08:00
Dustin Carlino
737b35f68d Document --scale_factor flag for #381 and #415 2020-12-08 14:54:42 -08:00
Dustin Carlino
87b4d1bb93 Performance optimization: don't update panels unnecessarily, and don't
do expensive updates unless time is passing. Before this, you could
introduce serious by wiggling the mouse!
2020-12-08 09:56:59 -08:00
Dustin Carlino
3d361074ab Draw traffic signals changing over time in the experiment 2020-12-08 09:05:06 -08:00
Dustin Carlino
c8a37a27a0 Create 3 new small maps of Seattle for the experiment. Notably, 2 of
them simulate fully with --infinite_parking, and SLU makes it to about
4pm, so these might have some other interesting use...
2020-12-07 20:58:04 -08:00
Dustin Carlino
a88fef0874 Update minimap style and other bits from Figma, better snowflakes 2020-12-07 16:42:41 -08:00
Dustin Carlino
86814f6867 Make A/B Street's minimap specialize the generic widget, instead of duplicating code. 2020-12-07 15:40:35 -08:00
Dustin Carlino
2153b1605b Move the legend to the minimap in the experiment, by parameterizing the
minimap on a trait to specialize it.
2020-12-07 14:42:49 -08:00
Dustin Carlino
d799b20d93 Refactor colors 2020-12-07 13:57:55 -08:00
Michael Kirk
0e759aa934
replace custom logger with env_logger (#414) 2020-12-07 12:58:47 -08:00
Dustin Carlino
83dee1cf59 Write player JSON data to local storage in WASM. Now progress in the
experiment is saved across browser sessions too!
2020-12-07 11:44:56 -08:00
Dustin Carlino
8af6e1343d Serialize game state on native. Figuring out how to do this on web next... 2020-12-07 11:01:43 -08:00
Dustin Carlino
e03f356a0e Depend on upstream usvg and fontdb, now with pure-Rust rustybuzz support
in web!
2020-12-07 10:30:50 -08:00
Dustin Carlino
af9f9080a2 Some experiments to chop Seattle into some smaller pieces. Not used yet. 2020-12-06 21:25:22 -08:00
Dustin Carlino
4d56786289 Don't move faster diagonally 2020-12-06 19:49:59 -08:00
Dustin Carlino
4c947f05f6 Attempt more precise collision response, but it doesn't feel good, so
disable it
2020-12-06 19:24:19 -08:00
Dustin Carlino
b1811c21ab Add a progress bar for the initial .wasm loading. #377
It's now easier to understand the possibly slow downloading of the 80MB
.wasm.
2020-12-05 20:55:07 -08:00
Dustin Carlino
8e0a2ea8d5 Work on snow again 2020-12-05 18:42:22 -08:00
Dustin Carlino
139f442ba7 Flatten transforms in the Santa SVGs from Illustrator. The pitiful SVG
processing code in widgetry doesn't handle paths nested under groups
with transforms. To workaround, preprocess the SVGs:

1) Open in Inkscape
2) Click the problematic group
3) Menu "Path > Object to path"
4) Menu "Extensions > Modify path > Apply transform"

And scale down the two bike sprites
2020-12-05 17:57:46 -08:00
Dustin Carlino
9fb26eed0a Earn permanent upgrades by completing levels, show them on the title screen, add a flag to unlock everything for dev 2020-12-04 16:40:27 -08:00
Dustin Carlino
3b5aac7d7e Unlock levels in sequence 2020-12-04 16:19:31 -08:00
Dustin Carlino
df04fd7e18 Give SimpleApp a way to stash session-wide state. First use case is high scores for the experiment. 2020-12-04 15:08:15 -08:00
Dustin Carlino
c9809c805b Prepare to track high scores 2020-12-04 14:53:11 -08:00
Dustin Carlino
2ece6d0c05 Create a more interesting animation for delivery and refilling 2020-12-04 14:19:42 -08:00
Dustin Carlino
7381bd6b8d Add a time limit and a results screen. Make the upzone screen always
happen, use it as a place to prep the player before the level
2020-12-04 13:55:46 -08:00
Dustin Carlino
766fea1441 Prevent warping near bridges, and ban travel along light rail entirely 2020-12-03 21:04:38 -08:00
Dustin Carlino
97c5c45ca4 Add a basic boost mechanic 2020-12-03 20:36:35 -08:00
Dustin Carlino
12d0294692 Minimap tracker and new meters 2020-12-03 15:09:54 -08:00
Dustin Carlino
8531c8c773 Pick different vehicles, animate the player a bit 2020-12-03 14:23:30 -08:00
Dustin Carlino
2aaa7e4dee Split into multiple panels, add a pause screen, fix switching maps 2020-12-03 12:38:28 -08:00
Dustin Carlino
866d56ebcf Have a separate upzone phase before starting the level 2020-12-03 12:07:48 -08:00
Dustin Carlino
23222bd846 For the experiment, extract the code to color buildings based on type.
Also start to dismantle the old in-game upzone logic.
2020-12-03 11:32:37 -08:00
Dustin Carlino
544dda9c5c When looking for turn conflicts, treat reserved turns (created before
starting an uber-turn) the same as accepted turns, updating the
blocked-by graph and allowing a movement to start if a cycle is
detected.

No effect in montlake or lakeslice, and very slight progress at the
Krakow roundabout for #382 -- increasing a tiny 26 trips by 7:20 am.
2020-12-03 10:56:42 -08:00
Dustin Carlino
5dba8f5896 Make the blocked-by graph used for debugging and the API detect problems
from somebody about to start an uber-turn.
2020-12-03 10:21:43 -08:00
Dustin Carlino
ad37d612b4 Just attempt to reorganize code a little bit before a barrage of
changes.
2020-12-02 19:18:49 -08:00
Dustin Carlino
08d6f6987f Figure out when we pass a building along a road 2020-12-02 18:00:51 -08:00
Dustin Carlino
6a947ba3e9 Snap movement to roads. The collisions are funky, but it mostly works?
Temporarily breaks gameplay, because now we can't touch buildings.
2020-12-02 17:09:32 -08:00
Dustin Carlino
f57fb8f2f6 Run the experiment on the web 2020-12-02 13:44:10 -08:00
Dustin Carlino
0727619e18 Disable caching on Mac builds; something keeps breaking. [rebuild] 2020-12-02 13:20:43 -08:00
Dustin Carlino
a11646a6fc Overhaul building colors [rebuild] 2020-12-02 13:01:01 -08:00
Dustin Carlino
49459463b6 Add all the meters for the experiment. 2020-12-02 12:37:59 -08:00
Dustin Carlino
d37e86db6f Alter gameplay mechanics for the experiment after some playtesting sessions:
- no more last recharge station or cost to different houses
- energy based on presents carried
- instant recharge
2020-12-02 12:02:15 -08:00
Michael Kirk
727fe32fdd little typo in summaries table 2020-12-02 10:51:46 -08:00
Dustin Carlino
60117a64e8 Handle starting/ending in a zone when pathfinding, regardless of Dijkstra/CH implementation. #411
The import bug in Münster is still happening though! Still digging in.
(But regardless, this change fixes some old technical debt)
2020-12-02 10:42:01 -08:00
Dustin Carlino
17e850908c Reorganizing pathfinder code to prepare for sharing the start/stop-in-a-zone logic between the CH and Dijkstra implementation. #411 2020-12-02 09:22:16 -08:00
Dustin Carlino
69b14e444f Simpler abstutil APIs: return string errors immediately, don't make callers transform. We don't need to distinguish different error types anywhere. 2020-12-02 08:44:07 -08:00