117 lines
7.8 KiB
Markdown
117 lines
7.8 KiB
Markdown
# PROCITY — THE FRONTIER (what is genuinely not figured out)
|
||
|
||
*Fable (m3), 2026-07-17. John's challenge, verbatim: "there is heaps more to figure out — all
|
||
the systems are set you say?" He's right. This doc is the honest map: what 29 rounds built is
|
||
the WORLD and the PIPELine; the GAME — the reason a stranger would play for an hour — is
|
||
mostly unfigured. Nothing here is chartered; it's the space the next epochs get picked from.
|
||
Sibling docs: V2_IDEAS (the old parking lot), V6_LIVING_STREET (chartered, in flight).*
|
||
|
||
## What is actually solid (don't re-litigate)
|
||
|
||
Procedural + real towns · enterable interiors · citizens with identity · gigs · weather/tram ·
|
||
the dig with real/mint/parody stock · the tier ladder + offline law · the two-studio pipeline ·
|
||
the QA culture. The platform is genuinely done-ish. Everything below stands ON it.
|
||
|
||
## THE BIG ONE — it isn't a game yet
|
||
|
||
You walk, you dig, you buy. Then you close the tab and it never happened. The whole loop that
|
||
makes digging MEAN something is unbuilt:
|
||
|
||
1. **Persistence.** No saves. The wallet resets, the collection vanishes, "gone this session"
|
||
is the only memory. (localStorage fits the seeded-everything law trivially — the world
|
||
regenerates from seed; only the DELTA needs saving: cash, owned items, day. This is days of
|
||
work, not an epoch, and it unlocks everything below.)
|
||
2. **The collection.** You buy records and they go... nowhere. No crate at home, no album/
|
||
shelf UI, no "look what I found in Katoomba." The collection IS the trophy case of the
|
||
whole game and it does not exist.
|
||
3. **The thrill loop.** thriftgod's `mint()` gem bands exist as DATA (price bands, gems,
|
||
CBD-distance curation) and drive NOTHING. No underpriced gem in a dusty crate, no "is this
|
||
worth more than they're asking", no sell/flip loop, no wantlist hunting across towns. The
|
||
entire reason op-shopping is exciting in real life is un-simulated.
|
||
4. **Why today matters.** No day structure — no opening hours pressure (hours exist! nothing
|
||
makes you race them), no end-of-day, no "the gig starts at 9, the shops shut at 5, choose."
|
||
The clock is scenery.
|
||
5. **The player.** No hands, no home, no inventory UI beyond a number, no character. Who are
|
||
you in this town?
|
||
6. **Onboarding.** A stranger at digalot.fyi/procity gets pointer-lock and silence. The first
|
||
five minutes are unfigured entirely.
|
||
|
||
## Chartered but unbuilt (in flight or waiting)
|
||
|
||
- **v6 LIVING STREET** — spikes gated on footage; then clips-at-scale, personas, footpaths +
|
||
occasional cars, generated bodies.
|
||
- **Option B** — real reservation holds (John's hold budget).
|
||
- **Tier-2 auto-discovery** — needs a reachability contract.
|
||
- **The editor/override layer** (V2_IDEAS, still the best long-game idea: hand-author any shop
|
||
interior over the procedural base).
|
||
- **Multiplayer presence** (see who's digging the same town).
|
||
|
||
## Unowned design questions (nobody has even sketched these)
|
||
|
||
- **What is a session?** 20 minutes? A day-cycle? A town per sitting?
|
||
- **The economy loop:** buy low → ??? → profit. Sell where? To whom? GodBay (thriftgod's
|
||
auction sim) is sitting right there as the obvious answer and no design connects them.
|
||
- **Cross-town play:** 23 towns exist; nothing makes you travel. Regional wantlists? A gem
|
||
rumor system? The tram/train BETWEEN towns?
|
||
- **The gig layer as gameplay:** you can attend a gig; you can't book one, play one, or care
|
||
about one. 90sDJsim overlap sits unexplored (DJ the venue?).
|
||
- **Music identity:** procedural beds exist; a game this specific deserves a sound.
|
||
- **The 90s-ness:** it's in the fabric (video shops, milk bars) but no system USES the era —
|
||
no phone-free navigation puzzles, no street-press gig guide, no mixtapes.
|
||
|
||
## THE THIRD DIMENSION + TEXTURE LIFE (filed 2026-07-18 — John's Perlin question, answered from the code)
|
||
|
||
**The ruling that frames this section:** world *structure* stays on the semantic hash-stream
|
||
system (`prng.js` — `seedFor(citySeed, kind, id)`, independently-keyed streams per entity).
|
||
That architecture is why 31 rounds of features never moved a golden: a draw added to one
|
||
stream shifts no other. Perlin answers a different question — a *continuous* value over
|
||
space/time — and it enters the toolbox only where the question really is continuous. When it
|
||
does, it seeds from the same citySeed keying: deterministic, gate-able, no exceptions.
|
||
|
||
Candidates, ranked by honest cost:
|
||
|
||
1. **TERRAIN / ELEVATION — the headline, epoch-scale, chartered as a v8+ candidate.**
|
||
Everything is flat, which is *wrong for the real map*: Katoomba is a mountain town rendered
|
||
as a billiard table. Per the real-map DNA, the primary source is REAL elevation (SRTM /
|
||
contour data for each town bbox, the same discipline as the roads fetch) — noise is only
|
||
the infill between samples, never the shape of a real hill. **The cost is named now so
|
||
nobody charters it lightly:** terrain touches everything — roads follow grades, buildings
|
||
need foundations and steps, footpaths slope, the chunk streamer and the walkers and every
|
||
budget meet a Y axis, and the classic covenant needs a flat-forever fence. This is an
|
||
epoch with an alpha/beta/close arc of its own, not a round.
|
||
2. **Sky / cloud domes — cheap, near-term (v6/v7 polish).** Skies are baked textures today; a
|
||
seeded FBM dome gives every day its own weather-shaped sky, composes with the existing
|
||
weather states, and is one lane's item (B, lighting).
|
||
3. **Wear & grime — cheap, high-charm (E/C canvas painters).** Seeded value-noise for sleeve
|
||
ring-wear, facade sun-fade, footpath staining — per-item, deterministic, and exactly the
|
||
90s patina the parody sleeves deserve. Pairs with the beta's price-guide work (a worn
|
||
sleeve *reading* worn next to its condition grade).
|
||
4. **Crowd ebb (LIVING STREET track, D).** A slow 1D noise curve modulating street density
|
||
across the day — mornings trickle, arvo swells — richer than uniform draws, one stream,
|
||
identity-safe.
|
||
|
||
5. **THE VERNACULAR KIT (filed 2026-07-18, John's idea, source corrected) — buildings that
|
||
feel real.** The town's massing is same-y boxes; the fix is **15–20 parametric Aussie
|
||
vernacular archetypes** (Queenslander, Federation cottage, terrace row, weatherboard
|
||
shopfront + verandah, deco corner pub, brick milk bar, fibro shack, tin warehouse…) with
|
||
seeded knobs — width, storeys, verandah depth, roof pitch, parapet, tint, and the wear
|
||
noise from item #3 above. **Source ruling: NOT Google Maps 3D** (licence-fatal — the one
|
||
thing the provenance spine must never touch — and photogrammetry mush at house scale
|
||
anyway). Instead: (a) **OSM/Overture building footprints + heights** for the real towns —
|
||
ODbL, the licence and pipeline we already ship, one more fetch class under the standing
|
||
authorization; (b) the kit designed from Street View *reference* (looking is not
|
||
extracting) and built parametrically on B's existing instanced-attribute machinery, which
|
||
already varies tint/hours per instance. Real footprints place real shapes on real streets;
|
||
the kit + knobs cover everything unfootprinted. Pairs with terrain as the two halves of a
|
||
future "the streetscape gets real" epoch — but unlike terrain, the kit is INCREMENTAL
|
||
(archetype by archetype, budget-measured, classic fenced), so it could also drip in as
|
||
B/E polish rounds. Goldens untouched either way (plan hashes don't see meshes); budgets
|
||
re-measured per archetype.
|
||
|
||
## The honest sequencing opinion (Fable's, not a ruling)
|
||
|
||
The private-test deploy is the design instrument: John walks the game cold and writes down
|
||
every "why can't I..." — that list IS the v7 charter input. My candidate for v7 once v6's
|
||
spikes land: **THE GAME (persistence + collection + the thrill loop + a day that matters)** —
|
||
it's the smallest set that turns the platform into something a stranger plays twice.
|