Skip to content

Repository files navigation

idleVaction 🏝️

Bored at the poolside, have a companion! Help your companion traveler in this epic idle adventure along its holiday route. From bug-infested motels, to lush luxurious 7-star villas and private islands. How far can you make it?

You start as a broke, perpetually-drizzled-on tourist from the cold, damp, soggy Netherlands — armed with a poncho, a stroopwafel, and irrational optimism — and claw your way up the entire ladder of human vacation luxury to your own private island, upgrading everything: where you sleep, how you travel, your body, your charm, and eventually the staff who cater to your every whim.

It's a player-directed idle game (not a clicker): you choose what to focus on and which direction to grow — a simple world traveler, a luxurious vlogging backpacker, a crypto poolside lounger, an old-money connoisseur, or any blend. No monetization, no forced waits, ~20 active hours to the summit, and fully adjustable pacing.


📐 The plan

The full design + implementation plan is in docs/PLAN.md — an agile backlog of 30 phases (epics) × 10 features (stories) × 10 to-dos (tasks) = 3,000 tasks, plus the foundation docs:

  • Architecture — vanilla ES modules, GitHub Pages, localStorage, no deps (fully self-contained — the old Spectre/fonts CDN links are vendored/dropped).
  • Math foundation — the multi-level tier ladder, multiplier stack, Comfort, prestige — with worked examples.
  • Storyline — the ≥30-beat branching narrative (Traveler / Vlogger / Crypto / Connoisseur).
  • Epics overview — the canonical 30-epic list.
  • Ascension & skill tree — reset-for-power + permanent physique/character nodes.
  • Balancing & pacing — the 20h contract, tuning levers, the balance harness.

▶️ The prototype (it runs today)

A vertical slice of the design lives at the repo root — vanilla JS, zero third-party origins, no build:

# play it locally
npm run serve      # then open http://localhost:8080
#   (or just push to GitHub Pages — it's all static files)

# verify the economy headlessly
npm test           # js/dev/selftest.mjs → asserts (basics, run, ascension, save, offline)
npm run harness    # js/dev/harness.mjs → prints the pacing curve (greedy ROI island ≈ 10h57m,
                   #   a hard lower bound — the measured casual-tourist persona lands 21h20m)

It implements the core loop: the 8-tier income ladder, amenities + Comfort, five personal-growth skills, four build paths, the 30 story beats with the branching choice, the accommodation ladder (shed → island), ascension + Legacy + the permanent skill tree, generous offline progress bounded by the bank-account wallet (upgrade your account — Soggy Money Belt to Platinum Plus Ultra and beyond — to hold more; away income fills the wallet instead of leapfrogging the game), save/load/export/import with versioned migration, a speed control for pacing/testing, a debug panel, and an optional clicker (for small between-tick gains — never the fastest path).

The economy is fitted to the ~20-hour target: the greedy-optimal ROI harness lands the Private Island at ~10h57m — a hard lower bound; the measured casual-tourist persona (20-min check-ins + a flavor budget, js/dev/scenarios.mjs) lands 21h20m — with the story beats spread monotonically across the run and cash magnitude kept safely inside double. Every balance number lives in js/config.js. Getting here meant finding and fixing a finite-time singularity and an unbounded offline-income lump — the full investigations are in docs/math-proof.md (§1–§6, §11); the golden curve and remaining polish (even gate spacing, playtest) are in docs/05 §9.

🗂️ Repo layout

index.html            # entry (self-contained: css/vendor.css + our ES modules)
css/game.css          # our styles (framework-agnostic)
js/                   # config · util · math · state · engine · prestige · ui · main + data/*
js/dev/selftest.mjs   # headless balance harness / test suite
docs/                 # the full 3,000-task plan + foundation docs

No runtime dependencies. package.json (type: module) exists only for local tooling (node --check, npm test); GitHub Pages ignores it and serves the static files directly.

About

Bored at the poolside, have a companion! Help your companion traveler in this epic Idle adventure along its holiday route. From bug infested motels, to lush luxurious 7 star Villa's and private islands. How far can you make it?

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages