jpmschweitzerandClaude 0a0419abcc feat(client): invert the Atlas rung relation — rung sets extent, not spacing
A rung used to fix the gridunit SPACING, with the canvas extent falling out
of spacing x cell count. That is why the top of the ladder was unusable: at
REGION_M spacing a viewport-sized canvas spanned ~251,658 km — six times
around a rocky body — so the Region rung capped to the body and redrew the
Global picture pixel-for-pixel. "Global and region look the same" was not a
rendering bug; it was this relation, stated in metres.

Inverted: a rung fixes the EXTENT and the spacing falls out of the canvas
size. The shorter viewport axis spans exactly one cell of the rung's level,
so a widescreen window shows more ground on the long axis rather than less
on the short one. Every rung now shows the ground its name promises —
Region 262x466 km, District 4.1x7.3 km — and the canvas cell count is
viewport-driven and identical at every rung, so derive cost no longer varies
with depth and resize is free.

Consequences that fell out of the inversion rather than being chosen:

- Region leaves the orbital derive set. It was envelope-only because at
  251,658 km nothing finer made sense; at 262 km it is a genuine provincial
  map and takes the full courses-aware derive. Region having no rivers at
  all was much of why the top of the ladder read flat. It also joins the
  deep display ratio for the same reason.
- The S2 station-spacing floor is deleted, not retuned. It guarded an
  O(1/spacing) blowup that the inversion makes structurally impossible (the
  canvas cell count is now constant across rungs, so stations-per-course is
  bounded however deep you scroll). Kept, it would do active harm in the
  opposite direction: a 2,048 m pitch across a 3.6 km District canvas places
  two stations and draws every river as a straight line. Station placement
  gets its own generator pass.
- cap_extent_to_body is superseded and now a documented no-op. A canvas can
  no longer over-request a body by construction. The residual question —
  whether a rung's cell exceeds the whole body — is liveness, not capping,
  and is_rung_live_on_body() answers it by omitting the rung. Empirically it
  never fires on inhabited content: all six rungs are live on all 271
  populated bodies with a radius.
- snap_to_gridunit no longer truncates its multiplier to int. Post-inversion
  the deep rungs run sub-metre (Chunk ~0.12 m at a 1080 px short axis), where
  int(spacing) floors to zero and would collapse every request centre onto
  the origin.

Both sides derive spacing from the same three inputs (rung, echoed cell
extent, body radius) rather than one telling the other, so there is nothing
to keep in sync beyond the constant table itself. Body radius already
reaches the viewer via enter(); no wire change.

Pair session with Jeroen, 2026-07-26. D-243/D-255 amendments to be backfiled.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-26 21:38:08 +02:00
2026-07-26 17:12:52 +02:00

The Settled Reach

A top-down immersive sim where you only know what you can see, hear, and prove.


You're not the hero. You're a witness with a gun.

Pick a character. Step into their life. Figure out what's happening before it's too late.

The Settled Reach is a single-character detective game where information is the real weapon. You play from one perspective in a simulated world full of people who lie, withhold, and reveal on their own schedules. What you know depends on where you are, who you trust, and whether you're asking the right questions.


What You Do

Investigate. Follow leads through a city you can't see all at once. Line-of-sight isn't a gameplay abstraction - it's the core mechanic. You see what your character sees. Walls block vision. Corners hide threats. Fog returns when you leave. Information decays.

Navigate. Your neural lattice gives you directions, but only to places you've learned about. Contacts send locations. Research reveals addresses. Physical exploration fills the gaps. The map is sparse and frightening at first. By the end, you realize how much you missed.

Decide. Every conversation is a negotiation over what gets shared. NPCs have their own goals, their own information, and their own reasons to lie. You choose who to trust based on incomplete data. Sometimes you're wrong.

Act. When investigation fails, violence is an option. Fights are tactical, asymmetric, and often a terrible idea. Power mismatches run in both directions. Death costs you everything since your last backup - lost knowledge, lost relationships, lost deals. The world knows what you forgot.

Survive. An AI storyteller paces events for dramatic tension. The conspiracy's structure is set at game start. When things happen is driven by how you're doing. Comfortable? Something breaks. Desperate? A break appears. The game wants a story, not a grind.


Core Features

Information Asymmetry as Master Mechanic

You only know what your character knows. The same world looks completely different from different perspectives. A Senator sees political venues on their map. A Guardian sees safehouses. Same conspiracy, different game.

Occlusion-Based Detection

Vision is line-of-sight with a directional cone. You see what's in front of you. Peripheral vision is reduced. Behind you is fog. Sound gives partial information outside your view - footsteps, voices, gunfire. You make decisions based on what you can piece together.

Internal Monologue

Your character interprets what they sense in their own voice. Footsteps behind you. Thermal signatures through walls. A contact's nervous tells. The monologue bridges what the camera can't show and creates atmosphere. It can also be wrong.

Perception Modes

Different characters access different sensors. Natural vision shows detail but is blocked by walls. Thermal imaging shows heat signatures with no identity. Camera feeds give remote vision but can be spoofed. Unisphere tracking pings known contacts but can be masked. Each mode reveals different information with different trust tradeoffs.

Diegetic Interface

The map is your character's neural lattice - Settled Reach technology, not a game UI. Points of interest appear when you learn them through gameplay. Tips can be traps. Navigation is pulled by player intent, not pushed by map design.

Multiple Playable Characters

Every character starts in a different position with different knowledge and different tools. A cop has case files and legal authority. An investigator has contacts and freedom to operate. A politician has institutional access and public constraints. Replayability comes from perspective, not randomness.

Rimworld-Style Storyteller

Events emerge from simulation, paced by an AI director. No timers. No scripts. Consequences of what's already in motion. The storyteller knows what you've lost and can exploit it.

Wildly Asymmetric Combat

Balanced fights are the exception. You're outgunned or overpowered, rarely evenly matched. Tactical clarity from the top-down view. Z-levels create verticality - fights across floors of a building. Perception boundaries mean you can be ambushed. Victory often means not fighting at all.


The Setting

Humanity spread across hundreds of star systems by learning to activate alien gates it didn't build. The result is the Settled Reach - a civilization stitched together by infrastructure it doesn't fully understand.

You live in a society where death is temporary (if you can afford the backup), enhancement is political (who gets augmented and why), and the gates that connect everything were made by someone who hasn't introduced themselves.

Wormholes aren't fast travel markers. They're physical locations you traverse. Social chokepoints. Surveillance points. The infrastructure you depend on to move between worlds.

Something is breaking. Or something is waking up. You're in the wrong place at the right time to figure out which.


Built For Replayability

Structural randomness set at game start: who's compromised, where evidence is hidden, which contacts can be trusted. Play the same scenario as different characters and encounter a different game. The conspiracy's skeleton is fixed. The flesh changes every time.


Development Philosophy

Single-character perspective. Asymmetric information as core mechanic. Top-down camera locked to character position. Godot 4 client + Rust simulation server. Client-server architecture from day one, designed for multiplayer even though single-player ships first.

No fog-of-war as an afterthought. No tutorial popups. No omniscient map reveals. The game is built around what you don't know.


[LOREM IPSUM PLACEHOLDER]

Screenshots

[Gameplay screenshot: character navigating fog-of-war through urban environment] [Gameplay screenshot: thermal vision showing heat signatures through building] [Gameplay screenshot: conversation interface with internal monologue overlay] [Gameplay screenshot: tactical combat with vision cone and z-level interaction]

Media

[Trailer: Character selection → Investigation → Revelation → Crisis] [Dev diary: Information asymmetry as game mechanic]

Awards & Recognition

[To be populated as development progresses]

Community & Updates

[Discord link] [Development blog] [Steam community hub]


System Requirements

Minimum

OS: [TBD] Processor: [TBD] Memory: [TBD] Graphics: [TBD] Storage: [TBD]

OS: [TBD] Processor: [TBD] Memory: [TBD] Graphics: [TBD] Storage: [TBD]


About This Project

Official Title: The Settled Reach (D-021) Repository: commonwealth (historical code name) Engine: Godot 4 + Rust/bevy_ecs simulation server via subprocess/IPC Setting: Original science fiction IP, inspired by space opera traditions Status: Pre-alpha development

For development documentation, see the decisions/ directory and TEAM.md.


The Settled Reach is in active development. All features, systems, and content are subject to change.

S
Description
No description provided
https://settledreach.com
Readme
3.5 GiB
Languages
Rust 46.4%
GDScript 33.9%
Python 17.7%
Shell 0.8%
GAP 0.3%
Other 0.8%