← Back to the workshopRESEARCH & MODEL CONTRACT · OCTOBER 20, 2026
A falling weight. Many moving decisions.
This workshop uses a coupled 2D rigid-body simulation. A shot emerges from gravity, mass, inertia, contacts and joints. No launch-velocity preset, ideal launch angle, or range bonus is applied. The catalog contains 48 equipment items across 12 slots, 23 mechanical tuning controls, and 11 volunteers. These are game prototypes, not structural engineering specifications.
Five foundations, different motion
| Mechanism | What changes physically | In this game |
|---|
| Anchored | A fixed axle transfers reaction forces into its foundation. | Static foundation and a revolute axle. The counterweight can still be fixed or hinged. |
| Unanchored skids | Foot friction and stability determine sliding or tipping. | Finite-mass frame with ground contact; no fixed joint to the world. |
| Wheeled | The whole frame can translate; wheel inertia and rolling losses change energy transfer. | Two dynamic wheels on revolute joints. Radius, mass, grip and brake torque are adjustable. Wheels do not provide a range multiplier. |
| Walking arm | A tilting support changes the pivot’s position and can switch the contacting foot. | A freely rocking triangle and arm, with actual ground contacts and an initial lean. This is a planar approximation of the walking family, not an exact replica of every Stapleton geometry. |
| Floating axle | The axle travels horizontally while the counterweight follows a vertical guide. | A dynamic carriage on a horizontal prismatic joint and a vertically constrained counterweight. Track travel is limited by frame width. |
MIT’s mechanics project explicitly treats beam and sling length as coupled variables and asks students to derive the wheeled machine’s equations. The moving chassis is part of the dynamics. MIT Classical Mechanics II, project follow-through.
Jonathan Stapleton describes the walking arm’s pivoting support, initial tilt, gripping feet and tuning string. Its mechanism is distinct from simply putting wheels under an ordinary frame. Our walking support preserves the moving-pivot principle and the role of its initial lean. Stapleton’s first-person account in Make.
The parts and their variables
| Assembly | Player choices | Physical consequences |
| Throwing beam | Material, long arm, short arm, thickness | Leverage, center of mass, distributed mass and rotational inertia. Solid square-section mass follows density × volume. Bending overload is approximated from sling load and counterweight torque. |
| Frame | Height, base width, frame mass, cross braces, tower capacity | Ground clearance, counterweight fall, overturning resistance and recoil. Braces add fixtures and mass. |
| Foundation | Anchors, skids, wheels, walking triangle, floating rails | Different constraints and available directions of motion. |
| Feet | Foot grip | Coulomb contact friction affects sliding and walking contact. |
| Wheels | Radius, individual wheel mass, brake/rolling loss | Rolling inertia, axle height and dissipative torque. Tires use the selected grip. |
| Walking support | Initial lean, footprint, frame height, grip | Initial potential energy, tipping direction, contact transitions and moving axle path. |
| Axle | Wood, bronze, roller or precision bearing; axle radius | Load-dependent opposing friction torque. Larger axle radius increases the friction lever. |
| Counterweight | Basket capacity, fill mass in grams, stone/sand/steel | Gravitational energy and momentum. Density changes visible volume and rotational inertia at equal mass. |
| Counterweight joint | Fixed or freely hinged; hanger length; hinge friction | Rigid mass turns with the beam; a hinged mass has its own pendulum motion. Floating machines use their vertical guide. |
| Pouch | Six sizes, opening width, cargo capacity | Volunteer fit and moving cloth mass. A whale cannot fit the starter pocket. |
| Launch trough | Timber or waxed lining, guide length and deck height | A physical support fixture collides with the payload. Surface friction affects the initial slide. Draw-down stops before the arm passes through the guide. |
| Cords | Length, twine/hemp/steel/titan material | Sling phase, moving cord mass and breaking load. The rope constraint pulls, but cannot push. |
| Release finger | Pin angle, length, surface friction | The loop must slide along the pin before freeing the pouch. Pin bend is relative to the beam, not a selected projectile angle. |
| Winch and trigger | Winch output, draw-down angle | Preparation time is estimated lifting work / winch power. Draw-down changes the cocked geometry. Removing the latch begins a passive gravity-driven throw. |
| Volunteer | Species/individual mass, length and width | Inertia, required pouch size, drag area and ground contacts. Mass is expressed in grams and converted to kilograms for forces. |
| Atmosphere | Creative wind and air-resistance switch | Quadratic drag relative to wind. Adventure always uses calm air and the same gravity. |
A hinged counterweight has an extra degree of freedom; its trajectory differs from a weight rigidly attached to the beam. NOVA’s reconstruction explanation. Research on trebuchet scaling emphasizes interacting mass and geometric ratios, rather than one universally best lever ratio. Horsdal, scaling and optimization. Bearing and hinge friction are real energy sinks; their effects depend on internal loads. Horsdal, internal friction.
From 25 g to 100,000,000 g
The starting field mouse is 25 g. Late examples use a 220,000 g tiger, 250,000 g brown bear, 5,000,000 g elephant and 100,000,000 g blue whale. These are representative individual masses chosen for the game, not claims that every member of a species has that mass. Larger individuals need purchased pouch, cord, beam, frame and ballast capacities.
Species size references: Smithsonian: tiger, National Park Service: brown bear, Smithsonian: elephant, and NOAA: blue whale. Illustrations are original game artwork; colliders are approximate capsules.
The giant-tree revision
The current starter tree is 800 m tall and its trunk is 280 m wide. Its doorway and home branch are at 600 m, still 75% up. The five altitude bands scale to 0–240, 240–480, 480–720, 720–960 and 960–3,000 m; the low-gravity transition is now 900–1,040 m. A world-space crown, layered forest, editable boughs and foliage fields stay proportional in whole-tree and close views.
Leaves are pass-through interaction areas with cumulative path-dependent drag; sap removes 99% of speed once per entry. Both support concave polygons and circles, swept collision checks and future critter resistance. Gravity continues, and leaves never create a rigid floor. The starter includes 267 editable pieces and 79 fixed-size enemies. Branch/Extend, Slope, Leaves and Sap tools complement Polygon, Eraser, Copy and Undo. Previous authored v2 maps remain available without replacing their geometry.
Slower swing playback
The actual fixed-step mechanism now plays in cinematic time: the starter’s 0.525 simulated seconds of swing are shown over about 1.375 seconds at normal playback. The release remains 39.08° and 22.00 m/s. A 45 ms release beat and bounded 25–50 ms impact beats make contact easier to read; normal flight speed eases back in. This changes presentation timing, not gravity, launch energy or the physics measured by the readouts. Playback speed still multiplies the chosen pace. Large rigs use a less extreme slowdown, and stalled builds return to normal pacing.
The compact starter and scale contract
The current Acorn Flyer is a complete free kit: 1.20 m from ground to axle, 1.04 m long arm, 0.26 m short arm, a 20 mm square oak beam, a 6,000 g hinged counterweight, 0.96 m cords, bronze bushings, a polished release finger, an Acorn crank wheel, a 150 g leaf pocket and a 1.6 m wooden trough. The full-draw pin setting is −40°. The 25 g mouse leaves at about 39.1° and 22.0 m/s; the 100 g chipmunk leaves at about 59.3° and 14.6 m/s. Flat-ground ranges including slide are roughly 22 m and 13 m respectively. Earlier custom 3 m towers and purchased geometry stay intact. The playable Grove adds altitude and authored collisions, so distance depends on the map.
One metre has the same world scale for the machine, animals, trajectory and scenery. Distance is forward displacement from the loaded pouch. Animals are drawn within their catalogued length × width silhouette bounds, and their capsule colliders use those same extents. The camera frames the rig during setup, then smoothly zooms to the released animal and locks its position in the viewport. There is no magnifying-glass bubble. Setup now frames the raised compact rig at roughly 40–50% of viewport height, preserving a single world scale for the stand, volunteer and basket.
The field mouse is a selected game individual, 25 g and 18 × 5.5 cm; the chipmunk is 100 g and 26 × 9 cm. University of Michigan accounts give total mouse lengths of 119–222 mm and eastern chipmunk lengths of 255–266 mm, with chipmunk masses of 66–115 g. The lengths and representative masses are informed by these accounts; widths are explicit approximate tucked-pose model dimensions, not published species-wide measurements. Tail and ear poses are stylized. Animal Diversity Web: deer mouse; eastern chipmunk.
The release angle comes from the sum of arm-tip and sling-relative velocities, so setting a pin to 40° does not mean the animal launches at 40°. Virtual Trebuchet’s release-angle explanation. The optional “Tune a soaring arc” tool runs the current build at full draw across candidate pin settings, selects a useful upward release, and fits that pin bend. It does not change flight velocity or guarantee a good result for an underpowered or overloaded build.
The winch limits the arm to its available deck clearance. Loading positions include collision clearance; touching the trough during winding is allowed. The pin loop cannot start sliding until the payload has lifted clear and is moving. Settling ends a shot only after release and sustained rest. A low, ground-loaded regression build is exercised in the automated suite.
What is simulated, and what is simplified
The live game uses 8.825985 m/s², exactly 10% lighter than its former 9.80665 m/s² baseline. Hardware, winch work, bearing loads, rope sag and payload motion share this baseline. In the Grove, the released animal transitions smoothly to 14% of the lowered baseline (1.2356379 m/s²) between 900 and 1,040 m altitude; air resistance fades out by 1,040 m. This is an explicit arcade space region, not an Earth-atmosphere model. Forces and torque use SI units internally. Similarity normalization keeps very large machines numerically tractable: x = L·x′, t = √L·t′, m = M·m′. This preserves gravity and the real time/velocity conversion; it is not a hidden power boost. The solver advances at fixed normalized steps with additional velocity/position iterations.
The animal keeps its instantaneous velocity at separation. Pouch and payload mass split at that same velocity; the empty pouch remains on a cord. Drag and ground losses act during flight and landing. A calm-air energy guard rejects numerically explosive launch configurations instead of awarding impossible range. It also audits flat benchmark flights. Grove flights use low-gravity regions and explicitly powered enemy bumpers after release, so that closed-system energy check does not apply after separation in an edited world. Coincident frame, beam and hanger parts pass in separate out-of-plane lanes, while their ground contacts remain active.
Explicit limitations: no 3D twisting, elastic beam flex, fiber-by-fiber rope or cloth simulation, detailed ring contact, wheel suspension, soil deformation, fatigue, variable knots, arm taper, or full-body animal articulation during flight. The ring is an idealized tension/friction slide. Rope is tension-only and inextensible in the physical solver; its mass is lumped with the pouch. Two lightweight Verlet strands draw gravity sag, slack and the released free end. These display strands do not inject force into the solver; they are not a distributed-mass rope simulation. Beam failure uses a simplified overload threshold and detaches the arm at the axle, not a fracture mesh. Holding the clearing now advances a visible, quasi-static ratchet: the supported arm, hanger, pouch and floating carriage move into a drawn pose. The rate has a 1.65-second governor and is capped by counterweight lifting work divided by winch power. Letting go removes the support and starts the existing rigid-body solver from that actual pose, with zero launch impulse. No operator is drawn. A massless hauling line joins the front wheel, guide pulley and basket; its free-span change drives visible drum rotation. On unlatch the hauling hook disengages. Preparation uses three jointed physical body regions and a grab constraint at the picked point; released parts fall and collide with the open basket. Once seated, they transfer at rest into the existing launch capsule. The model does not simulate winch gear contact, rope elasticity or a fully dynamic winding drivetrain. These assumptions are exposed rather than represented as complete engineering accuracy.
Fixed sizes and held cartoon poses
A standard Archive beetle is always 16 cm across and a Leaf hopper is always 14 cm, comparable to the 18 cm mouse. The Elder beetle, Royal hopper, Crown raincloud and Ancient fungus are distinct, larger palette entries. Existing v2 maps normalize per-copy enemy radii on import and load. The editor locks enemy dimensions, while generic collision shapes remain freely editable. Direct vector drawing at the current camera scale keeps small and large models crisp.
Every volunteer has six held cartoon cels: ready, excited flight, alternating BONK/OOF impacts, seeing stars and a dazed grin. Meaningful contacts accumulate cosmetic bandages, bruises and tooth gaps over a throw; resting chatter is ignored and a new launch resets the performance. The impact hold lasts 230 ms, followed by a short recovery. Artwork and its stepped orientation do not change collision geometry, forces, gravity or rewards. Pause freezes reaction timing. Original synthesized contact cues add rubbery slapstick punctuation.
The game loop
Every run starts on the home branch outside a door in the Grandfather Tree, 600 m above the forest floor and 75% up the 800 m starter tree. Map coordinates use metres relative to this fixed launch origin. Adventure starts with the mouse and the complete tuned Acorn Flyer kit. Existing untouched starter recipes migrate once; custom builds, Bells, owned items and saved blueprints are preserved. The starter can also be fitted from the workbench. Land, collect independently calculated points and Bells, buy equipment, and rebuild. Purchases and parcel choices unlock and fit parts immediately, while a persistent live rig preview shows the result. Buying capacity does not silently add counterweight fill; the player selects its actual mass. Illustrated equipment cards replace part and volunteer dropdowns; weak builds remain possible. Creative mode unlocks the whole inventory, uses the same physics, and never awards Adventure Bells. Its separate free shop ledger exercises real equipment fitting, randomized deals, vouchers, parcels and rerolls without spending Adventure progress. Purchases create bounded sparkles at the edited part and a short synthesized chime. Blueprints can cross modes only when Adventure owns their parts. Progress and exported backups are separate from the original mechanism-lab save.
The custom workshop is the home page. The World Workshop map editor now controls this game through a shared Grove v2 document. It supports simple concave polygons, freehand paths, circles, editable vertices, fourteen named encounter types with fixed diameters and separately named large variants, materials, depth layers and independent collision toggles. Concave regions are decomposed into physical fixtures; tiny details that fall below the solver’s polygon welding threshold keep their boundary edges instead of becoming fallback boxes. Decorative foreground and background branches can cross the view without collision. Sky, clouds and distant canopy layers use parallax, while collision geometry shares the animal’s world transform. Five connected areas run from forest floor through lower canopy, Grandfather Tree, open sky and low-gravity space. The previous articulated-body game and its v1 map save remain separate in the original mechanism lab.
Map saves and creative playtests
Edits autosave in the current browser. The embedded Creative playtest receives the validated map from its same-origin parent editor and never writes Adventure progress. Exported JSON and portable snapshot links transfer layouts without local project files. Shared snapshots open without overwriting the recipient’s saved map; “Edit a copy” opts into editing and saving locally. These are portable snapshots, not collaborative cloud saves. Import validation rejects malformed geometry before replacing existing data.
Shop study: Balatro, translated into the grove
Balatro presents a small set of random offers, a paid reroll, separate packs, and vouchers. Its standard reroll starts at 5 and rises by 1; rerolling does not replace packs or vouchers. Mechanical reference: Balatro Wiki: The Shop. The publisher describes the role of combinable upgrades and vouchers in building a run: Playstack: Balatro. LocalThunk’s development timeline discusses iterations on the upgrade and currency systems. Reviewed October 20, 2026; the implementation takes inspiration from the established shop loop rather than unreleased 1.1 changes.
Our adaptation is the Acorn Exchange: three equipment cards, one volunteer, one permanent grove voucher and a parcel containing three equipment choices. Buy one possibility at a time, or open a parcel and keep one card. A completed, collected Adventure throw refreshes stock and resets the reroll price. Closing or reloading the shop preserves offers, pack choices and the rising reroll cost. Affordable upgrades are weighted more heavily (free starter grants do not count as money earned), while every unowned item remains possible. Lucky penny lowers the base reroll price, One more shelf adds an equipment offer, and Friends of the grove gives a lasting discount. All art, cues, names and code are original to this project.
Full-screen controls, sound and performance
The browser viewport is the playfield. Hold the clearing with a mouse or finger, or hold Space; let go to launch. Reaching full draw holds the ratchet until release. A short accidental tap does not fire. Pointer cancellation, lost capture, Escape, app switching and opening a panel cancel a held gesture. Modal panels freeze the active simulation; hiding the game or switching applications also pauses it.
The original forest and creature drawing code supplies the world and shop illustrations. Portrait screens use a compact HUD and two-column card shelves. Only overlays scroll. Sound uses gesture-unlocked Web Audio synthesis: ratchet ticks, a ready bell, latch and sling cues, pinball bounce tones, distance chimes, pack reveals and Bell collection. Voices are bounded, cues are throttled, mute and volume persist, and backgrounding silences audio. Rendering skips idle frames, caps backing pixels in Auto mode, and offers 30 fps battery saver; physics time steps remain independent of drawing quality. No device-independent perfect-frame-rate guarantee is implied.