A benchmark in which language models design roller coasters that RollerCoaster Tycoon 2 builds, tests, and rates.
I'll start by loading the coaster tools.
{"max_results":15,"query":"coaster new_ride place_piece finish_and_test"}
{"file_path":"/home/sandbox/.claude/projects/-workspace/memory/rct2-coaster-scoring-levers.md"}1 ---
2 name: rct2-coaster-scoring-levers
3 description: "Measured scoring levers for the RCT2 coaster-building contest (MCP \"coaster\" tools) — the intensity-10 cliff and the mid-course brake trick"
4 metadata:
5 node_type: memory
6 type: project
7 originSessionId: 2e22e2bc-f0c5-4828-b26f-60e933cdc7da
8 modified: 2026-07-27T16:31:53.121Z
9 ---
10
11 In the RCT2 coaster contest (rounds started 2026-07-27), the reported `score` equals the ride's
12 `excitement` after a stock-similarity penalty. Measurements from round 2 (steel twister, ride_type 51):
13
14 - **Hard cliff at intensity 10.0.** Same 99-piece layout: I=8.42 → E=6.85; I=10.58 → E=5.14;
15 an early sloppy build at I=14.30 → E=1.97. Excitement is multiplied down in steps once
16 intensity crosses 10, so *target intensity 8–9.5 and never above 10*.
17 - **Mid-course brakes are nearly free excitement.** Inserting two `{"t":"brakes","speed":18}`
18 before the first corkscrew dropped intensity 10.22 → 7.63 with excitement *unchanged* at 6.74.
19 Max lateral G fell 3.03 → 2.38, max positive G 4.83 → 4.09. High-speed corkscrews were the
20 lateral-G source, not the banked turns.
21 - **Spend the headroom on… (1924 chars)
{"file_path":"/home/sandbox/.claude/projects/-workspace/memory/rct2-coaster-circuit-closure.md"}1 --- 2 name: rct2-coaster-circuit-closure 3 description: Geometry arithmetic for closing an RCT2 coaster circuit on paper before placing pieces 4 metadata: 5 node_type: memory 6 type: project 7 originSessionId: 2e22e2bc-f0c5-4828-b26f-60e933cdc7da 8 modified: 2026-07-27T16:32:06.965Z 9 --- 10 11 Closing the loop in the RCT2 coaster contest is pure bookkeeping; doing it on paper first meant 12 a 92-piece circuit closed on the very first `place_pieces` run with zero rejections. 13 14 Directions: 0=-x, 1=+y, 2=+x, 3=-y. Left turn cycles 2→1→0→3→2; right turn is the reverse. 15 `piece_geometry` only reports deltas for one facing — rotate them yourself as 16 (forward, left) offsets rather than re-querying per turn. 17 18 Key facts: 19 - **Height parity.** Any flat-to-flat sequence of 25°/60° pieces moves z by a multiple of 16, so 20 every flat run sits at `station_z + 16k`. `half_loop_up` + `half_loop_down` is the exception: it 21 enters flat and exits at down-25, netting **−8** after the levelling `down_25_to_flat`. That breaks 22 parity and makes the station unreachable — pair it with a second half-loop combo, or skip half 23 loops entirely (vertical loops and cor… (2140 chars)
Solid prior notes. Round 2 scored 6.85 (E=6.85, I=8.42, similarity 0.40 — no penalty). Let me first replay that known-good layout to bank a floor score fast.
{"dir":2,"ride_type":51,"x":34,"y":40}{"cursor":{"bank":0,"dir":2,"slope":0,"x":34,"y":40,"z":112},"ride_id":0}
{"pieces":["begin_station","middle_station","middle_station","end_station",{"chain":true,"t":"flat_to_up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25_to_flat"},"flat_to_down_25","down_25_to_down_60","down_60","down_60","down_60","down_60_to_down_25","down_25","down_25_to_flat","flat_to_up_25","right_vertical_loop","down_25_to_flat","flat_to_up_25","up_25","up_25","up_25","up_25","up_25_to_right_bank","banked_right_turn_5","banked_right_turn_5","right_bank_to_flat","flat_to_down_25","down_25_to_down_60","down_60_to_down_25","down_25","down_25_to_flat","flat_to_up_25","left_vertical_loop","down_25_to_flat","flat_to_… (1979 chars){"circuit_closed":true,"cursor":{"bank":0,"dir":2,"slope":0,"x":34,"y":40,"z":112},"placed_this_call":99,"total_placed":99}
{"bounds":{"max_tile_x":82,"max_tile_y":40,"max_z":504,"min_tile_x":26,"min_tile_y":30,"min_z":112},"placed_pieces":["begin_station","middle_station","middle_station","end_station",{"chain":true,"t":"flat_to_up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25_to_flat"},"flat_to_down_25","down_25_to_down_60","down_60","down_60","down_60","down_60_to_down_25","down_25","down_25_to_flat","flat_to_up_25","right_vertical_loop","down_25_to_flat","flat_to_up_25","up_25","up_25","up_25","up_25","up_25_to_right_bank","banked_right_turn_5","banked_right_turn_5","right_bank_to_flat","flat_to_down_25","down_25_to_down_60","down_6… (2883 chars)
Banked **6.85**. Now let me improve — my notes say drop height is the strongest lever and I have intensity headroom (8.42 vs the 10.0 cliff).
{"dir":2}{"deltas":[{"bank_out":0,"dir_out":2,"dx_tiles":1,"dy_tiles":0,"dz":0,"piece":"flat","slope_out":0},{"bank_out":0,"dir_out":2,"dx_tiles":1,"dy_tiles":0,"dz":0,"piece":"end_station","slope_out":0},{"bank_out":0,"dir_out":2,"dx_tiles":1,"dy_tiles":0,"dz":0,"piece":"begin_station","slope_out":0},{"bank_out":0,"dir_out":2,"dx_tiles":1,"dy_tiles":0,"dz":0,"piece":"middle_station","slope_out":0},{"bank_out":0,"dir_out":2,"dx_tiles":1,"dy_tiles":0,"dz":16,"piece":"up_25","slope_out":2},{"bank_out":0,"dir_out":2,"dx_tiles":1,"dy_tiles":0,"dz":64,"piece":"up_60","slope_out":4},{"bank_out":0,"dir_out":2,"dx_tiles":1,"dy_tiles":0,"dz":8,"piece":"flat_to_up_25","slope_out":2},{"bank_out":0,"dir_out":2,"dx_tiles":1,"dy_tiles":0,"dz":32,"piece":"up_25_to_up_60","slope_out":4},{"bank_out":0,"dir_out":2,"dx_tiles":1,"dy_tiles":0,"dz":32,"piece":"up_60_to_up_25","slope_out":2},{"bank_out":0,"dir_out":2,"dx_tiles":1,"dy_tiles":0,"dz":8,"piece":"up_25_to_flat","slope_out":0},{"bank_out":0,"dir_out":2,"dx_tiles":1,"dy_tiles":0,"dz":-16,"piece":"down_25","slope_out":6},{"bank_out":0,"dir_out":2,"dx_tiles":1,"dy_tiles":0,"dz":-64,"piece":"down_60","slope_out":8},{"bank_out":0,"dir_out":2,"dx_tiles":1,"d… (7346 chars)
Banked. Now v2: I'll trade my intensity headroom for a much bigger first drop (52 vs 36), then use a brake right at the bottom so the loop G-forces stay where round 2 had them. The extra 11 outbound tiles get balanced by 11 tiles of new airtime hills on the return leg.
{"dir":2,"ride_type":51,"x":34,"y":40}{"cursor":{"bank":0,"dir":2,"slope":0,"x":34,"y":40,"z":112},"ride_id":0}
{"pieces":["begin_station","middle_station","middle_station","end_station",{"chain":true,"t":"flat_to_up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25_to_flat"},"flat_to_down_25","down_25_to_down_60","down_60","down_60","down_60","down_60","down_60","down_60_to_down_25","down_25","down_25_to_flat"]}{"circuit_closed":false,"cursor":{"bank":0,"dir":2,"slope":0,"x":79,"y":40,"z":176},"placed_this_call":45,"total_placed":45}
Off by one `up_25` (29 not 30), so I'm 16z low. I'll absorb it with a brake + small hill rather than undo 11 pieces — that actually gives me a **54-unit drop**.
{"pieces":[{"speed":25,"t":"brakes"},"flat_to_up_25","up_25_to_flat","flat_to_up_25","right_vertical_loop","down_25_to_flat","flat_to_up_25","up_25","up_25","up_25","up_25","up_25_to_right_bank","banked_right_turn_5","banked_right_turn_5","right_bank_to_flat","flat_to_down_25","down_25_to_down_60","down_60_to_down_25","down_25","down_25_to_flat","flat_to_up_25","left_vertical_loop","down_25_to_flat","flat_to_down_25","down_25","down_25_to_flat"]}{"circuit_closed":false,"cursor":{"bank":0,"dir":0,"slope":0,"x":78,"y":33,"z":144},"placed_this_call":26,"total_placed":71}
Now the return leg — round 2's proven sequence plus the 12 tiles of new airtime hills that rebalance the longer outbound.
{"pieces":["flat_to_up_25","up_25","up_25_to_flat","flat_to_down_25","down_25","down_25_to_flat","flat_to_up_25","up_25_to_flat","flat","flat","flat_to_down_25","down_25_to_flat","flat_to_up_25","up_25","up_25_to_flat","flat_to_down_25","down_25","down_25_to_flat",{"speed":18,"t":"brakes"},{"speed":18,"t":"brakes"},"left_corkscrew_up","right_corkscrew_down","flat_to_down_25","down_25_to_flat","flat_to_up_25","up_25","up_25_to_flat","flat_to_down_25","down_25","down_25_to_flat","right_corkscrew_up","left_corkscrew_down","flat_to_up_25","up_25","up_25_to_flat","right_corkscrew_up","left_corkscrew_down","flat_to_down_25","down_25","down_25_to_flat","flat_to_down_25","down_25_to_flat",{"speed":13,"t":"brakes"},"s_bend_left","flat_to_right_bank","banked_right_turn_5","banked_right_turn_5","right_bank_to_flat",{"speed":10,"t":"brakes"},{"speed":10,"t":"brakes"},{"speed":10,"t":"brakes"},{"speed":10,"t":"brakes"}]}{"circuit_closed":true,"cursor":{"bank":0,"dir":2,"slope":0,"x":34,"y":40,"z":112},"placed_this_call":52,"total_placed":123}
Circuit closed at 123 pieces. Testing.
{"bounds":{"max_tile_x":94,"max_tile_y":40,"max_z":616,"min_tile_x":26,"min_tile_y":30,"min_z":112},"placed_pieces":["begin_station","middle_station","middle_station","end_station",{"chain":true,"t":"flat_to_up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25_to_flat"},"flat_to_down_25","down_25_to_down_60","down_60","down_60","down_60","down_60","down_60","down_60_to_down_25","down_25","down_25_to_flat",{"speed":25,"t":"brakes"},"f… (3330 chars)
6.97 — a gain, and intensity is still only 8.45, so I have real headroom. Let me spend it: raise the post-drop brake to 27, and swap one flat hill for a 4-piece corkscrew chain (same 6-tile footprint, net dz 0) to go from 5 to 7 inversions.
{"dir":2,"ride_type":51,"x":34,"y":40}{"cursor":{"bank":0,"dir":2,"slope":0,"x":34,"y":40,"z":112},"ride_id":0}
{"pieces":["begin_station","middle_station","middle_station","end_station",{"chain":true,"t":"flat_to_up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25_to_flat"},"flat_to_down_25","down_25_to_down_60","down_60","down_60","down_60","down_60","down_60","down_60_to_down_25","down_25","down_25_to_flat",{"speed":27,"t":"brakes"},"flat_to_up_25","up_25_to_flat","flat_to_up_25","right_vertical_loop","down_25_to_flat","flat_to_up_25","up_… (2418 chars){"circuit_closed":true,"cursor":{"bank":0,"dir":2,"slope":0,"x":34,"y":40,"z":112},"placed_this_call":121,"total_placed":121}
Closed first try at 121 pieces.
{"bounds":{"max_tile_x":94,"max_tile_y":40,"max_z":616,"min_tile_x":26,"min_tile_y":30,"min_z":112},"placed_pieces":["begin_station","middle_station","middle_station","end_station",{"chain":true,"t":"flat_to_up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25_to_flat"},"flat_to_down_25","down_25_to_down_60","down_60","down_60","down_60","down_60","down_60","down_60_to_down_25","down_25","down_25_to_flat",{"speed":27,"t":"brakes"},"f… (3322 chars)
Intensity spiked to 16.4 — four back-to-back corkscrews were far too aggressive. v2's 6.97 is still banked. Let me back off to v2 and make one clean, isolated change: deepen the drop to 60 units while the brake still clamps everything downstream to exactly v2's speeds.
{"dir":2,"ride_type":51,"x":34,"y":40}{"cursor":{"bank":0,"dir":2,"slope":0,"x":34,"y":40,"z":112},"ride_id":0}
{"pieces":["begin_station","middle_station","middle_station","end_station",{"chain":true,"t":"flat_to_up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25_to_flat"},"flat_to_down_25","down_25_to_down_60","down_60","down_60","down_60","down_60","down_60","down_60","down_60_to_down_25","down_25","down_25_to_flat",{"speed":25,"t":… (2567 chars){"circuit_closed":true,"cursor":{"bank":0,"dir":2,"slope":0,"x":34,"y":40,"z":112},"placed_this_call":133,"total_placed":133}
{"bounds":{"max_tile_x":99,"max_tile_y":40,"max_z":680,"min_tile_x":26,"min_tile_y":30,"min_z":112},"placed_pieces":["begin_station","middle_station","middle_station","end_station",{"chain":true,"t":"flat_to_up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25_to_flat"},"flat_to_down_25","down_25_to_down_60","down_60","down_60"… (3487 chars)
**6.99** — new best, intensity still 8.45. Let me lock in styling now (it follows whatever ends up best), then use remaining time on one more experiment.
{"name":"Ashfall","rail_color":"bright_yellow","support_color":"black","track_color":"bright_red"}{"presentation":{"name":"Ashfall","rail_color":"bright_yellow","support_color":"black","track_color":"bright_red"},"score":6.989999771118164,"score_changed":false,"styled":"best_result"}
Now one last experiment: brake to 27 and relocate the five filler flats from the slow end-section into the fast mid-course, to lift average speed.
{"dir":2,"ride_type":51,"x":34,"y":40}{"cursor":{"bank":0,"dir":2,"slope":0,"x":34,"y":40,"z":112},"ride_id":0}
{"pieces":["begin_station","middle_station","middle_station","end_station",{"chain":true,"t":"flat_to_up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25_to_flat"},"flat_to_down_25","down_25_to_down_60","down_60","down_60","down_60","down_60","down_60","down_60","down_60_to_down_25","down_25","down_25_to_flat",{"speed":27,"t":"brakes"},"flat_to_up_25","… (2540 chars){"circuit_closed":false,"cursor":{"bank":0,"dir":0,"slope":0,"x":34,"y":36,"z":112},"placed_this_call":120,"rejection":{"error":"Raise or lower land first","index":120,"piece":"flat_to_down_25"},"total_placed":120}
That rebuild's return leg ran into the ground and I'm nearly out of budget — but 6.99 is already banked and styled. Confirming the winner:
{"bounds":{"max_tile_x":99,"max_tile_y":40,"max_z":680,"min_tile_x":26,"min_tile_y":30,"min_z":112},"placed_pieces":["begin_station","middle_station","middle_station","end_station",{"chain":true,"t":"flat_to_up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25"},{"chain":true,"t":"up_25_to_flat"},"flat_to_down_25","down_25_to_down_60","down_60","down_60"… (3601 chars)
Confirmed banked and styled. Let me record the two new findings for the remaining rounds.
{"file_path":"/home/sandbox/.claude/projects/-workspace/memory/rct2-coaster-scoring-levers.md","new_string":"Round 3 (best 6.99, I=8.45) added two more measurements:\n\n- **The brake-clamp trick works.** Put a `brakes` at the bottom of the first drop and the whole\n downstream layout runs at *identical* speeds no matter how tall the lift is. That decouples\n `highest_drop`/`max_speed` (which score) from the G-forces of everything after (which cost\n intensity). Lift 29→33 `up_25` + 5→6 `down_60` took highest_drop 52→60 with intensity\n unchanged at 8.45.\n- **Excitement saturates around 7.** Going drop 36→52→60, drops 9→11, airtime 65→91, length\n 672→839 moved E only 6.85→6.97→6.99. Past ~6.9 these levers return ~+0.02 each; don't burn a\n round chasing them.\n- **Back-to-back corkscrews are an intensity bomb.** Swapping one flat hill for a 4-piece\n corkscrew chain (`right_up,left_down,left_up,right_down`, net 6·forward, dz 0 — a drop-in\n replacement for a 6-tile straight) took inversions 5→7 but intensity 8.45→**16.44** and\n excitement 6.97→**1.63**. Inversions must be spread out, never chained.\n\n**Why:** the whole game is maximising excitement *subject to* staying … (1360 chars)The file /home/sandbox/.claude/projects/-workspace/memory/rct2-coaster-scoring-levers.md has been updated successfully.
**Ashfall** — steel twister, 133 pieces, excitement **6.99** (intensity 8.45, nausea 4.47), up from 6.85 last round. What worked this round: - **Banked early**: replayed round 2's proven layout first for a guaranteed 6.85 floor, then experimented freely. - **The brake-clamp trick** (new finding): a `brakes` at the bottom of the first drop makes the whole downstream layout run at identical speeds regardless of lift height. That let me push the first drop from 36 → 60 units and max speed to 2.06M while intensity stayed pinned at 8.45. - Balanced the longer outbound leg with matching airtime hills on the return leg, so the circuit closed on the first try at 121 and 133 pieces. What failed: swapping a flat hill for a 4-piece corkscrew chain took inversions 5→7 but detonated intensity to 16.44 and excitement to 1.63 — chained inversions are far worse than spread ones. The final experiment (relocating filler flats) ran into the ground mid-build and was abandoned; it cost nothing since 6.99 was already banked and styled. Worth flagging for the next rounds: excitement is clearly saturating. Drop 36→52→60, drops 9→11, airtime 65→91 and length 672→839 together moved excitement only 6.85→6.97→6.99. There's still ~1.5 of unused intensity headroom, so the remaining upside probably isn't in these levers — it likely needs a structurally different layout rather than more of the same. I've saved both findings to memory.