051a111855
- Wrap main.js body in async main() to eliminate top-level await deadlock in Rollup - Add npc.lastPlan so clouds persist after hidden arrival/destruction until analytic envelope expires - Add maxEnvelopeArrival() helper; rewrite playerClouds() to use lastPlan for envelope-gated clouds - Block markSeen() while player is mid-lane (no observation from hyperspace) - Pass obsSys=null to playerClouds when player is in a lane (don't exclude visible band from hyperspace) - Galaxy map clicks now select-only (intel); jumps via Nav buttons / gate diamonds only - Add preview script, favicon no-op, .playwright-mcp/ and *.png to .gitignore, update README controls text
1.4 KiB
1.4 KiB
Probability
A neon space-trading sim where unobserved ships are probability waves.
Inspired by Space Rangers. Every NPC trader plans real routes and real trades, but between observations its position is a probability cloud smeared along the jump lanes — and so is your knowledge of every market more than a news-day away. Observation collapses the cloud: enter a system and ships condense out of the static; dock at a planet and its prices become real.
Under the hood the universe is deterministic ("hidden variables" drawn lazily from per-ship seeds) — the probability is yours, not the universe's.
Run
npm install
npm run dev # play at http://localhost:5173 (add ?seed=anything for a new galaxy)
npm test # headless sim test suite
How to play
- You start docked. Buy what a planet produces cheap, sell where it's consumed.
- Sidebar: navigation, market (when docked), cargo, intel, log. Space = pause, Tab = map/system view. Move by clicking planets and gate diamonds in the system view, or use the Navigation buttons. Click systems on the galaxy map for price intel — note the age tag, old news lies.
- Lanes are tinted by pirate danger. Dangerous shortcuts are profitable until they aren't.
- Orange smears on the map are ships you've met: where they probably are now.
- Reach 100,000 credits to win. Lose your ship and it's over.