Skip to content

DEPTHCHARGE — Gameplay Specification

Operational Sonar & Submersible Capability Module — KN-86 Deckline

Version 1.0 | April 2026 | Status: Definitive (Engineering-Ready)

CIPHER-LINE revision note (2026-04-24): Every reference in this spec to “Cipher voice” narration, sonar commentary, or threat warning now describes output that renders on the CIPHER-LINE OLED above the keyboard, not on the main 80×25 grid. Where a Cipher line is quoted as a full sentence (e.g., “Sonar shows two contacts bearing northeast…”), read it as the intent of that beat; the actual CIPHER-LINE rendering is a clipped fragment pair honoring the voice heuristic — Depthcharge’s voice is tactical drone pilot, increasingly mystical about the depths. The sonar ping, hull groan, and acoustic signal design remain on the PSG main-audio channels and are not affected by this revision. See the CIPHER-LINE Contributions section at the end of this spec for Depthcharge’s vocabulary, production fragments, and mode-weight biases. Canonical engine specification: docs/software/runtime/cipher-voice.md.


Mission Composition Grammar declaration — verb vocabulary, affinity tag set, and mission-contributions schema are defined in docs/plans/post-v0.1/2026-04-25-mission-composition-grammar.md §1–§3.

(mission-contributions
:verbs (PENETRATE OBTAIN OBSERVE DELIVER)
:affinities (MARITIME PHYSICAL))

Depthcharge is the launch library’s MARITIME anchor and the only launch cart pairing MARITIME with PHYSICAL. Submersible breach into defended depths satisfies PENETRATE; salvage runs satisfy OBTAIN; passive-sonar reconnaissance satisfies OBSERVE; courier handoffs at the dock satisfy DELIVER (sanctioned MARITIME → PHYSICAL transition; addendum §2). Default biases.

Depthcharge’s (cart-init) issues the following Mission Control capability declaration (canonical authoring contract: ../design-bibles/launch-titles-capability.md §4, ADR-0028 + ADR-0030):

(register-capabilities
:module :depthcharge
:bit 0x04
:provides '(:submersible-piloting :passive-sonar
:salvage-recovery :dock-handoff)
:affinities '(:maritime :physical)
:seeds '(dive-topology contact-set hull-stress-curve)
:supersedes :sonar ; per ADR-0030 — supersedes the System-tier baseline
:threat-cap 5) ; cart-tier ceiling

Depthcharge supersedes the System-tier :sonar baseline (../../runtime/baselines/sonar.md) per ADR-0030. While inserted, Depthcharge amplifies the sonar-sweep domain — replacing SONAR’s surface-only passive ping with full submersible piloting, active/passive sonar tradeoffs, hull-stress accounting, salvage runs, and dock-handoff verbs, and lifting the threat ceiling from SONAR’s training cap of 2 up to the cart’s operations ceiling of 5. Eject the cart and the deck falls back to SONAR’s bare sweep loop. See ../../runtime/mission-control.md §2.3 (the supersedes mechanic) and §3.2.1 (threat-cap inheritance).


DEPTHCHARGE is not a chase game. It is a listening game — a contemplative real-time decision engine where the operator’s skill at reading acoustic information (sonar, threat proximity, equipment feedback, hull stress) under mounting pressure produces stories the designer never scripted. The operator remote-pilots a submersible drone from their KN-86 terminal; the Deckline IS the drone’s control panel, the YM2149 IS the drone’s sonar array. The core tension is active vs. passive sonar: active sonar reveals the underwater world but reveals the drone to surface hunters; passive sonar is safe but limited. Depth is risk/reward: deeper means richer salvage but more pressure, less hull integrity, harder escape. The operator’s learning arc follows the OODA loop at a slower tempo than ICE BREAKER (10-30 second cycles vs. 0.5-2 seconds), making Depthcharge a meditation on tactical patience rather than tempo-driven reflex. Sound IS the game. Operators should be able to navigate by audio alone. This is not accessibility; it is the primary design intent. Headphones are mandatory.


The KN-86 Deckline becomes an underwater workstation. A single OODA cycle in Depthcharge takes 10-30 seconds (early game) to 5-15 seconds (expert play). The operator who cycles methodically and listens carefully survives. Silence costs nothing. Recklessness costs everything.

OBSERVE (5s): The drone is descended to target depth. The YM2149 plays three overlapping voices in real time:

  • Voice 1 (Sonar Ambient): Environmental mood, ambient sonar pulse, depth pressure rumble
  • Voice 2 (Active Ping Echo): Sonar returns from recent active pings (if deployed)
  • Voice 3 (Threat Proximity): Distant hunter tones, pressure warnings, equipment stress

The operator presses INFO (left hand, top row). The display switches to SONAR SCOPE — the primary sensory view. Amber dots represent sonar contacts: terrain, treasures, enemies, hazards. The audio becomes richer: each contact has an acoustic signature (frequency, duration, rhythm). Listening reveals what the visual display abbreviates.

The operator has 5 seconds to absorb. The ocean is still ticking. Threats are still moving.

ORIENT (5-10s): The operator has sensed the underwater environment. Now they must interpret it. This is where cartridge history compounds. An operator with ICE BREAKER history recognizes encrypted relay stations by their harmonic signature. An operator without history must synthesize from first principles.

Press INFO again (double-tap) to engage Orient assist: the Cipher voice narrates the situation. At low reputation (Apprentice), Cipher is verbose: “Sonar shows two contacts bearing northeast. One is organic (whale, false alarm). One is metallic (potential treasure or enemy vessel).” At high reputation (Legend), Cipher goes silent. You are reading the ocean alone.

Orient window: 5-10 seconds. The drone is descending slightly (gravity always applies). Threats are closing.

DECIDE (5-10s): The operator knows what they sense. Now they choose: which tool, which depth, which heading. Should they deploy active sonar (reveals position to hunters) or stay silent (limited information)? Should they dive deeper (richer salvage, more pressure) or stay shallow (safer)?

Possible decisions:

  • Ping active sonar to reveal the environment (Press LINK — acoustic broadcast). This costs stealth credits. Reveals you to surface hunters.
  • Move laterally (Numpad 8/2/4/6: north/south/west/east). Silent. Accumulates distance traveled.
  • Descend deeper (Press CAR: drill into next depth level). Increases pressure, risk, and salvage value. Navigates list hierarchy metaphor.
  • Ascend (Press CDR: surface from current depth). Reduces pressure risk. Narrows salvage options.
  • Deploy equipment (Press APPLY: use grappling arm, decoys, sonar jammer, cutting torch). Consumable. Each use creates acoustic signature (loud, but effective).
  • Collect treasure (Auto-triggered when touching a treasur contact within sonar range). Adds to cargo manifest.
  • Evasion maneuvers (Press LAMBDA): Emergency turns, silent drifting, hiding in thermal vents. Risky but may break pursuit.

If the operator realizes mid-decision that they need a capability not loaded, this is the Hot Swap moment. The Cipher voice warns: “SONAR CLASSIFICATION UNCERTAINTY — NETWORK ENCRYPTION DETECTED.” (This happens if ICE BREAKER relay stations are encountered.) The operator can press QUOTE and initiate a physical cartridge swap to access ICE BREAKER’s analysis tools. The ocean advances at half-tempo during swap (realistic time: ~5 seconds, game time: ~30 seconds compressed).

Decide window: 5-10 seconds. The ocean is ticking. Threats are circling.

ACT (immediate): The operator presses a key. The drone responds. The world changes.

Press EVAL (the 1.75U-wide confirm bar) to commit the decision. The cartridge’s nOSh API processes the input:

  • If active sonar was triggered, an acoustic ping propagates. Sonar scope expands. Stealth credits decrement. Surface hunters (if nearby) receive bearing information.
  • If movement was chosen, the drone relocates. New sonar picture loads. Threats advance.
  • If equipment was deployed, the gear activates. An acoustic signature blooms (loud, distinctive). Enemies may respond. Objectives may complete.

The YM2149 plays a response tone. Voice 1 shifts (ambient sonar adapts to new depth or location). Voice 3 may escalate (if a threat detected the action). The operator immediately sees the new state and the cycle repeats.

The ocean has a natural tempo. Threats advance at a fixed rate (hunter patrol patterns, thermal vent cycles, pressure accumulation). Environmental hazards cycle at different speeds (seaweed growth, collapsing rubble, tectonic stress). The operator cycles OODA at whatever speed they can process.

An expert operator’s cycle rate in Depthcharge: 1 complete cycle per 10-15 seconds. This is a learned skill. A novice’s cycle rate: 1 cycle per 20-30 seconds. The threats advance regardless.

The YM2149 is the acoustic instrument. As depth increases, Voice 1 becomes deeper (lower pitch, increased rumble). As threats approach, Voice 3 rises in frequency and intensity. As the operator’s cycle rate accelerates, Voice 2 becomes more confident and articulate. Expert operators play by ear — they don’t need the visual display to understand what’s happening.


The dive environment is a procedurally generated underwater world. It is not a level. It is an organism with hazards, resources, and inhabitants.

Depth IS the list structure. The ocean has 10 depth levels (0 = surface, 10 = abyss). Each depth level is a horizontal plane containing treasure spawns, enemies, and hazards.

  • CAR (drill into): Descend one depth level. Pressure increases. Visibility decreases. Danger increases. Salvage value increases.
  • CDR (surface from): Ascend one depth level. Pressure decreases. Visibility increases. Salvage value decreases.
  • Numpad 8/2/4/6: Move within the current depth level (cardinal directions).

The metaphor is explicit: Lisp list navigation maps to physical depth navigation.

Each Dive generates:

  1. Depth Map: 10 levels (0 = surface, 10 = abyss). Horizontal area: 16×16 cells per level. Each cell contains water, terrain, treasure, enemy, or hazard.

  2. Terrain Features:

    • Shipwrecks (navigation obstacles, treasure containers, enemy nesting spots)
    • Thermal vents (damage zone, but masks sonar signature)
    • Seaweed fields (movement slowed, reduced sonar visibility)
    • Rock formations (natural obstacles, hiding spots)
    • Pressure zones (instant death if unprepared)
  3. Treasure Distribution: 8-16 items scattered at various depths. Deeper = higher value but more protection.

  4. Enemy Spawns: Difficulty-based (Tier 1: 2 surface hunters, Tier 4: 5 surface + 2 rival submersible operators).

  5. Hazards: Pressure zones near deep treasure, thermal vents blocking corridors, seaweed slowing transit.

Every object in the water has an acoustic signature:

  • Terrain: Static returns. No threat, pure navigation hazard.
  • Treasure: Harmonic bell-like signature (frequency increases as drone approaches).
  • Surface Hunter: Distinctive patrol sonar (regular pinging, predictable rhythm). Shallow-only (depth 0-2).
  • Rival Drone Operator: Quiet, intelligent. Passive sonar (no active pinging, but reactive). Any depth.
  • Thermal Vent: Deep rumble, pulsing (50Hz base, increases with proximity).
  • Pressure Zone: Silent until crossed (then catastrophic failure tone).

Passive sonar is always active. The drone’s hydrophones pick up sounds from the environment. Distances are approximate:

  • Contact at 1-3 cells: Clear acoustic signature, frequency-distance correlation.
  • Contact at 4-6 cells: Reduced clarity, range uncertainty.
  • Contact at 7+ cells: Barely audible, direction only (no range).

The SONAR SCOPE display shows contacts as dots. Color (amber, orange, red) indicates threat level. Silence means empty water.

Active sonar (LINK key) sends a high-frequency ping. This costs 1 stealth credit. The ping propagates omnidirectionally (360 degrees) and returns echo delays reveal distance to all contacts.

Range accuracy:

  • 1-3 cells: ±0 cell error
  • 4-6 cells: ±1 cell error
  • 7+ cells: ±2 cell error

Echo delay is rendered as sound: close contact = rapid echo return (100ms delay), far contact = slow echo return (400ms delay). Experienced operators estimate distance from delay alone.

Cost: Each active sonar ping costs 1 stealth credit. Stealth credits are resource-limited (5-10 per dive, depending on threat level). Spending them recklessly alerts surface hunters. Conserving them means limited information.


Sonar is the information system. It is also the vulnerability system. Using sonar reveals position.

The YM2149 Voice 3 emits a continuous threat proximity tone. The frequency encodes distance to the nearest threat:

  • 200 Hz (low rumble): Threat is 10+ cells away. Safe.
  • 400 Hz (mid tone): Threat is 6-10 cells away. Caution.
  • 800 Hz (high pitch): Threat is 2-6 cells away. Alert.
  • 1600 Hz (piercing): Threat is within 2 cells. Danger.
  • Chaotic noise: Threat is in same cell. Immediate jeopardy.

The rate of pitch change encodes threat closing speed:

  • Slow rise: Threat moving slowly, low intelligence (surface hunter routine patrol).
  • Fast rise: Threat accelerating, medium intelligence (rival drone reacting).
  • Erratic: Threat moving unpredictably, high intelligence (expert opponent).

An experienced operator hears Voice 3 and knows: “Threat is 5 cells away and closing at medium speed. I have ~15 seconds before contact. I can move 3 cells away or find cover.” This is audio-driven decision-making.

Surface hunters are stationary or slowly patrolling vessels on the surface (depth 0-2). They listen passively for active sonar pings.

Behavior:

  • Emit regular sonar pings (every 20-30 seconds, predictable rhythm).
  • If they detect an active ping from the drone, they zero in on the ping’s coordinates.
  • They cannot go deeper than depth 2 (shallow water only).
  • If the drone is in depth 0-2, surface hunters can fire torpedoes.

Torpedo mechanics:

  • One-hit kill if it connects.
  • Torpedo has 3-second flight time (3 turns in Depthcharge tempo).
  • Drone can evade with emergency maneuvers (LAMBDA key) at high cost.
  • Torpedo destroys 30% of cargo on impact (severe penalty).

Strategy:

  • Avoid active sonar in shallow water.
  • Stay deep (depth 3+) to avoid surface hunters entirely.
  • Use passive sonar only in shallow water.

Rival drones are intelligent submersibles piloted by other operators (AI or linked play). They hunt via passive sonar and pattern prediction.

Behavior:

  • Never use active sonar (maintain stealth).
  • Build mental maps of drone position from cargo manifest (if operator is collecting loudly).
  • Detect equipment deployment (grappling arm, cutting torch = acoustic signature).
  • React to operator mistakes (sudden course changes, evasion maneuvers).
  • Can operate at any depth.

Intelligence levels:

  • Threat 1-2: Simple patrols, slow reaction (5-10 second delay before responding).
  • Threat 3-4: Adaptive tracking, medium reaction (3-5 second delay).
  • Threat 5+: Predictive positioning, fast reaction (1-2 second delay).

Confrontation:

  • Direct contact triggers evasion or combat.
  • Rival drone can attempt to shadow operator (stay 2-3 cells away).
  • If operator is loaded with cargo, rival may attempt cargo theft.
  • Evasion requires: depth change, thermal vent concealment, or stealth maneuvers.

4. SYSTEM THREE: EQUIPMENT & RESOURCE MANAGEMENT

Section titled “4. SYSTEM THREE: EQUIPMENT & RESOURCE MANAGEMENT”

The submersible drone has limited equipment slots and consumable resources.

The drone’s hull has a maximum integrity value (typically 100 HP). Damage sources:

  • Collision with terrain: -5 HP
  • Pressure zone exposure: -50 HP (catastrophic without reinforcement)
  • Torpedo hit: -100 HP (instant destruction)
  • Thermal vent exposure: -10 HP per turn in the vent
  • Rival drone ramming: -20 HP

Repair:

  • Hull integrity naturally recovers 1 HP per minute of safe, undamaged operation.
  • Repair stations (rare, deep locations) restore hull to 100 HP instantly.

Stealth credits are acoustic anonymity. Each active sonar ping costs 1 credit.

  • Starting stealth credits: 5-10 per dive (depends on threat level and reputation).
  • Reputation bonus: Rep 25+ operators get +2 stealth credits.
  • Cost per ping: 1 stealth credit.
  • Cost of equipment deployment: +1 stealth credit per use (grappling arm, cutting torch = acoustic signature).

Stealth credit recovery:

  • Silent operation (no pings, no loud equipment) for 5+ minutes: +1 credit (slow recovery).
  • Hiding in thermal vents: +1 credit per 2 minutes (faster recovery due to acoustic masking).

Consequence of spending all stealth credits:

  • Surface hunters move to active hunting mode (attack on sight).
  • Rival drones become more aggressive (attempt to intercept).

The drone can carry up to 3 equipment items at deployment. Equipment is consumable (one use per mission).

Grappling Arm:

  • Purpose: Grab treasure from hazardous locations, cut through seaweed, manipulate wreckage.
  • Cost: 1 slot, 1 use.
  • Acoustic signature: Loud (mechanical grinding, 300ms activation, +1 stealth credit cost).
  • Range: Must be within 1 cell of target.
  • Success rate: 90% (10% chance jam or failure).

Decoys (×2):

  • Purpose: Deploy false acoustic signatures to confuse hunters.
  • Cost: 1 slot (carries 2 decoys).
  • Acoustic signature: Very loud (multiple pings, +2 stealth credit cost per decoy).
  • Effect: Confuses surface hunters for 10-15 seconds. Distracts rival drones temporarily.
  • Duration: ~1 minute (autonomous operation, then silent).

Sonar Jammer:

  • Purpose: Disable enemy sonar for a limited time.
  • Cost: 1 slot, 1 use.
  • Acoustic signature: Extremely loud (broadband noise, 1000Hz, 5-second burst, +3 stealth credit cost).
  • Effect: Disables active sonar in a 5-cell radius for 30 seconds. Disables passive sonar for that duration.
  • Friendly fire: Jammer also disables operator’s own sonar (double-edged weapon).

Cutting Torch:

  • Purpose: Cut through seaweed, wreckage, and obstacles.
  • Cost: 1 slot, 1 use.
  • Acoustic signature: Moderately loud (mechanical buzz, 400ms, +1 stealth credit cost).
  • Range: Must be adjacent to target.
  • Benefit: Clears blocked passages, unlocks access to treasure behind obstacles.

Dives have a time limit. The drone’s oxygen system supports continuous operation for:

  • Tier 1 dives: 20 minutes
  • Tier 2 dives: 25 minutes
  • Tier 3 dives: 30 minutes
  • Tier 4 dives: 35 minutes

Time remaining is displayed in status line (Row 23). Approaching critical oxygen (last 2 minutes) triggers a warning tone (Voice 1 emits a rising pulse). At oxygen=0, the drone loses buoyancy control and begins rapid, uncontrolled ascent (game over if not surfaced yet).


The YM2149 PSG is not accompaniment. It is the drone’s sonar transducer. Every sound carries gameplay information.

Voice 1 (Sonar Ambient & Depth):

  • Base frequency indicates depth:
    • Depth 0-2 (surface): 800Hz (high, bright)
    • Depth 3-4 (mid-water): 400Hz (medium)
    • Depth 5-7 (deep): 200Hz (low)
    • Depth 8-10 (abyss): 100Hz (subsonic rumble, nearly inaudible)
  • Frequency modulates with pressure accumulation (gets deeper/darker as pressure increases).
  • Special tones layered on base:
    • Thermal vent nearby: 50Hz pulsing rumble (overlaid on base tone).
    • Pressure zone alert: 30Hz growl (danger signal).
    • Equipment detection: Harmonic overtones (+ higher frequencies).

Voice 2 (Active Ping Echo):

  • Emitted only after LINK keypress (active sonar ping).
  • Frequency = sonar ping frequency (adjustable by operator, typically 2000Hz).
  • Echo returns with delay and amplitude indicating distance.
  • Close contact: high-frequency echo, 100ms delay, loud.
  • Far contact: reduced frequency, 400ms+ delay, quiet.
  • No contacts: silence (pure water, no reflections).

Voice 3 (Threat Proximity & Intensity):

  • Encodes nearest threat’s distance and closing speed (as detailed in System 2).
  • Frequency range: 200Hz (distant) to 1600Hz+ (immediate danger).
  • Modulation indicates threat type:
    • Regular pulsing (0.5Hz) = surface hunter routine patrol.
    • Accelerating pulse = surface hunter reaction (has detected drone).
    • Chaotic/unpredictable = rival drone, intelligent opponent.
    • Rapid rise then plateau = torpedo in flight (urgent).

Boot & Initialization:

  • Sonar sweep animation (radial line rotates, PSG ping each rotation, descending 2000Hz→400Hz, 3 rotations).
  • Cipher voice: “Drone systems online. Pressure hull nominal. Ballast ready. Standing by for depth target, Operator.”

Dive Briefing (pre-descent):

  • Environmental ambient loops (ocean sound, if threat is present: low rumble).
  • Cipher voice details mission: “SALVAGE MISSION: Recover artifact at depth 5. Threat: rival operators detected in sector. Stealth credits: 8. Hull integrity: 100%.”

Descent (CAR keypress):

  • Voice 1 tone descends in pitch (physical, sonically represents depth increase).
  • If entering hazardous depth: warning tone (brief, 2-note) before stabilizing.
  • Pressure rumble becomes audible around depth 5+.

Active Sonar Ping (LINK keypress):

  • Outgoing: Brief, high-frequency burst (2000Hz, 50ms).
  • Echo returns: Layered returns stacked based on contacts (close returns early, far returns late).
  • Audio composition: The echo pattern is a unique “acoustic fingerprint” of the environment.
  • Operator learns to identify environments by echo pattern alone (advanced technique).

Treasure Nearby (automatic detection when in sonar range):

  • Soft bell tone (1200Hz, 200ms, amplitude increases as drone approaches).
  • Distance-responsive: approaching treasure = tone accelerates, increases in pitch.
  • Multiple treasures nearby: multiple bell tones playing simultaneously (polyphonic audio).

Enemy Detected:

  • Voice 3 begins to rise in frequency from baseline.
  • Rate of rise indicates closing speed.
  • If detection is confirmed (e.g., surface hunter has locked on): Voice 3 accelerates sharply (alarm).

Pressure Hazard Alert:

  • Low rumble (50Hz, pulsing) grows louder as drone approaches danger zone.
  • At the boundary: sudden drop to 30Hz growl (immediate danger signal).
  • Inside pressure zone: chaotic noise burst, then system failure tone (if no mitigation).

Equipment Deployment:

  • Grappling arm: Mechanical grinding noise (300Hz-1000Hz sweep, 300ms), followed by clank (success) or buzz-fail (failure).
  • Decoys: Chirping/pinging sounds (repeated 300ms pulses, 1000Hz+), mimicking multiple sonar signatures.
  • Sonar jammer: Broadband white noise (1000Hz base, all frequencies overlaid, 5-second burst).
  • Cutting torch: Harsh buzzing (600Hz-800Hz buzz, 400ms, then abrupt silence).

Surface (Safety):

  • Ascending tones (C4→G4→C5, major chord sequence, 1 second total).
  • Cipher voice: “Surface reached. Cargo manifest secured. Mission complete.”
  • Triumphant rising arpeggio plays.

Hull Breach or Catastrophic Failure:

  • Descending glissando (high→low, 1 second).
  • Alarm blare (all voices spiking simultaneously).
  • Water rush noise (chaotic noise burst, 500ms).
  • Silence (systems offline).
  • Cipher voice (if operator survives): “Hull breach. Initiating emergency ascent. Mission aborted.”

Evasion / Emergency Maneuver:

  • Sudden pitch jump in Voice 1 (sonar-like “detection evasion” signature).
  • Nervous, staccato pulses in Voice 3 (threat still pursuing, but operator has created distance).
  • High-tempo clicking (operator’s maneuvering, physical stress on hull).

Oxygen Critical (last 2 minutes):

  • Voice 1 begins pulsing at 1Hz (slow warning beat).
  • Last 30 seconds: pulse accelerates to 4Hz (urgent).
  • Last 10 seconds: continuous high pitch (danger).

Linked Play: Opponent Action:

  • Rival operator deploys equipment: distinctive audio signature on Voice 3 (rival’s ping, identifiable from operator’s ping).
  • Rival operator surfaces: their ascending tones play on a different timbre (distinct from operator’s own surface tones).
  • Rival operator intercepts: collision tone (discordant crash, both sets of alarms firing).

Every operator can close their eyes and play Depthcharge by sound alone. The audio contains:

  1. Spatial information: Voice 1 encodes depth. Voice 3 encodes threat direction and distance.
  2. Temporal information: Frequencies encode closing speed. Pulse rates encode reaction urgency.
  3. Operational information: Echo patterns encode environment complexity. Harmonic content encodes object type (treasure vs. terrain vs. threat).
  4. Emotional information: Pitch, tempo, and timbre create tension arcs (calm exploration → increasing tension → release/failure).

6. AUDIO STATE MACHINE: PSG VOICE PRIORITY & MIXING

Section titled “6. AUDIO STATE MACHINE: PSG VOICE PRIORITY & MIXING”

The YM2149 runs a formal state machine governing Voice 1, Voice 2, and Voice 3 priority, mixing behavior, and transitions. Implementation of Depthcharge depends on this explicit specification.

State: PASSIVE_SONAR (baseline)

  • Voice 1: Ambient depth tone (frequency = depth map: 800 Hz at depth 0, 200 Hz at depth 5, 100 Hz at depth 8+)
  • Voice 2: Silence (no echo)
  • Voice 3: Threat proximity tone (frequency = distance to nearest threat, 200–1600 Hz range)
  • Trigger Transition: LINK keypress → ACTIVE_PING_OUTGOING
  • Duration: Indefinite (until transition)

State: ACTIVE_PING_OUTGOING

  • Voice 1: Fade to background (−6 dB, reduce from baseline)
  • Voice 2: High-frequency burst (2000 Hz, 50ms square wave)
  • Voice 3: Fade to background (−6 dB)
  • Trigger Transition: After 50ms → ACTIVE_PING_ECHO
  • Duration: 50ms (exact)

State: ACTIVE_PING_ECHO

  • Voice 1: Background (−6 dB, maintained)
  • Voice 2: Echo returns (stacked echoes, 100–400ms delay based on contact distance, amplitude inverse to distance)
    • Close contact (<3 cells): 100ms delay, full amplitude
    • Mid contact (3–6 cells): 200–300ms delay, 75% amplitude
    • Far contact (7+ cells): 400ms+ delay, 50% amplitude or silence
    • Duration of each echo: 100–500ms fade (depends on contact type)
  • Voice 3: Background (−6 dB, maintained)
  • Trigger Transition: After longest echo completes (max 500ms) → PASSIVE_SONAR
  • Duration: 100–500ms (variable)

State: THREAT_ESCALATION (preempts all other states)

  • Voice 1: Ambient tone (maintained, not reduced)
  • Voice 2: Fade to silence (−∞ dB, muted)
  • Voice 3: Rise in frequency (accelerating from current position toward 1600+ Hz)
    • Slow rise: threat 5–10 cells away, low closing speed (hunter routine patrol)
    • Fast rise: threat 2–5 cells away, medium closing speed (rival drone reacting)
    • Chaotic/unpredictable rise: threat <2 cells, high intelligence (expert opponent or torpedo)
    • Pulse rate increases proportionally: slow (0.5 Hz) → fast (4+ Hz) as threat approaches
  • Trigger Condition: Threat detected within sonar range OR closing speed exceeds threshold
  • Trigger Transition: Threat no longer detected or evaded → PASSIVE_SONAR
  • Duration: Threat persistence (until evasion succeeds or threat leaves sonar range)
  • Note: THREAT_ESCALATION preempts ACTIVE_PING_* states. If threat escalates during echo return, Voice 3 priority overrides Voice 2 echo completion.

State: EQUIPMENT_DEPLOYMENT (duration: ~0.3–1.0 seconds)

  • Voice 1: Ambient tone (maintained)
  • Voice 2: Equipment-specific signature
    • Grappling arm: Mechanical grinding sweep (300–1000 Hz over 300ms), then clank (success) or buzz-fail (failure)
    • Decoys: Chirping/pinging (300ms pulses, 1000Hz+, 2 pulses for dual decoys)
    • Sonar jammer: Broadband white noise (1000 Hz base, all frequencies, 5-second burst, intense)
    • Cutting torch: Harsh mechanical buzz (600–800 Hz buzz over 400ms, abrupt silence on complete)
  • Voice 3: Fade to background (−6 dB, unless threat is escalating, in which case preemption rules apply)
  • Trigger Condition: APPLY keypress with equipment selected
  • Trigger Transition: On equipment completion → PASSIVE_SONAR (or THREAT_ESCALATION if threat detected during deployment)
  • Duration: Equipment-specific (see Voice 2 above)

State: TORPEDO_INBOUND (emergency)

  • Voice 1: Fade to background (−6 dB)
  • Voice 2: Silence (or high-pitched propeller whine, optional)
  • Voice 3: Rapid rise then plateau (distinct signature: starts at current frequency, accelerates to 1600 Hz+ within 2 seconds, then holds as approaching)
    • Rapid rise: 3-second flight time means Voice 3 reaches plateau in 1–2 seconds, audibly distinct from routine threat escalation
    • Plateau tone: 1600+ Hz with slight harmonic content (recognizable as “torpedo” by experienced operators)
    • Pulse: Rapid, 2–4 Hz (urgency)
  • Trigger Condition: Surface hunter fires torpedo (triggered by sonar lock-on + decision to fire)
  • Trigger Transition: Evasion success (torpedo misses, evasion maneuver breaks lock) → THREAT_ESCALATION; torpedo impact or miss (3 seconds absolute) → PASSIVE_SONAR or HULL_BREACH
  • Duration: 3 seconds (torpedo flight time), absolute

State: DIVE_BRIEFING (pre-descent)

  • Voice 1: Environmental ambient loop (ocean sound, 2–4 Hz pulsing, ~5 second cycle)
  • Voice 2: Silence (or very soft background hum, optional)
  • Voice 3: Low rumble if threat present in briefing (50Hz baseline, subtle)
  • Trigger Condition: Mission board selected, before descent
  • Trigger Transition: CAR pressed (descend) → PASSIVE_SONAR (depth-appropriate)
  • Duration: Until player action

State: DESCENT / ASCENT (real-time vertical movement)

  • Voice 1: Glissando (smooth pitch change downward for descent, upward for ascent)
    • Descent: 800 Hz → target depth frequency over ~2 seconds (e.g., 800 Hz → 400 Hz for depth 3)
    • Ascent: reverse (400 Hz → 800 Hz)
    • Hazard entry (e.g., entering pressure zone depth): 2-note warning tone (brief, 500ms) before stabilizing
  • Voice 2: Silence (unless equipment deployed during descent)
  • Voice 3: Threat tone (if threat present), maintained during descent with slight modulation (pitch wobble, ±50 Hz) indicating movement stress
  • Trigger Condition: CAR pressed (descend) or CDR pressed (ascend)
  • Trigger Transition: Depth stabilizes (after glissando completes, ~2 seconds) → PASSIVE_SONAR
  • Duration: ~2 seconds per depth level change

State: HULL_BREACH / CATASTROPHIC FAILURE

  • Voice 1: Descending glissando (high → low, 1 second, then silence)
  • Voice 2: Alarm blare (2000+ Hz, all available power, 500ms)
  • Voice 3: Water rush (chaotic noise burst, brown noise overlay, 500ms, then decay)
  • Trigger Condition: Hull integrity = 0 OR pressure zone exposure OR torpedo impact
  • Trigger Transition: None (mission ends) OR if operator survives (respawn): → PASSIVE_SONAR at safe depth
  • Duration: ~2 seconds (full sequence), then mission abort

State: EXTRACTION_SUCCESS (end-dive)

  • Voice 1: Ascending tones (low depth freq → 800 Hz over 1 second, major chord: C4→G4→C5)
  • Voice 2: Triumphant arpeggio (rising, C4→E4→G4→C5, bright major key, 1 second)
  • Voice 3: Silence (or soft fade to silence)
  • Trigger Condition: Drone surfaces with cargo
  • Trigger Transition: After sequence → mission debrief screen
  • Duration: ~2 seconds (total arpeggio)

Crossfading Between States:

  • PASSIVE_SONAR ↔ THREAT_ESCALATION: Fade Voice 3 priority over 100ms. Voice 1 remains steady. Voice 2 cuts to silence immediately.
  • PASSIVE_SONAR ↔ ACTIVE_PING_OUTGOING: Voice 1 fades to background (−6 dB over 50ms). Voice 2 fades in (2000 Hz burst starts immediately). Voice 3 fades to background (−6 dB over 50ms).
  • THREAT_ESCALATION → PASSIVE_SONAR: Fade Voice 3 down to baseline frequency over 200–500ms (smooth deceleration). Voice 2 remains silent.
  • EQUIPMENT_DEPLOYMENT ↔ PASSIVE_SONAR: Equipment sound fades out over 100ms. Voice 1 and 3 fade in (return to full volume).

Amplitude Table (dB scale, relative to baseline 0 dB):

ComponentPASSIVEPING_OUTPING_ECHOTHREAT_ESCEQUIPMENT
Voice 1 (ambient)0 dB−6 dB−6 dB0 dB0 dB
Voice 2 (echo/equipment)−∞+3 dB−3 to 0 dB−∞+6 dB
Voice 3 (threat)−3 dB−6 dB−6 dB+3 dB−6 dB

Concurrency Rules:

  • Never more than 2 voices play at full volume simultaneously.
  • Voice 2 and Voice 3 are mutually exclusive at full volume (one must be reduced if both trigger).
  • THREAT_ESCALATION overrides ACTIVE_PING_ECHO. If Voice 3 priority rises during echo, Voice 2 fades out immediately (loss of echo precision, but safety takes priority).
  • EQUIPMENT_DEPLOYMENT during THREAT_ESCALATION: Equipment sound plays at −3 dB (reduced, but audible). Threat tone remains at priority.

The four systems — environment, sonar, equipment, sound — collide to create unscripted moments.

An operator navigates using only passive sonar (no active pings). They reach depth 5, where rich treasure is hidden. But the treasure is surrounded by a pressure zone (no visibility via passive sonar).

To acquire the treasure, they must either:

  • Use active sonar (ping once, revealing treasure location, but costing stealth credit and alerting surface hunters).
  • Deploy grappling arm blindly (high risk, mechanical noise, no guarantee of success).
  • Use rival operator as a “probe” — wait for rival to bump into pressure zone and trigger alarm, then evade and sneak in.

An operator who chooses option 3 is using emergent strategy: letting enemy behavior reveal the environment. This is not a designed moment; it emerges from systems interaction.

An operator is at depth 3, 5 cells from a surface hunter. The threat tone is high (800Hz) and rising. The operator decides to use a decoy to distract the hunter.

But decoys are loud. The decoy deployment costs 2 stealth credits and creates a 20-cell acoustic signature bloom. A rival drone operator, who was passive and undetected, hears the decoy and now knows the player’s location.

The operator has traded one threat (surface hunter) for another (rival drone). Emergence: the cost of solving one problem creates a new problem.

An operator is being pursued by a rival drone. They flee toward a thermal vent (they know from sonar that it’s nearby). They hide inside the vent’s acoustic clutter.

But the vent is also hot (thermal damage, -10 HP/turn). The operator must decide: hide and take pressure damage, or flee and be caught.

If they hide for 30 seconds, they take 5 HP damage but recover 2 stealth credits (due to acoustic masking). If they flee, they save 5 HP but lose stealth credits and may be caught.

This is a risk/reward decision tree emerging from collision of thermal hazard and stealth mechanics.

An operator has collected 10 pieces of treasure over 15 minutes. Their cargo manifest is full. The submarine’s movement speed has degraded (-20% due to weight). Threat tones become more pronounced (the heavier submarine is slower to respond).

An intelligent operator realizes: “I have too much cargo. I need to surface and deliver before I get caught.”

Another operator realizes: “I can drop cargo, go light, evade the hunters, then come back for it later.”

Emergence: cargo weight is a resource that affects both survival and payout. Players develop different strategies.

An operator plays Depthcharge over 10 sessions. They become attuned to the acoustic signature of different threats. They can identify:

  • Surface hunter sonar pattern (regular 20Hz pulsing).
  • Rival drone presence (irregular, adaptive sonar returns).
  • Pressure zones (specific 30Hz growl tone).
  • Treasure locations (specific bell tone timbre).

A new threat type (high-rep, endgame: MEGAKRAKEN) is introduced with a completely new acoustic signature (chaotic, dissonant, unpredictable). The operator’s hard-learned pattern recognition fails. They must reorient. Emergence: mastery becomes a liability when new variables are introduced.


Every dive has a natural emotional progression. The shape depends on reputation, threat level, equipment, and ocean state.

An operator with reputation 3 (Apprentice) selects a Tier 1 contract. They have basic equipment and no cartridge history.

Minutes 0-3: Curiosity & Safety. The operator descends to depth 2 (safe shallow water). Sonar scope opens. The yell low, ambient tone plays (Voice 1 at 800Hz). They hear passive sonar returns from nearby terrain. No threats yet.

Cipher voice: “Welcome to the depths, Apprentice. The water is calm. Listen to the sonar. What do you hear?”

The operator is learning: INFO reveals sonar. Double-tap reveals interpretation. Passive sonar is safe.

Minutes 3-8: Building Confidence. The operator finds their first treasure (bell tone rising as they approach). They deploy the grappling arm to grab it. Mechanical grinding noise, then clank (success!).

Treasure acquired. +50 credits (first-time bonus). Operator realizes: “I can do this.”

Minutes 8-15: Deepening Puzzle. The operator descends to depth 3. Voice 1 tone drops (400Hz, deeper rumble). The ocean becomes less familiar. The operator hears Voice 3 starting to rise (a threat is 8+ cells away, not immediate but present).

Cipher voice warns: “Rival drone detected in sector. Maintain passive sonar only. Active pings will draw attention.”

The operator must choose: stay cautious or ping to reveal environment. They choose to ping once (costs 1 stealth credit). Echo patterns reveal two more treasure locations ahead.

But the ping is loud. Voice 3 accelerates (threat is now 6 cells away, closing).

Minutes 15-22: Hurried Escape. The operator has acquired 3 treasures. They can surface now with a modest payout, or go deeper and risk confrontation.

They decide to ascend. They navigate back up to depth 1. Voice 1 rises back to 800Hz (ascending tones play, calming). Voice 3 descends (threat is now far away, no longer closing).

Minutes 22-25: Extraction & Safety. The operator surfaces. Ascending major chord plays. Cipher voice: “Cargo manifest: 3 items, 180 credits. Mission successful. Reputation +1.”

Operator feels: “I understood the basics. I was careful. I succeeded.”

Total time: 25 minutes. Operator is not frustrated. They are beginning to develop acoustic intuition.

An operator with reputation 18 (Specialist) selects a Tier 3 contract. They have balanced equipment and ICE BREAKER history.

Minutes 0-5: Rapid Assessment. The operator boots the dive. Cipher voice: “SALVAGE MISSION: Deep-water artifact recovery, depth 4. Threat level: 3. Surface hunters: 2. Rival drones: 1. Stealth credits: 8. Hull integrity: 100%. Environmental conditions: Moderate thermal vent activity, seaweed field at 3-cell radius from target.”

The operator presses INFO (sonar scope activates). They double-tap for interpretation. The acoustic environment is complex: multiple thermal rumbles, seaweed rustles, distant hunter sonar pings.

Specialist decision: “I’ll stay deep (depth 4+) to avoid surface hunters. I’ll use passive sonar only until I find the target. Then I’ll make a choice: extract quietly or ping once to get precise coordinates.”

Minutes 5-20: Cautious Transit. The operator descends to depth 3 (descent tones play). They navigate laterally using passive sonar. Rival drone is somewhere in the sector (Voice 3 is at 600Hz, moderate threat, not closing).

The operator moves slowly, methodically. Each navigation consumes 20-30 seconds (game time). After 15 minutes, they’ve moved 6 cells and acquired 1 piece of intermediate-level treasure (80 credits).

Hull integrity: 100% (no damage yet). Stealth credits: 8 (no pings yet).

Minute 20: The Active Sonar Decision. The operator reaches the target sector. The passive sonar is ambiguous — there are multiple thermal echoes and seaweed noise. The target is hidden in the clutter.

The operator decides to ping (activate sonar, LINK key). The echo returns reveal the precise location: an artifact guarded by a pressure zone (dangerous) and surrounded by seaweed (movement slow).

Voice 3 jumps to 800Hz (surface hunter has detected the ping and is reacting).

Specialist realizes: “I have ~30 seconds before the surface hunter reaches the sector boundary. I need to grab the artifact and move before the hunter gets a lock.”

Minutes 20-30: Extraction under Pressure. The operator deploys the grappling arm to grab the artifact through the seaweed (cost: 1 stealth credit, mechanical noise, rival drone now alert).

The artifact is acquired (300 credits, significant value). Hull integrity: 100% (no pressure exposure).

But now two threats are converging:

  • Surface hunter is 4 cells away, closing (Voice 3 at 1000Hz, accelerating).
  • Rival drone has locked onto the acoustic signature of the grappling arm deployment.

Minutes 30-35: Evasion & Depth Change. The operator decides to go deeper (descend to depth 4, press CAR). Voice 1 drops to lower frequency (200Hz, deep rumble). The operator is now beyond surface hunter range (depth 4 is too deep).

But the rival drone follows (rival drones can go to any depth).

The operator uses evasion maneuver (LAMBDA key): sharp turn, silent drifting. Voice 3 plateaus (threat is still present but not closing for 10 seconds). Operator has bought time.

Minutes 35-45: Strategic Choice. The operator has 2 treasures (now holding 380 credits worth of cargo). Oxygen is at 15 minutes remaining. The rival drone is still in pursuit (Voice 3 at 700Hz).

Operator decides: “I can surface now with a good payout, or gamble on a third treasure and risk confrontation.”

They choose to gamble. They descend to depth 5 (pressure rumble becomes intense at 100Hz). Here, legendary treasure is rumored (1000+ credits). But the pressure is dangerous (if the drone hits a pressure zone, instant -50 HP).

Minute 45: The Jackpot Collision. The operator’s passive sonar reveals a massive contact at depth 5: it’s either the legendary treasure or a MEGAKRAKEN (a rare, aggressive threat creature).

The operator is out of stealth credits (used: 1 for the grappling arm, 1 for initial descent, 1 for evasion reposition = 3 total, 5 remaining). They must decide: ping once more to confirm the contact (cost 1 stealth, alert all threats), or dive blind.

They ping. The echo reveals: legendary artifact (treasure, not threat). Rival drone is now 3 cells away (Voice 3 screaming at 1200Hz).

Minutes 45-48: Final Grab and Escape. The operator deploys the cutting torch (clearing seaweed around the artifact) and the grappling arm (grabbing it). Both cost stealth (2 credits total, total stealth spent = 6/8).

Artifact acquired (1200 credits!). Total cargo: 1580 credits. Hull integrity: 95% (took 5 damage from thermal proximity).

But the rival drone is now 2 cells away and closing fast. Operator has ~15 seconds before contact.

Minutes 48-50: Sprint to Surface. The operator does emergency ascent (CAR rapidly pressed multiple times, ascending through depth 4→3→2→1→0). Voice 1 tones rise with each depth increase (200Hz→400Hz→800Hz). Ascending major chord plays.

Rival drone is in pursuit but loses lock at shallow depth (rival doesn’t operate well near surface).

Minute 50: Extraction Success. Operator surfaces. Ascending major chord resolves. Cipher voice: “CARGO MANIFEST: 3 items, 1580 credits. Mission success. Hull integrity: 95%. Reputation +5. NEW TITLE: Deep Salvage Specialist.”

Operator feels: “That was tense. My decisions mattered. I made a risky gamble (the deep artifact) and it paid off. But I almost got caught. I’m getting better.”

Total time: 50 minutes. Operator is satisfied and motivated to continue.

An operator takes a Tier 2 contract and fails at minute 18. A surface hunter detected their initial ping and locked on. They tried to escape shallow but got caught. Hull breach. Mission aborted.

But the failure taught them:

  • Surface hunters become active within ~10 seconds of detecting an active sonar ping.
  • The time-to-intercept in shallow water is ~15 seconds.
  • A successful escape requires being deeper than depth 2 before the hunter closes.

On the next contract, they apply lessons: no active sonar in depth 0-2. Navigate deep first, then return to shallow for final extraction. The failed run advanced their understanding. They are now safer.


There is no tutorial screen. The dive begins. Learning happens through play.

The Deckline powers on. The nOSh runtime loads. The Mission Board displays three contracts:

CONTRACT 1: SHALLOW SURVEY
THREAT LEVEL: 1 | PAYOUT: 40 CREDITS
OBJECTIVE: Map sonar environment at depth 1-2. No combat.
CONTRACT 2: SALVAGE (RECOMMENDED)
THREAT LEVEL: 1 | PAYOUT: 50 CREDITS
OBJECTIVE: Recover 2 treasure items at depth 2-3. Light opposition.
CONTRACT 3: EVASION
THREAT LEVEL: 2 | PAYOUT: 80 CREDITS
OBJECTIVE: Evade rival drone, extract with cargo. High challenge.

The operator selects CONTRACT 2 (default recommendation for new operators).

Cipher voice: “Drone systems online. Pressure hull nominal. Ballast ready. Standing by for depth target, Operator. The ocean awaits.”

The operator presses CAR to descend. The nOSh runtime moves the drone to depth 1. Voice 1 plays a sonar sweep animation (descending tone, 800Hz down to 400Hz, 2 seconds).

Cipher voice: “Depth 1 reached. Passive sonar active. Listen to the water.”

The operator hears ambient ocean sounds layered underneath Voice 1 (subtle waves, distant whale calls). The YM2149 Voice 1 becomes a baseline drone (800Hz, steady, like the hum of the submarine).

The operator presses INFO (OBSERVE key). The screen switches to SONAR SCOPE — a 9×9 grid of amber dots representing terrain at current location. The YM2149 plays a low tom hit (acknowledgment).

Cipher voice: “Sonar scope active. You are here (center of display). Cyan dots are terrain. No immediate threats detected.”

The operator sees: terrain formations around them. The scope is mostly empty (safe water).

The operator double-taps INFO (ORIENT assist). Cipher voice: “You are in shallow, open water. No threats nearby. Optimal movement: navigate east or north to seek treasure. Treasure produces distinct sonar returns—listen for harmonic bell tones as you approach.”

The operator is learning: INFO reveals sonar. Double-tap reveals interpretation. Cipher is a guide.

The operator presses numpad 6 (east movement, APPLY key equivalent). The drone moves 1 cell east. The sonar scope updates (new terrain visible to the east). Voice 1 remains steady (depth unchanged).

The operator hears no change (empty water). They press 6 again. Another cell east. Again.

After 4 cells, the operator hears Voice 3 start to rise slightly (600Hz). There’s something ahead, 2-3 cells away, not immediate but detectable.

Operator intuitively understands: “Voice 3 rising = something ahead.”

The operator moves 2 more cells east. Voice 3 continues rising. Now they hear something new: a soft bell tone (1100Hz, harmonic, pleasant).

Cipher voice: “Treasure detected. Sonar signature indicates high-value item. Distance approximately 2 cells. Deploy collection equipment.”

The operator has not been instructed what “deploy equipment” means, but the context is clear. They press APPLY key. A submenu appears:

EQUIPMENT:
A) Grappling Arm
B) Decoys
C) Sonar Jammer
D) (none available)

The operator selects A (grappling arm, the obvious choice for grabbing treasure). They press EVAL.

The nOSh runtime deploys the arm. Voice 1 overlays mechanical grinding noise (300-1000Hz sweep, 300ms). Then a metallic clank (success!).

Treasure acquired! The bell tone stops. +50 credits awarded. Cipher voice: “Excellent. First salvage confirmed. You have 1 treasure in cargo manifest. Continue exploring or return to surface.”

The operator is learning: APPLY deploys equipment. Grinding noise = mechanical action. Clank = success. Credits = reward.

The operator continues exploring. They find a second treasure. They try to grab it with the grappling arm again, but they’ve already used that equipment on the first treasure. The interface shows “(depleted)” next to the arm.

Cipher voice: “Grappling arm exhausted. You must return to surface and select different equipment for the next dive, or continue with passive sonar only.”

The operator realizes: equipment is consumable. They’ve spent their grappling arm.

At this point, 5 minutes have elapsed. The operator has learned:

  1. Pressing CAR descends (depth changes).
  2. Pressing INFO reveals sonar (OBSERVE).
  3. Double-tapping INFO reveals interpretation (ORIENT).
  4. Pressing numpad keys moves laterally.
  5. Pressing APPLY uses equipment.
  6. Pressing EVAL confirms actions.
  7. Voice 1 is sonar information (frequency = depth).
  8. Voice 3 is threat information (frequency = threat distance).
  9. Bell tones = treasure nearby.
  10. Equipment is limited and consumable.

All learned by playing, not reading.


As operators gain reputation, hidden systems unlock and reveal themselves.

Every operator has an “acoustic signature” — a 2-byte hidden value encoding how “loud” their recent operations have been. It accumulates based on:

  • Active sonar pings: +2 per ping
  • Equipment deployment: +1 per use
  • Evasion maneuvers: +1 per maneuver
  • Cargo collection: +0.5 per item (loud grappling = loudness)

The signature decays slowly (−1 per 5 minutes of silent operation). At high signature values (10+), threats become more likely to detect and pursue the operator.

Visibility at Rep milestones:

  • Rep 0-14: Hidden (operator doesn’t see the value).
  • Rep 15+: Visible in mission briefing (“Acoustic signature: 6/15”).
  • Rep 25+: Fully transparent with predictive detection probability (“Active sonar ping will increase detection risk by +15%”).
  • Rep 50+: Operator can reset signature to zero with “silent protocol” maneuvers (special deep dives where zero pings = bonus multiplier).

At reputation 15, the operator unlocks “Blindfolded Mode” — the ability to disable the visual sonar scope entirely and navigate using sound alone.

Pressing a secret key combination (SYS + CAR) disables the SONAR SCOPE display. The screen goes black. Only the YM2149 and Cipher voice remain.

This is not a gimmick. Experienced operators can navigate blindfolded:

  • Voice 1 frequency = depth
  • Voice 1 rumble patterns = terrain complexity
  • Voice 3 frequency = threat distance and type
  • Bell tone timbre = treasure type and distance
  • Mechanical noise patterns = equipment status

An operator who plays blindfolded mode for an entire dive unlocks “Auditory Master” title and receives a +10% payout bonus on future dives.

At reputation 20, the operator can accept “Silent Run” contracts — dives where zero active sonar pings are required/rewarded.

A Silent Run contract:

  • Offers higher base payout (+30% compared to standard).
  • Requires navigation using passive sonar only (no active pings allowed).
  • Failure mode: deploy 1 active ping = contract ends, payout halved.
  • Success mode: complete the dive with 0 pings = +50% bonus multiplier applied.

Example: Standard salvage = 300 credits. Silent Run version = 300 × 1.3 (base) × 1.5 (perfect bonus) = 585 credits if completed silently.

Silent Runs force operators to develop advanced listening and pattern recognition skills. They become psychological challenges (resisting the temptation to ping when uncertain).

Rival Operator AI Progression (FORMAL PROGRESSION TABLE)

Section titled “Rival Operator AI Progression (FORMAL PROGRESSION TABLE)”

As the operator gains reputation, rival drone operators become smarter. This progression is formal and deterministic, enabling implementation and balanced difficulty scaling.

AspectSpecification
Behavior PatternSimple fixed waypoint patrol (3-4 predetermined locations per depth level)
Detection MechanismReacts to active sonar pings only (LINK key). Passive listening disabled.
Reaction Time5–10 seconds delay (slow)
MemoryNo persistent memory. Each dive resets rival state.
CoordinationIndependent; does not coordinate with surface hunters or other rivals.
Player FeedbackNo explicit indication. Operator must infer rival presence from Voice 3 escalation.
Threat Difficulty1 (easily evaded)
Encounter Probability30% of Tier 1 contracts
Audio SignaturePredictable rhythm sonar ping (0.5 Hz, regular).
WeaknessSilent operation (passive sonar) completely evades detection.
Escape DifficultyEasy (moving 3+ cells away or depth changing breaks lock)

Example: Rival drone patrols depth 3, cells (4,4) → (8,4) → (8,8) → (4,8) in cycle. Operator pings at (6,6). Rival hears ping, begins moving toward ping origin at 1 cell/second. Operator has 5+ seconds to move away or ascend. Rival arrives at (6,6) 5 seconds later, finds empty water. Returns to patrol.


AspectSpecification
Behavior PatternAdaptive patrol; adjusts path based on operator location hints (recent pings, equipment noise)
Detection MechanismReacts to active sonar AND loud equipment deployment (grappling arm, jammer, decoys)
Reaction Time3–5 seconds delay (moderate)
MemoryRemembers last 3 operator maneuver patterns within a single dive (implicit learning, not explicit)
CoordinationLimited; if surface hunter is present and pinging, rival adjusts patrol to avoid interference.
Player FeedbackCipher voice warning: “Rival operator is learning your tactics. Change course.” (Delivered after 2–3 detected actions)
Threat Difficulty2 (moderately challenging)
Encounter Probability50% of Tier 2–3 contracts
Audio SignatureAdaptive rhythm sonar ping (variable 0.5–1 Hz, slightly erratic).
WeaknessPassive sonar only + silent equipment deployment (no grappling arm use) = difficult to detect.
Escape DifficultyModerate (requires deliberate deception: false movement, depth changes, heading changes)

Example: Operator deploys equipment at (6,4). Rival detects mechanical noise (cost: +1 acoustic signature, visible to rival). Rival begins moving toward noise source. Operator notices Voice 3 rising. Operator moves 4 cells northeast (deliberate, loud movement). Rival expects operator to flee but anticipates flight northeast. Operator actually descends (CAR key) to depth 4. Rival arrives at (10,4), finds empty water at depth 3. Loses lock.


AspectSpecification
Behavior PatternPredictive positioning; anticipates operator destination based on sonar history and mission context
Detection MechanismReacts to active sonar, loud equipment, AND cargo manifest estimation (rival infers loaded cargo from movement speed changes)
Reaction Time2–3 seconds delay (fast)
MemoryBuilds acoustic profile across multiple dives; remembers rival encounters from previous missions (Depthcharge cartridge history persists)
CoordinationYes; coordinates with surface hunters (if both present, rival communicates via passive sonar coordination: rival’s pings hint at operator location to hunters)
Player FeedbackCipher voice warning: “Rival operator has studied your recent operations. Expect aggressive tactics.” (Delivered on encounter)
Threat Difficulty3 (challenging)
Encounter Probability70% of Tier 3–4 contracts
Audio SignatureIntelligent adaptive sonar (variable rhythm, anticipatory pings ahead of predicted operator movement)
WeaknessPredictive model assumes operator is rational. Irrational decisions (random depth changes, unnecessary pings) defeat prediction.
Escape DifficultyHard (requires sophisticated deception: silent sustained movement, false equipment deployment, thermal vent masking)

Example: Operator has retrieved treasure at depth 4, cell (8,8). Rival hears movement slowing (cargo weight affects speed). Rival infers operator is loaded. Rival calculates likely escape routes (surface via northeast passage most efficient). Rival positions 1 cell northeast of escape route, waiting. Operator attempts northeast escape. Rival intercepts. Voice 3 spikes. Combat or evasion required.


AspectSpecification
Behavior PatternPsychological tactics; deploys false alarms (decoys), baits operator into revealing position, uses sound masking
Detection MechanismReal-time threat response (<2s delay); anticipates evasion maneuvers (LAMBDA key) before operator executes
Reaction Time<2 seconds (nearly simultaneous)
MemoryFull tactical profile persists across multiple sessions; rival remembers operator’s preferred maneuvers, escape routes, equipment loadouts
CoordinationAdvanced; surface hunters and rival drones coordinate as team (relay: rival reports position, hunters respond)
Player FeedbackAudio signature change: Rival’s sonar ping timbre becomes recognizable and distinct (different harmonic pattern than novice rival); operator can identify rival’s call by sound alone
Threat Difficulty4 (very challenging)
Encounter Probability80% of Tier 4–5 contracts
Audio SignatureDistinctive timbre (higher harmonics than standard ping, recognizable as “expert rival”); variable rhythm (deceptive, sometimes silent for extended periods)
WeaknessOverconfidence; if operator executes unexpected maneuver, rival may misjudge and pursue wrong vector. Psychological tactics can backfire.
Escape DifficultyVery hard (requires meta-game deception: behave irrationally, feint escapes, use false equipment sounds)

Example: Operator is at depth 3, cargo loaded. Rival deploys decoy sonar signature (false ping) at northeast, baiting operator to flee southwest. Operator hears rival’s signature ping (now recognizable as familiar rival). Operator realizes deception. Operator instead holds position, goes silent. Rival realizes deception backfired. Chase escalates to combat situation. Torpedo from surface hunter incoming. High-stakes encounter.


AspectSpecification
Behavior PatternTactical duel mode; equivalent to player skill level; outcome depends on moment-to-moment decisions
Detection MechanismReal-time (<0.5s delay); predictive model of operator behavior so accurate it approaches telepathy
Reaction Time<0.5 seconds (simultaneous, human-like response speed)
MemoryEvolving opponent model; learns from every encounter; adapts strategy mid-dive based on observed operator decisions
CoordinationPerfect; all surface hunters and rival drones coordinate as single organism; voice radio network (simulated in firmware)
Player FeedbackExplicit rival pilot name appears in briefing: “Rival: [NAME], Threat Level 5” (e.g., “Rival: CASSIOPEIA”)
Threat Difficulty5 (extremely challenging, requires expert play)
Encounter Probability100% of Tier 5–6 contracts (endgame rivals, unavoidable)
Audio SignatureUnique harmonic pattern (each legendary rival has distinct sonar timbre); unpredictable rhythm (silent for extended periods, then bursts of activity)
WeaknessNone; legendary rivals are essentially AI-controlled players with same skill cap as human operator
Escape DifficultyImpossible without superior play (cannot outrun, must outsmart via decision-making)

Example: Operator encounters legendary rival CASSIOPEIA (Rep 32+). Operator’s every sonar ping is detected instantly. Operator’s every equipment deployment is countered (rival assumes grappling arm will be used, so predicts position and arrives just as operator deploys). Operator must use unconventional tactics: sacrifice cargo, use thermal vent damage as cover, deploy unnecessary equipment to confuse prediction. Only through meta-game expertise (defeating the AI’s learning algorithm) can operator succeed.


At Rep 40+, rival encounters reach their skill ceiling. Additional reputation increases do NOT increase rival difficulty (already at maximum). Instead:

  • Contract threat level increases (more surface hunters, more hazards, environmental complexity increases).
  • Legendary rivals retain their individual personalities (CASSIOPEIA, KRAKEN, LEVIATHAN, etc.), each with slightly different tactical preferences.
  • Rare “Mirror Match” contracts become available: operator faces a clone of their own tactics (rival is given a recording of operator’s previous moves and must counter it). Outcomes are genuinely 50/50 skill-based.

As the operator’s reputation increases, the ocean becomes more complex.

Rep 0-9: Simple dives. Shallow water, few contacts, straightforward navigation. Threat level 1-2 maximum.

Rep 10-19: Moderate complexity. Multiple depth levels, thermal vents, rival drones appear. Threat level 2-3.

Rep 20-29: High complexity. Environmental hazards (pressure zones, collapsing rubble, aggressive wildlife). Threat level 3-4.

Rep 30-39: Extreme complexity. Chaotic environments (multiple rival operators, surface hunters coordinating, unpredictable thermal activity). Threat level 4-5.

Rep 40+: Emergent complexity. Environmental behavior is semi-intelligent (pressure zones “hunt,” thermal vents “follow” the drone, the ocean itself seems adversarial). Threat level 5-6 (custom). Only the most skilled operators survive.


10. LINKED PLAY: ASYMMETRIC HUNTER VS OPERATOR

Section titled “10. LINKED PLAY: ASYMMETRIC HUNTER VS OPERATOR”

The KN-86 Deckline supports two-unit linked play for Depthcharge. One operator pilots the drone (DEPTHCHARGE_OPERATOR mode). The other operator controls surface threats (SURFACE_HUNTER mode).

The operator runs standard Depthcharge gameplay. They see the sonar scope, hear the YM2149, navigate the underwater environment, and pursue mission objectives.

The operator does NOT see the hunter’s actions or plans. They only perceive the hunter’s effects: active sonar pings from the surface, torpedo launches, acoustic interference.

The hunter controls a network of surface assets:

  • 2-4 surface vessels (corvettes, trawlers).
  • Sonar arrays (passive + active).
  • Torpedo launchers.
  • Communication networks (can coordinate hunter movements with revealed information).

The hunter sees a different display:

[SURFACE HUNTER INTERFACE]
OPERATOR LOCATION: UNCERTAIN (last detected bearing: NE, 3 cells)
THREAT ASSESSMENT: MEDIUM (operator has deployed grappling arm, estimated cargo: 200+ credits)
SURFACE ASSETS:
Vessel A: Depth 0 (surface), bearing NORTH, sonar ACTIVE
Vessel B: Depth 0 (surface), bearing SOUTHEAST, sonar PASSIVE
Vessel C: Depth 1-2, bearing EAST, ready to deploy torpedo
OPERATOR ALERTS:
• 2 minutes ago: Active sonar ping detected (bearing NE, ~5 cells)
• 45 seconds ago: Equipment deployment detected (mechanical grinding, bearing NE)
• Current: Operator moving deeper (sonar echoes suggest depth 3-4)
HUNTER ACTIONS:
[PING] — Emit active sonar (costs 1 turn, broadcasts your presence)
[DEPLOY TORPEDO] — Fire at predicted location (irreversible, one-time use per vessel)
[MOVE VESSEL] — Reposition surface asset (costs 1 turn, takes ~10 seconds real time)
[JAMMING] — Emit broadband noise to degrade operator sonar (costs 2 turns, medium effectiveness)

The hunter’s goal: intercept the operator before they escape with cargo.

The operator has incomplete information: they don’t know the hunter’s location or strategy. They must infer from acoustic cues (sonar pings, torpedo sounds, interference).

The hunter has incomplete information: they don’t know the operator’s precise location or cargo. They must infer from recent actions and predict likely escape routes.

Both operators are in a game of prediction and bluff.

Example Scenario:

Operator is at depth 3, center of map. They have 1200 credits of cargo. Oxygen is at 8 minutes remaining. Hunter fired a ping 30 seconds ago (operator detected the ping, now knows hunter is present).

Operator must decide:

  • Surface immediately (northeast passage, likely escape route)? Risk: hunter may have predicted this and moved a vessel to intercept.
  • Go deeper (southwest passage, longer but less predictable)? Risk: oxygen may not support the longer route.
  • Deploy decoy and confuse hunter? Risk: decoys are loud, may alert other threats.

Hunter must decide:

  • Move Vessel A to northeast (predicted escape route, aggressive)? Risk: operator goes deep instead, wasting the move.
  • Fire torpedo at predicted operator location? Risk: irreversible, one shot, may miss.
  • Jam sonar (degrade operator’s information)? Risk: operator might then panic and make a bad decision that benefits the hunter unintentionally, or might slow down and become more cautious.

The tension emerges from asymmetric information and the need to predict human behavior.

Both operators profit from a successful completion, but with different incentive structures:

  • Operator: Standard payout based on cargo + difficulty bonus. If operator is caught, payout is halved.
  • Hunter: Fixed bounty (20% of standard operator payout) for successful interception. If operator escapes, hunter gets 0.

This creates negotiation dynamics:

  • A veteran operator might say, “I’ll take hard contracts (Threat 4-5). You get a substantial bounty if you catch me.”
  • A novice operator might say, “I’ll take easy contracts. You’ll make money, I won’t risk losing everything.”

Partnerships form based on matched skill levels and risk tolerance.

Two emulator instances connect via OSC (Open Sound Control) networking:

Terminal window
./kn86emu --linked-mode operator --osc-port 9001 # Operator
./kn86emu --linked-mode hunter --osc-port 9002 --opponent-osc-port 9001 # Hunter

The phase chain state is synchronized every 1 second. Both operators’ actions are propagated across the link with minimal latency.


All screens fit 80 columns × 25 rows. Row 0 = firmware status bar (bright amber). Rows 1-23 = content. Row 24 = firmware action bar (inverse, nOSh-runtime-owned).

ROW 0: DEPTHCHARGE > MISSION BRIEFING [REP 18] [CREDITS: 320] [HULL: 100%]
ROW 1:
ROW 2: MISSION: SALVAGE ARTIFACT
ROW 3: THREAT LEVEL: 3 | PAYOUT: 250–600 CREDITS | DURATION: 20 MINUTES
ROW 4:
ROW 5: ENVIRONMENT:
ROW 6: Depth range: 2–5 (target at depth 4)
ROW 7: Hazards: Thermal vents (NE sector), seaweed field (central)
ROW 8: Contacts detected: 2 surface hunters, 1 rival drone, 4 treasure items
ROW 9:
ROW 10: THREAT ASSESSMENT:
ROW 11: Surface hunters patrol at depth 0–2. Avoid active sonar in shallow water.
ROW 12: Rival drone is adaptive. Expect interception if you emit loud signatures.
ROW 13: Pressure zone at depth 4 is dangerous (−50 HP on contact). Find alternate route.
ROW 14:
ROW 15: EQUIPMENT SELECTION:
ROW 16: [A] Grappling Arm [B] Decoys (×2) [C] Sonar Jammer
ROW 17: [D] Cutting Torch [E] (empty slot)
ROW 18:
ROW 19: STEALTH CREDITS: 8 / 8
ROW 20: OXYGEN CAPACITY: 20 MINUTES
ROW 21: (Ready to descend. Press CAR to begin dive.)
ROW 22: [CAR=descend] [CDR=ascend] [INFO=briefing] [SYS=menu]
ROW 23: AWAITING INPUT | OPERATOR: CIPHER | DEPTH: SURFACE

Screen 2: Sonar Scope (Primary Gameplay View)

Section titled “Screen 2: Sonar Scope (Primary Gameplay View)”
ROW 0: DEPTHCHARGE > SONAR SCOPE [DEPTH 3] [TIME: 12:45] [STEALTH: 5] [HULL: 94%]
ROW 1:
ROW 2: SONAR SCOPE (9×9 GRID)
ROW 3:
ROW 4: · · · · · · ·
ROW 5: · · ■ · ▲ · · ·
ROW 6: · · · ◆ · · · ★ · ·
ROW 7: · · · ● · · ◆ · ·
ROW 8: · · ★ · ◆ · · · ·
ROW 9: · · ◆ · · · ·
ROW 10:
ROW 11: LEGEND:
ROW 12: ●=DRONE (you) ■=TERRAIN ◆=TREASURE ▲=SURFACE HUNTER ★=RIVAL DRONE
ROW 13:
ROW 14: NEAREST CONTACTS:
ROW 15: • Treasure NE 2 cells, soft bell tone (1100 Hz), ~300 cr value
ROW 16: • Rival drone NE 4 cells, threat tone rising (800 Hz), closing slowly
ROW 17: • Thermal vent NW 5 cells, 50 Hz rumble (ambient)
ROW 18:
ROW 19: (Passive sonar active. No pings deployed. Stealth mode stable.)
ROW 20:
ROW 22: [INFO=inspect] [CAR=descend] [CDR=ascend] [LINK=ping] [APPLY=equipment]
ROW 23: PASSIVE SONAR | ACOUSTIC SIGNATURE: 4/15 | DEPTH 3 | HEADING: NE

Screen 3: Depth Chart (Vertical Cross-Section)

Section titled “Screen 3: Depth Chart (Vertical Cross-Section)”
ROW 0: DEPTHCHARGE > DEPTH CHART [DEPTH 3 OF 10] [TIME: 12:45]
ROW 1:
ROW 2: VERTICAL CROSS-SECTION (N-S AXIS, CURRENT POSITION AT CENTER)
ROW 3:
ROW 4: DEPTH 0 (SURFACE): ═══════════════════════════════════════════════════
ROW 5: ▲ (surface hunter) ▲ (surface hunter)
ROW 6:
ROW 7: DEPTH 1–2: ═══════════════════════════════════════════════════
ROW 8:
ROW 9: DEPTH 3 (CURRENT): ◆ (treasure) · · ● (you) · · ◆ (treasure)
ROW 10: ★ (rival drone, 4 cells NE)
ROW 11:
ROW 12: DEPTH 4: ═══════════════════════════════════════════════════
ROW 13: ⚠ (pressure zone, DANGER)
ROW 14:
ROW 15: DEPTH 5–10 (DEEP): ═════════════════════════════════════════════════
ROW 16: ◆ (legendary treasure, depth 5, HIGH VALUE)
ROW 17:
ROW 18: HAZARDS:
ROW 19: • Thermal vents at depths 3–4 (NW sector, 50 Hz rumble)
ROW 20: • Seaweed field at depth 3 (central, slows movement −20%)
ROW 21:
ROW 22: [INFO=return to sonar] [CAR=descend] [CDR=ascend]
ROW 23: DEPTH CHART | VERTICAL NAVIGATION | PRESSURE: 400 ATMS AT DEPTH 4
ROW 0: DEPTHCHARGE > CARGO MANIFEST [TIME: 12:45] [TOTAL VALUE: 380 CREDITS]
ROW 1:
ROW 2: COLLECTED ITEMS:
ROW 3:
ROW 4: [1] BRONZE ARTIFACT (depth 2, 80 cr)
ROW 5: Condition: good | Risk: medium (extracted from shipwreck)
ROW 6:
ROW 7: [2] ENCRYPTED MEMORY CORE (depth 3, 150 cr)
ROW 8: Condition: excellent | Risk: medium (may have ICE defense)
ROW 9:
ROW 10: [3] GEMSTONE CLUSTER (depth 3, 150 cr)
ROW 11: Condition: excellent | Risk: low (natural formation)
ROW 12:
ROW 13: (3 items carried, 380 of 500 cargo capacity)
ROW 14:
ROW 15: EQUIPMENT STATUS:
ROW 16: ✓ Grappling Arm (used, depleted)
ROW 17: ✓ Decoys ×2 (available, 2 uses remaining)
ROW 18: ✓ Sonar Jammer (available, 1 use remaining)
ROW 19: ○ Cutting Torch (not selected, not available)
ROW 20:
ROW 21: STATISTICS:
ROW 22: [INFO=return to sonar] [CAR=drop item] [CDR=inspect item] [APPLY=discard]
ROW 23: CARGO MANIFEST | INVENTORY | WEIGHT: MODERATE | EXTRACTION READY
ROW 0: DEPTHCHARGE > DESCENT [TIME: 2:30] [DEPTH: 2→3] [HULL: 100%] [STEALTH: 8]
ROW 1:
ROW 2: DESCENDING...
ROW 3:
ROW 4: Pressure increasing...
ROW 5: Hull strain nominal.
ROW 6: Sonar clarity decreasing at depth.
ROW 7: Voice 1 (ambient) shifting deeper (800 Hz → 400 Hz).
ROW 8:
ROW 9: ENVIRONMENTAL CHANGES:
ROW 10: • Visibility reduced (passive sonar now limited to 5-cell range, was 8 cells)
ROW 11: • Pressure rumble becoming audible (50 Hz undertone now perceptible)
ROW 12: • Thermal vent activity detectable (NW sector, 50 Hz pulsing)
ROW 13:
ROW 14: THREAT ASSESSMENT:
ROW 15: • Surface hunters cannot pursue (depth 3 exceeds their operating range)
ROW 16: • Rival drone maintains presence (Voice 3 frequency: 600 Hz, distance stable)
ROW 17:
ROW 18: (Descent in progress. Press any key to abort or wait for completion.)
ROW 19:
ROW 20: [standing by...]
ROW 22: [CDR=abort descent, ascend] [LAMBDA=emergency blow]
ROW 23: DESCENDING | AUTO-STABILIZING AT DEPTH 3 | PRESSURE: 300 ATMS
ROW 0: DEPTHCHARGE > EXTRACTION [TIME: 18:15] [DEPTH: SURFACE] [HULL: 91%]
ROW 1:
ROW 2: ╔════════════════════════════════════════════════════════════════════════════╗
ROW 3: ║ EXTRACTION SUCCESSFUL ║
ROW 4: ╚════════════════════════════════════════════════════════════════════════════╝
ROW 5:
ROW 6: CARGO DELIVERED: 3 items | 1580 CREDITS
ROW 7:
ROW 8: SCORING BREAKDOWN:
ROW 9: Base payout (salvage value): 1200 credits
ROW 10: Speed bonus (completed in 18:15 of 20:00): +150 credits
ROW 11: Hull integrity bonus (91% remaining): +100 credits
ROW 12: Stealth bonus (used 2 of 8 pings): +130 credits
ROW 13: TOTAL PAYOUT: 1580 credits
ROW 14:
ROW 15: MISSION STATISTICS:
ROW 16: Depth reached: 4 | Threats encountered: 1 rival drone
ROW 17: Hazards triggered: 1 thermal vent contact (−9 hull)
ROW 18: Acoustic signature at conclusion: 4 (low, stealth maintained)
ROW 19:
ROW 20: REPUTATION GAINED: +5 → NEW RANK: DRONE COMMANDER (Rep 23)
ROW 21:
ROW 22: [EVAL=next mission] [BACK=mission board] [SYS=save and exit]
ROW 23: EXTRACTION COMPLETE | DECK STATE SAVED | READY FOR NEXT OPERATION
ROW 0: DEPTHCHARGE > ALERT [TIME: 14:32] [DEPTH: 2] [HULL: 100%] [STEALTH: 2]
ROW 1:
ROW 2: ⚠ ⚠ ⚠ SURFACE HUNTER LOCK-ON DETECTED ⚠ ⚠ ⚠
ROW 3:
ROW 4: THREAT ASSESSMENT: CRITICAL
ROW 5:
ROW 6: Surface hunter at depth 0 has locked sonar bearing on your position.
ROW 7: Torpedo launch detected. Incoming projectile.
ROW 8:
ROW 9: EVASION OPTIONS:
ROW 10: [LAMBDA] Emergency maneuver (hard turn, −3 HP, breaks lock temporarily)
ROW 11: [CAR] Emergency descent (depth 2→3, escapes surface hunter range)
ROW 12: [APPLY] Deploy decoy (confuses hunter, torpedo redirects, ±30% success rate)
ROW 13: [LAMBDA+EVAL] Ramming course (dodge by collision, high risk)
ROW 14:
ROW 15: TORPEDO FLIGHT TIME: ~3 SECONDS REMAINING
ROW 16: Your cargo (current 380 cr) will be destroyed 30% on impact.
ROW 17:
ROW 18: (Audio: rapid rise in Voice 3 frequency, alarm klaxon, torpedo whoosh sound)
ROW 19:
ROW 20: DECIDE NOW:
ROW 22: [LAMBDA=maneuver] [CAR=descend] [APPLY=decoy] [BACK=abort]
ROW 23: TORPEDO INBOUND | EVASION TIME: 3 SECONDS | CHOOSE ACTION NOW

Depthcharge’s cell architecture maps to nOSh cartridge grammar (CAPABILITY_DECLARE, PHASE_HANDLER, CELL_DEFINE, etc.).

The top-level mission cell. Contains the entire underwater scenario.

typedef struct {
uint8_t depth; /* Current depth (0–10) */
uint16_t x, y; /* Drone position (0–15 per depth level) */
uint32_t oxygen_remaining; /* Seconds of oxygen left */
uint32_t time_elapsed; /* Mission time elapsed */
uint16_t cargo_value; /* Total value of cargo in hold */
uint8_t cargo_count; /* Number of items in cargo */
uint8_t hull_integrity; /* 0–100, damage % */
uint8_t stealth_credits; /* Active sonar pings remaining */
uint16_t acoustic_signature; /* Hidden threat level indicator */
/* Threats */
uint8_t surface_hunter_count;
uint8_t rival_drone_count;
/* Environment */
uint8_t depth_hazards[11]; /* Hazard flags per depth (bitmask) */
uint8_t thermal_vent_active; /* 1 if thermal vent in current sector */
} DIVE_CELL;
typedef struct {
CellBase base;
DIVE_CELL dive_state;
/* Handlers */
void (*on_car)(SystemState *sys, CellBase *cell); /* Descend */
void (*on_cdr)(SystemState *sys, CellBase *cell); /* Ascend */
void (*on_eval)(SystemState *sys, CellBase *cell); /* Confirm action */
void (*on_lambda)(SystemState *sys, CellBase *cell); /* Evasion maneuver */
void (*on_link)(SystemState *sys, CellBase *cell); /* Active sonar ping */
void (*on_apply)(SystemState *sys, CellBase *cell); /* Deploy equipment */
void (*on_info)(SystemState *sys, CellBase *cell); /* Inspect sonar scope */
void (*on_display)(SystemState *sys, CellBase *cell); /* Render to screen */
void (*on_update)(SystemState *sys, CellBase *cell, uint32_t delta_ms); /* Per-frame update */
} DiveCell_Handlers;

Each horizontal plane at a given depth.

typedef struct {
uint8_t depth;
uint8_t terrain[16][16]; /* Terrain map (packed bits: 0=water, 1=rock) */
uint8_t hazard_type[16][16]; /* Hazard flags (pressure, thermal, seaweed) */
} DEPTH_LEVEL_CELL;
typedef struct {
CellBase base;
DEPTH_LEVEL_CELL level_state;
void (*on_car)(SystemState *sys, CellBase *cell); /* Descend to next level */
void (*on_cdr)(SystemState *sys, CellBase *cell); /* Ascend to prev level */
void (*on_numpad)(SystemState *sys, CellBase *cell, uint8_t key); /* Move (8/2/4/6) */
void (*on_display)(SystemState *sys, CellBase *cell);
} DepthLevelCell_Handlers;

A collectible item.

typedef struct {
uint16_t location_x, location_y;
uint8_t location_depth;
uint16_t value; /* Credits */
uint8_t hazard_level; /* 1–5, difficulty to extract */
uint8_t is_collected; /* 1 if already in cargo */
char acoustic_signature[32]; /* Descriptive string: "bell tone," "metallic," etc. */
} TREASURE_CELL;
typedef struct {
CellBase base;
TREASURE_CELL treasure;
void (*on_atom)(SystemState *sys, CellBase *cell); /* Test if collectible */
void (*on_eq)(SystemState *sys, CellBase *cell, CellBase *other); /* Compare signatures */
void (*on_eval)(SystemState *sys, CellBase *cell); /* Collect treasure */
void (*on_info)(SystemState *sys, CellBase *cell); /* Inspect treasure */
} TreasureCell_Handlers;

A threat (surface hunter or rival drone).

typedef struct {
uint8_t type; /* 0=SURFACE_HUNTER, 1=RIVAL_DRONE */
uint16_t x, y;
uint8_t depth;
uint8_t intelligence; /* 0–5, behavior complexity */
uint8_t is_alert; /* 1 if actively pursuing */
uint32_t last_detection_time; /* Timestamp of last operator detection */
uint8_t patrol_pattern[8]; /* Stored waypoints for patrol */
} ENEMY_CELL;
typedef struct {
CellBase base;
ENEMY_CELL enemy;
void (*on_atom)(SystemState *sys, CellBase *cell); /* Classify enemy type */
void (*on_eq)(SystemState *sys, CellBase *cell, CellBase *other); /* Compare threat profiles */
void (*on_info)(SystemState *sys, CellBase *cell); /* Inspect threat details */
void (*on_update)(SystemState *sys, CellBase *cell, uint32_t delta_ms); /* AI update */
} EnemyCell_Handlers;

A deployable tool.

typedef struct {
uint8_t type; /* 0=GRAPPLING_ARM, 1=DECOYS, 2=JAMMER, 3=CUTTING_TORCH */
uint8_t slot; /* Equipment slot (0–2) */
uint8_t uses_remaining; /* Remaining uses (1 for most, 2 for decoys) */
uint16_t acoustic_cost; /* Stealth credits cost on use */
uint8_t success_rate; /* 0–100 % */
} EQUIPMENT_CELL;
typedef struct {
CellBase base;
EQUIPMENT_CELL equipment;
void (*on_atom)(SystemState *sys, CellBase *cell); /* Test availability */
void (*on_apply)(SystemState *sys, CellBase *cell); /* Deploy equipment */
void (*on_info)(SystemState *sys, CellBase *cell); /* Inspect equipment details */
} EquipmentCell_Handlers;

An environmental threat.

typedef struct {
uint8_t type; /* 0=PRESSURE_ZONE, 1=THERMAL_VENT, 2=SEAWEED */
uint16_t x, y;
uint8_t depth;
uint8_t damage_per_turn; /* HP damage if in hazard (0 if passive) */
uint8_t effect_radius; /* Cells affected */
uint32_t duration; /* Milliseconds (0 = permanent) */
} HAZARD_CELL;
typedef struct {
CellBase base;
HAZARD_CELL hazard;
void (*on_atom)(SystemState *sys, CellBase *cell); /* Classify hazard type */
void (*on_info)(SystemState *sys, CellBase *cell); /* Inspect hazard details */
void (*on_update)(SystemState *sys, CellBase *cell, uint32_t delta_ms); /* Hazard behavior */
} HazardCell_Handlers;

13. KEY MAPPING TABLE & CAR/CDR SEMANTIC CLARIFICATION

Section titled “13. KEY MAPPING TABLE & CAR/CDR SEMANTIC CLARIFICATION”

All 31 keys have per-cell behavior. Unmapped keys are a design error.

CAR / CDR Semantic Clarification (Critical for SDK Consistency)

Section titled “CAR / CDR Semantic Clarification (Critical for SDK Consistency)”

In Depthcharge, depth is a linear Lisp list: depth 0 → depth 1 → depth 2 → … → depth 10. CAR and CDR semantics must be unambiguous:

  • CAR (drill into): Move deeper in the depth list (depth +1). In Lisp terms: “contents of address register” = next level down = drill deeper.
  • CDR (rest of list): Move to previous element of the depth list (depth −1). In Lisp terms: “contents of decrement register” = previous element = surface up.
  • Numpad 8/2/4/6 (lateral movement within depth): Cardinal movement WITHIN the current depth level. These are NOT list operations; they are pure spatial movement on the horizontal plane. They do not invoke Lisp semantics.

Semantic Overloading: Depthcharge overloads CAR/CDR beyond their usage in other modules (e.g., ICE Breaker uses CAR to “enter node” and CDR to “traverse parent node”). This is correct and intentional:

  • In ICE Breaker: network is a directed tree. CAR = descend (enter child), CDR = ascend (return to parent).
  • In Depthcharge: depth is a linear list. CAR = descend (drill), CDR = ascend (surface).

Both are valid Lisp metaphors. The key distinction is:

  • Tree structures (ICE Breaker): CAR/CDR are list operations on arbitrary topology.
  • Linear structures (Depthcharge): CAR/CDR are list operations on a 1D sequence.

For SDK authors: when implementing CAR/CDR in a new module, determine your data structure topology first. If linear, follow Depthcharge pattern. If hierarchical, follow ICE Breaker pattern.


Numpad Keys (Right 4×4 Grid): MOVEMENT & DATA

Section titled “Numpad Keys (Right 4×4 Grid): MOVEMENT & DATA”
KeyDefaultDIVE_CELLTREASURE_CELLENEMY_CELLEquipment Selection
8Move NORTHMove north within depth levelApproach treasure NTrack enemy NSelect Equipment 1
2Move SOUTHMove south within depth levelApproach treasure STrack enemy SSelect Equipment 2
4Move WESTMove west within depth levelApproach treasure WTrack enemy WBack/cancel
6Move EASTMove east within depth levelApproach treasure ETrack enemy EForward/next
5CenterReturn to previous positionCenter on treasureCenter on enemyConfirm selection
7(NW)Move NW (diagonal)Move NW toward treasureMove NW toward enemyPage up
9(NE)Move NE (diagonal)Move NE toward treasureMove NE toward enemyPage down
1(SW)Move SW (diagonal)Move SW away from threatMove SW away(alternate cancel)
3(SE)Move SE (diagonal)Move SE away from threatMove SE away(alternate next)
0(center again)Stabilize position, stop movementStabilize on treasureStabilize trackingConfirm (alternate EVAL)
+AccumulateStore value (not used in Depthcharge)Mark treasure locationMark threat vectorVolume up
Subtract(not used)Discard treasureForget threatVolume down
×Multiply(not used)Collect multiple items?(not used)Equipment mode × inventory
÷Divide(not used)Split cargo?(not used)Divide cargo mode
.Decimal(not used)Precision navigation(not used)Filter/search
ENTEnterConfirm actionCollect (same as EVAL)Attack/interactSubmit

Function Keys (Left 2×7 Grid): CONTROL & ACTIONS

Section titled “Function Keys (Left 2×7 Grid): CONTROL & ACTIONS”
KeyRowDefaultDIVE_CELLSONAR_SCOPEThreat Detection
QUOTE4,0Bookmark/DeferInitiate cartridge swapToggle display mode(not used)
CONS4,1Attach/Combine(not used in Depthcharge)(not used)(not used)
NIL4,2Discard/CancelAbort dive, surfaceExit sonar scopeDismiss alert
LAMBDA4,3Record macroEmergency evasion maneuver(not used)Evasion maneuver
INFO3,0InspectActivate sonar scopeDouble-tap: Cipher interpretationAudio detail
CAR3,1Enter/DrillDescend (depth + 1)Dive deeper in scopePredict threat depth
APPLY3,2Deploy toolDeploy equipment (grappler, jammer, etc.)Equipment menu(not used)
SYS3,3System menuTap: system menu; Hold 2s: emergency blowSystem settings(not used)
LINK2,0Initiate linkActive sonar ping (broadcast)Ping from scopeAlert hunter
BACK2,1Navigate upReturn to surface (ascend all)Exit sonar scope(not used)
CDR2,2Traverse/Next siblingAscend (depth − 1)Ascend in scopeAscend away from threat
ATOM2,3Test leafTest treasure/contact typeAnalyze contactIdentify threat class
EVAL1,0–2Execute/CommitConfirm current actionConfirm sonar actionConfirm evasion
EQ1,3Compare quotedCompare two acoustic signaturesCompare contact types(not used)

Contract types follow the capability model spec. Missions are procedurally generated using threat level, reputation, and cartridge history as seeds.

Objective: Map acoustic environment, locate specific target among noise.

Payout: 300 + (efficiency_bonus × 50) credits. Reputation: +1.

Structure:

threat_level: 1–3
survey_area: 2D depth map (16×16 cells × 3–5 depth levels)
target_signature: acoustic fingerprint (frequency pattern, harmonic content)
background_noise: environmental interference (shipwreck sonar echoes, whale sounds, thermal vent rumbles)
pings_available: 5–10 active sonar pings (resource constraint)
time_limit: 15–25 turns

Win Condition: Identify target correctly. Bonus for using fewer pings.

Example: Operator searches for downed relay station among thermal vents. Pings reveal: whale click (discard), thermal rumble (discard), metallic echo (relay found!). Payout: 300 + (3 efficient pings × 50) = 450 credits.

Objective: Recover specific object from depth, manage risk vs. resource consumption.

Payout: 500 + (depth_level × 300) credits. Reputation: +1 depth + 2 if silent.

Structure:

target_object: data cache, equipment, or artifact at depth d (1–5)
recovery_methods: grappling arm (fast, loud), passive extraction (slow, silent)
time_pressure: object degrades if left unextracted too long (payout decreases −10% per 2 minutes)
security_risk: rival drone operators may detect loud operations
threat_level: 2–4 (depends on depth and method choice)

Win Condition: Extract object and return to surface with cargo intact.

Example: Recover data cache at depth 4. Operator chooses silent extraction (8 turns, no detection). Arrives at depth safely. Uses grappling arm (loud, −2 stealth). Rival drone detects. Operator must evade or fight. Payout: 500 + (4 × 300) × 1.2 (silent bonus) = 2160 credits if extraction succeeds.

Objective: Escape pursuit while maintaining stealth discipline.

Payout: 700 + (turn_efficiency × 100) credits. Reputation: +3 success / −2 failure.

Structure:

pursuer: surface hunter (fast, shallow-only) OR rival drone (smart, any depth)
pursuit_duration: 10–20 turns of active evasion
evasion_mechanics: slowing engines reduces detection, tight turns create signature
hiding_spots: thermal vents, shipwrecks, shallow water (for certain pursuer types)
threat_level: 2–5 (depends on pursuer intelligence)

Win Condition: Evade pursuer, reach surface or safe zone, maintain stealth discipline (no unnecessary pings).

Example: Rival drone pursues for 15 turns. Operator hides in thermal vent (−10 HP but +2 stealth recovery). Reemerges deeper. Rival loses track. Operator reaches safe depth. Evasion successful. Payout: 700 + (12 efficient turns × 100) = 1900 credits.

Objective: Reach encrypted undersea relay, access data or sabotage.

Payout: 1500 + (data_extracted × 200) credits. Reputation: +3.

Structure:

relay_station: underwater communications hub at depth 3–4
physical_security: locks, acoustic alarms (if broken carelessly)
network_security: ICE defense (if ICE BREAKER cartridge in history)
approach_difficulty: navigation puzzle, multiple routes with different acoustic costs
data_extraction: similar to ICE BREAKER EXTRACTION (data size, threat, time window)
acoustic_exposure: each action creates sonar signature, cumulative exposure increases hunter arrival risk
time_limit: 10–15 turns before hunter response
threat_level: 3–4 (highest in Depthcharge)

Win Condition: Access relay, extract/sabotage data, escape before hunter response.

Cross-Module Integration: If ICE BREAKER in cartridge history, relay may have ICE defense (threat level +1). Requires ICE BREAKER Hot Swap to crack encryption.

Example: Operator locates relay at depth 4. Navigates silently (5 turns, 5 cells, passive sonar only). At relay, pings once to confirm (costly, +1 alert status). Attempts physical lock bypass (mechanical sound, +2 acoustic signature). Relay opens. Extracts financial data (1500 credits base). Escapes before hunter arrives. Final payout: 1500 + (100 efficiency bonus) = 1600 credits.

ENCRYPTED CACHE Contract (Reference: See § 14.5)

Section titled “ENCRYPTED CACHE Contract (Reference: See § 14.5)”

Objective: Recover encrypted storage device; Hot Swap to ICE BREAKER permitted to decrypt for bonus payout.

See § 14.5 for full specification of this mission template, which bridges Depthcharge to ICE BREAKER via formal Hot Swap mechanics.


14.5 ENCRYPTED CACHE CONTRACT (NEW MISSION TEMPLATE)

Section titled “14.5 ENCRYPTED CACHE CONTRACT (NEW MISSION TEMPLATE)”

Objective: Recover encrypted storage device; Hot Swap to ICE BREAKER permitted to decrypt for bonus payout.

Payout: Base 700 + (decryption_efficiency × 100) credits. Reputation: +2.

Structure:

threat_level: 2–5 (depends on decryption requirement)
target_object: encrypted drive, relay core, or data vault at depth d (1–4)
encryption_hint: "ICE-class encryption detected. NETWORK INTRUSION capability suggested."
recovery_options:
Option 1 (Passive Extraction): Extract encrypted device without decryption
- Payout: 200 credits (base, no efficiency bonus)
- Risk: Low (no additional actions required)
- Time: 5–8 turns
Option 2 (Hot Swap Decryption): Physically transport encrypted device to surface, swap to ICE BREAKER, decrypt
- Payout: 500 credits (base) + (decryption_efficiency × 100) = 600–900 credits
- Risk: High (Hot Swap creates window of vulnerability; network/threats may advance)
- Decryption window: 10 minutes (if swapped). After 10 minutes without decryption attempt, encryption auto-locks (payout reduced to base 200).
- Efficiency bonus: Decrypt in <5 minutes = +100 credits. Decrypt in 5–10 minutes = +50 credits. After 10 minutes = +0 (base only).
time_pressure: Two-phase mission: Phase 1 (Depthcharge: navigate and extract), Phase 2 (ICE BREAKER: decrypt within window)
threat_level_phase_1: 2–4
threat_level_phase_2: 1–2 (reduced, as network is paused)

Win Conditions:

  • Option 1: Return to surface with encrypted cache intact. Payout: 200 + threat bonus.
  • Option 2: Return to surface with encrypted cache, swap to ICE BREAKER, successfully decrypt within 10-minute window, return decrypted data to surface. Payout: 500–900 + reputation bonus.

Example Scenario: Operator recovers encrypted relay station core at depth 3. Cipher voice: “Encryption: unknown cipher. Decryption capability not loaded. Option 1: Extract encrypted (200 credits, safe). Option 2: Hot Swap to ICE BREAKER (risky, up to 900 credits if successful).”

Operator chooses Option 2. Navigates to surface (2 turns). Swaps cartridge. ICE BREAKER boots (Scope Mode: encrypted relay interface). Network shows encrypted node. Operator uses CRACK tool to brute-force encryption (4 turns). Success. Data decrypted. Operator presses QUOTE to return to Depthcharge.

Depthcharge resumes at surface. Mission succeeds. Payout: 500 + (8 efficiency points × 100) = 500 + 100 = 600 credits. Reputation: +2. Cartridge history updated: ICE BREAKER usage recorded.


15. HOT SWAP INTEGRATION (BLOCKING ISSUE #1: FORMAL SPECIFICATION)

Section titled “15. HOT SWAP INTEGRATION (BLOCKING ISSUE #1: FORMAL SPECIFICATION)”

Depthcharge and ICE BREAKER are designed to interoperate via the Hot Swap mechanism. This section formalizes the data flow, phase chain serialization, and trigger conditions.

A Hot Swap moment occurs when:

  1. Operator encounters encrypted relay station (RELAY ACCESS or ENCRYPTED CACHE contract).
  2. Cipher voice detects capability gap: “ENCRYPTION CIPHER UNKNOWN. NETWORK INTRUSION CAPABILITY REQUIRED.”
  3. Operator presses QUOTE to initiate cartridge swap.

Alternatively, operator may proactively press QUOTE at any time to swap cartridges (tactical decision, not required).

Phase Chain Byte Layout (max 256 bytes per mission):

BYTE STRUCTURE (byte offsets):
0–1: Phase ID (uint16_t, big-endian)
Format: 0xDEPH (Depthcharge phase) or 0x1CBR (ICE Breaker phase)
2–3: Checkpoint position (uint16_t)
Format: Depthcharge = (depth << 8) | location_index
Format: ICE BREAKER = (current_node_id << 8) | traversal_depth
4–5: Operator reputation (uint16_t)
Shared across all phases (global deck state)
6–7: Accumulated stealth credits or trace (uint16_t)
Depthcharge: stealth_credits_remaining
ICE BREAKER: trace_level (inverse relationship)
8–15: Environment / Network seed (uint64_t)
Both modules hash the same seed to generate consistent topology
16–47: Threat state bitmask (32 bytes)
Bit 0–7: Surface hunters (depth, location, alert status)
Bit 8–15: Rival drones (depth, location, pursuit state)
Bit 16–23: ICE instances (node ID, type, alert status)
Bit 24–31: Hazards / obstacles (pressure zones, thermal vents)
48–79: Cargo manifest (32 bytes)
Depthcharge: item IDs, values, acoustic signatures (4 bytes per item × 8 slots)
ICE BREAKER: data payload size, encryption status (not directly applicable, ignored)
80–111: Equipment / Toolkit state (32 bytes)
Depthcharge: equipment_type, uses_remaining, acoustic_cost per slot (4 bytes × 8 slots)
ICE BREAKER: CONS matrix availability, tool depletion status
112–127: Cipher domain vocabulary (16 bytes, reserved)
Encoding: flags for narrative context (environment type, threat type, mission archetype)
128–255: Cartridge-specific data (128 bytes)
Depthcharge: hull_integrity, oxygen_remaining, acoustic_signature, thermal_vent_map
ICE BREAKER: network_topology, ICE_placement, vulnerability_map

Step 1: Trigger (Operator presses QUOTE)

  • Current phase (DEPTHCHARGE) pauses.
  • YM2149 fades to ambient hum (−∞ dB all voices except subtle hum).
  • Display shows: “INITIATING CARTRIDGE SWAP… NETWORK ADVANCING AT HALF TEMPO FOR ~10 SECONDS GAME TIME.”
  • Cipher voice: “SWAP WINDOW OPEN. PHYSICAL CARTRIDGE REQUIRED. NETWORK STABILITY: 50%. NETWORK TIME REMAINING: 10s.”

Step 2: Physical Swap

  • Operator removes DEPTHCHARGE cartridge.
  • Operator inserts ICE BREAKER cartridge.
  • Firmware detects cartridge insertion (via GPIO on hardware, simulated in emulator).
  • Phase chain is serialized (formatted as above).
  • ICE BREAKER cartridge boots.

Step 3: Network Advance (Half Tempo)

  • While the operator is holding the physical cartridge (real time: ~5 seconds), the network advances at half the normal tempo.
  • ICE does not spawn (frozen advancement).
  • Threats do not escalate (paused).
  • Trace does NOT accumulate (paused in Depthcharge; ICE BREAKER’s trace starts at 0).
  • Cipher voice counts down: “SWAP TIME REMAINING: 3… 2… 1… NETWORK RESUMING AT STANDARD TEMPO.”

Step 4: Scope Mode Activation (ICE BREAKER)

  • ICE BREAKER phase handler receives the phase chain.
  • ICE BREAKER enters SCOPED CAPABILITY MODE: operator does NOT load full ICE BREAKER experience, only the “encrypted relay analysis” capability.
  • Display shows: “ENCRYPTED RELAY STATION — NETWORK SIGNATURE: KRAKEN-CLASS ICE. AVAILABLE TOOLS: CRACK, MIRROR.”
  • Operator uses standard ICE BREAKER CONS mechanics to crack encryption (full CONS matrix available, but only signature tools are loaded).
  • Time limit: 10 minutes real time (Depthcharge dive timer pauses).

Step 5: Decryption or Analysis

  • Operator deploys tools (CRACK to brute-force, MIRROR to copy, SPIKE to redirect ICE, etc.).
  • Success: Encryption breaks. Data becomes readable.
  • Failure: Time expires. Encryption locks. Operator must return to Depthcharge with encrypted cache (Option 1 payout).

Step 6: Swap Back (Operator presses QUOTE in ICE BREAKER)

  • Phase chain is updated with decryption result (success/failure, time spent, tools used).
  • Operator removes ICE BREAKER cartridge.
  • Operator inserts DEPTHCHARGE cartridge.
  • Firmware deserializes phase chain.
  • DEPTHCHARGE resumes at last checkpoint (operator location, depth, cargo, hull integrity, stealth credits).

Step 7: Network Resume (Standard Tempo)

  • Ocean resumes at standard tempo.
  • Threats resume their AI loops.
  • Turtle or rival drone position is updated based on elapsed game time (game time = real swap time / 2).
  • Cipher voice: “NETWORK RESUMING AT STANDARD TEMPO. DECRYPTION STATUS: [SUCCESS / TIMEOUT]. RESUMING DIVE.”

Scenario: Operator recovers encrypted relay at depth 3, swaps to ICE BREAKER

Before Swap (DEPTHCHARGE phase chain):

Phase ID: 0xDEPH
Checkpoint: (0x03 << 8) | 0x05 → Depth 3, location index 5
Reputation: 0x0012 → Rep 18
Stealth credits: 0x0004 → 4 remaining
Environment seed: 0x1a2b3c4d5e6f7a8b
Threat state: [Surface hunter at depth 0, status: passive]
[Rival drone at depth 2, status: approaching]
Cargo manifest: [Artifact A, value 150] [Artifact B, value 80]
Equipment state: [Grappling arm, uses: 1] [Decoys, uses: 2] [Jammer, uses: 1]
Hull integrity: 0x5C → 92 HP
Oxygen: 0x04B0 → 1200 seconds remaining
Acoustic signature: 0x0006 → 6/15 (moderate loudness)

Operator swaps. ICE BREAKER phase chain:

Phase ID: 0x1CBR (updated by firmware on swap)
Checkpoint: encrypted_relay_node_id = 0x0301 (node in relay network)
Reputation: 0x0012 (unchanged, shared global state)
Trace level: 0x0000 (reset for ICE BREAKER scope, no carry-over)
Environment seed: 0x1a2b3c4d5e6f7a8b (same seed, ICE BREAKER generates compatible network)
Threat state: [Partially masked; only ICE threat visible, human threats frozen]
Cargo manifest: [Encrypted relay data, status: unknown]
Toolkit state: [CRACK available] [MIRROR available] [SPIKE available]
Network topology: [Relay internal nodes: 3 nodes, simple encryption: JUNK → JUNK → KRAKEN]

Operator successfully decrypts after 2 minutes. Swaps back. DEPTHCHARGE phase chain updated:

Cargo manifest: [Artifact A, value 150] [Artifact B, value 80] [Decrypted relay data, value: 600]
Stealth credits: 0x0004 → 4 remaining (unchanged; Hot Swap doesn't affect stealth)
Oxygen: 0x0430 → 1072 seconds remaining (reduced by ~2 minutes real time swap time)
Acoustic signature: 0x0008 → 8/15 (increased, since ICE BREAKER sonar operations are noisy)
Mission flags: [RELAY_DECRYPTED = 1] [SWAPPED_TO_ICE_BREAKER = 1]

The Maritime Intelligence campaign (Archetype 2, 3-phase: Depthcharge → ICE Breaker → Black Ledger) is now implementable:

Phase 1 (DEPTHCHARGE): Operator dives to depth 4, recovers encrypted relay station core.

  • Checkpoint saved to phase chain.
  • Ocean frozen (threats paused).

Phase 2 (ICE BREAKER): Operator swaps, analyzes relay encryption, decrypts financial network credentials.

  • Phase chain deserializes Depthcharge state.
  • ICE BREAKER’s network topology is seeded by same operator + environment + relay data.
  • Decryption results (credentials, account IDs) are stored in phase chain.
  • Ocean remains frozen.

Phase 3 (BLACK LEDGER): Operator swaps to Black Ledger, uses decrypted credentials to audit shell company accounts.

  • Phase chain carries forward decrypted credentials.
  • Black Ledger uses CONS mechanics to trace financial flows.
  • Final payout is multiplied by all three phases’ success bonuses.

Without this formal specification, campaign implementation is impossible.


Depthcharge participates in multi-phase campaigns and integrates with other modules via Hot Swap and deck state.

Relay Access Encryption: Underwater relay stations may have ICE defense. Requires ICE BREAKER analysis or decryption. Operator can:

  1. Attempt raw decryption (Depthcharge scope: slow, high acoustic cost).
  2. Hot Swap to ICE BREAKER (Scoped Capability Mode: access CRACK/MIRROR/SPIKE tools, fast, lower acoustic cost due to reduced tool necessity).

Cross-Module Mission Example:

  • Phase 1 (DEPTHCHARGE): Navigate to relay at depth 4, approach silently.
  • Phase 2 (ICE BREAKER): Swap cartridge, crack relay’s ICE defense (3-node network within the relay).
  • Phase 3 (DEPTHCHARGE): Swap back, extract data from now-unlocked relay.

Payout Multiplier: +50% if both phases complete cleanly without detection.

Deep Financial Havens: Underwater relay stations contain encrypted financial networks (submarine shell companies, money laundering operations). Depthcharge provides physical access; Black Ledger provides accounting analysis.

Linked Mission: MONEY RUNNING

  • Objective: Transport cash (physically) via submersible drone while evading audit detection.
  • Phase 1 (DEPTHCHARGE): Retrieve encrypted cash container from depth 5 (high-risk, high-reward salvage).
  • Phase 2 (BLACK LEDGER): Audit the cash (if caught mid-transport, Black Ledger provides evidence of origin/destination to reduce legal consequences).

Reputation Consequences: Money Running is high-risk. Success: +10 reputation. Failure: −10 reputation + potential legal entanglement.

Sonar Mapping Synergy: Operator with NEONGRID history can interpret sonar maps more quickly (NEONGRID is spatial; Depthcharge is acoustic). NEONGRID proficiency 50+ reduces threat level of SONAR SWEEP contracts (−1 threat due to intuitive navigation).

Acoustic Signature Management: NEONGRID operators develop efficient movement patterns (fewer cells traveled per objective = lower acoustic signature). On Depthcharge dives, high-NEONGRID operators receive +1 stealth credit per mission.

Reads from Universal Deck State:

  • cartridge_history: Checks which modules are loaded. If ICE BREAKER bit set, relay access contracts become available.
  • reputation_score: Determines threat level ceiling (rep < 10: max threat 2; rep 20–29: max threat 4; rep 40+: threat 5).
  • credit_balance: Used for resource management (can operator afford risky operations?).

Writes to Universal Deck State:

  • credit_balance increases moderately to heavily (DEPTHCHARGE pays 400–3500 credits per contract).
  • reputation_score increases with depth, evasion success, silent operations (same global reputation across all modules).
  • cartridge_history bit 3 set permanently (once Depthcharge is loaded).
  • NEW: acoustic_signature (2 bytes) — hidden stat encoding operator’s acoustic footprint (accumulated loudness). Influences future threat detection probability.

Cipher’s tone in DEPTHCHARGE: tactical drone pilot, increasingly mystical about the depths.

On Load:

“Drone systems online. Pressure hull nominal. Ballast ready. Standing by for depth target, Operator.”

On Dive Briefing (Rep 0–9, Apprentice):

“Listen carefully to the sonar. The water speaks. Threats have acoustic signatures. Treasures sing. Hazards growl. Learn to interpret the sounds, and the depths will reveal their secrets.”

On First Depth Change (Rep 10–19, Specialist):

“Depth increasing. Pressure mounting. The ocean grows colder, darker. But richer. The deepest treasures wait for those patient enough to listen.”

On Rival Drone Detection (Rep 20+, Commander):

“Another operator in the sector. Intelligent. Adaptive. They will try to anticipate your moves. Prove them wrong.”

On Evasion Success (Rep 30+, Legend):

“The ocean hides its children. You are becoming a ghost in the water. Fear you, the deep.”

On Acoustic Signature Warning (Rep 40+, Silent Legend):

“Your signature is known. The water remembers every ping, every tool, every careless moment. Erase yourself. Become the silence. Then hunt.”


  • Active Sonar: Acoustic ping that reveals environment but broadcasts operator position (LINK key).
  • Acoustic Signature: Hidden metric tracking operator loudness; affects threat detection probability.
  • CAR / CDR: Lisp operations mapping to physical depth: CAR = descend, CDR = ascend.
  • Cargo Manifest: Inventory of collected treasures and their combined value.
  • Depth Level: Horizontal plane at fixed depth (0 = surface, 10 = abyss).
  • Evasion Maneuver: Emergency action (LAMBDA key) to break pursuit or hide (costs Hull HP).
  • Hull Integrity: Submersible drone’s structural health (0–100 HP).
  • Linked Play: Two-unit mode with Operator piloting drone and Hunter controlling surface threats.
  • Oasis: Calm water, safe to explore, minimal threat.
  • Oxygen: Dive duration limit (20–35 minutes depending on tier).
  • Passive Sonar: Listening-only mode; detects enemies but doesn’t broadcast position.
  • Pressure Zone: Instantly lethal hazard at extreme depths; exposure = −50 HP (catastrophic).
  • Rival Drone: AI-controlled or linked-play submersible opponent; intelligent and dangerous.
  • Salvage: Process of collecting treasure from the ocean floor.
  • Scope Mode: Limited cartridge functionality during Hot Swap (access signature capability only).
  • Sonar Scope: Primary display showing 9×9 acoustic map of current location.
  • Stealth Credits: Resource consumed by active sonar pings (limits pinging frequency).
  • Surface Hunter: Fixed-position or slowly patrolling vessel on surface; shallow-water only.
  • Thermal Vent: Environmental hazard creating 50Hz rumble; masks sonar but causes damage.
  • Threat Proximity Tone: YM2149 Voice 3; frequency encodes nearest threat’s distance.
  • Torpedo: Weapon fired by surface hunter; one-hit kill if contact; 3-second flight time.

END SPECIFICATION

Version 1.0 | Engineering-ready | Suitable for C implementation against kn86-emulator codebase.


Depthcharge declares the following cipher-grammar block, merged into active tables at cart-load. Tone target: tactical drone pilot, increasingly mystical about the depths. Clipped on ascent, colder at depth.

(:subject "contact" "wreck" "sonar" "hull" "drone"
"whale" "predator" "current" "thermal"
"signal" "return" "cargo" "pressure")
(:object "compartment" "cargo" "cable" "rig" "relic"
"shell" "reef" "vent" "rib")
(:location "depth" "deep" "shallow" "thermocline"
"surface" "sector" "vent" "column")
(:verb-present "pings" "hums" "holds" "drifts" "creaks"
"descends" "ascends" "groans" "listens")
(:verb-past-participle "extracted" "salvaged" "lost" "flooded"
"pressed" "torn" "reached")
(:memory-keyword "wreck" "whale" "thermocline" "vent"
"predator" "surface" "hull" "depth")
(:affect-word "quiet" "cold" "deep" "thin" "heavy"
"bright" "wrong" "watched")
(:mode-observe
(3 (:subject) ". " (:heading?))
(2 (:location) ". " (:affect-word) ".")
(2 (:depthcharge/depth-marker) ". " (:subject) ".")
(1 "pressure up."))
(:mode-annotate
(3 (:affect-word) " at " (:location) ".")
(2 "that one. " (:affect-word) ".")
(1 "the water holds.")
(1 "too deep."))
(:mode-reflect
(3 "same pressure. " (:memory-fragment))
(2 "this current. " (:memory-fragment))
(1 (:memory-fragment) ". still there."))
(:mode-drift
(2 "the wreck at three-fifty.")
(2 "whale. sector nine.")
(1 "salvage before the vent.")
(1 "something that didn't ping back."))
(:depthcharge/depth-marker
(3 "shallow.") (3 "mid.") (2 "deep.") (1 "abyss."))
:event-types
((:type :sonar-contact :affect (:tense))
(:type :sonar-contact-organic :affect (:routine))
(:type :hull-stress :affect (:tense))
(:type :hull-breach :affect (:tense :significant))
(:type :salvage-acquired :affect (:significant))
(:type :depth-change :affect (:routine))
(:type :predator-warning :affect (:tense :anomalous)))
Beatobserveannotatereflectdriftsilent
:active-hack (= active dive)+0.05+0.15
:high-tense (predator near)+0.20
:phase-transition (depth change)+0.10+0.05
:cart-swap-lull+0.15
:debrief+0.10+0.05

Rationale. Depthcharge is a listening game. Silence is doctrine. Active dive leans on silence so the PSG’s passive sonar can fill the space. Predator events maximize silence — the operator is holding breath. Depth changes encourage reflection (“we were here before”). Cart-swap-lull drifts about whales and wrecks because the ocean is a memory space.

((:active-hack (:terseness +40 :certainty -24 :temporal-blur +16))
(:high-tense (:terseness +56 :certainty -48))
(:cart-swap-lull (:temporal-blur +48))
(:debrief (:temporal-blur +16)))

Depth is uncertain. The voice hedges. Under the thermocline, past and present mingle.

Structurally Important Moments Preserved on CIPHER-LINE

Section titled “Structurally Important Moments Preserved on CIPHER-LINE”
BeatIntentCIPHER-LINE fragment(s)
Sonar classification uncertainty”Sonar classification uncertainty — network encryption detected.”bearing. uncertain. then something metal.
Active sonar engaged”Sonar scope active. No threats.”(silent) for 1–2 ticks, then quiet. nothing near.
Rival drone detected”Rival drone detected in sector. Passive only.”contact. not ours.
Hull breach warning”Hull breach. Initiating emergency ascent.”breached. climbing. (tense + significant)
Cargo extraction complete”Cargo manifest: 3 items, 180 credits.”three. up. (observe after silent beats)
Capability-gap prompt (encrypted relay)“Encryption: unknown cipher. Decryption capability not loaded.”locked. not us.
Surface reached”Surface reached. Mission complete.”surface. then dry.
Predator strike(tense escalation)(silent) while PSG hunter-theme rises; operator feels it without words

The silence-heavy bias is the whole point — Depthcharge’s PSG design already fills the acoustic space with meaningful sound, and Cipher staying quiet under the thermocline makes the occasional spoken fragment land like a real voice.


Per ADR-0016 (nEmacs + REPL + Input Model), each cart declares what its scripted-mission surface looks like — grammar fragments contributed to the predictive palette, domain vocabulary that earns the +5 ranking boost (ADR-0016 §7), whether it uses prompt-text for raw text entry (§8), and whether any of its keys bind :double-tap or :long-press events (§9). Depthcharge’s slow OODA tempo and audio-primary design favor lightweight scripting — the operator authors depth-coordination helpers and sonar classification shortcuts, but the bulk of play is direct audio-reactive primitive input.

Maybe — depth-coordination scripting. The cart provides a thin scripting surface for depth-and-bearing coordination, but it is secondary to the cart’s real gameplay loop (listening + reacting). Rep-10+ operators unlock Salvage Routing contracts that can be streamlined by pre-authored descent sequences and cargo-manifest helpers — but even advanced players tend to operate the drone in real-time because the acoustic information is the signal. Scripted missions remain optional on the critical path (ADR-0002); Depthcharge is designed to be fully playable without touching nEmacs.

Typical scripted-mission shapes:

  • (descend-to depth) — sequences a multi-step descent with hull-pressure checks.
  • (classify-contact bearing :passive) — sonar helper.
  • (on-hull-stress-rise (ascend 10)) — defensive reactive.
  • (cargo-manifest) — introspection helper.

Contributed via (emacs-extend-grammar ...) at cart-load. Depthcharge’s grammar is deliberately small — the cart is audio-primary, and the operator’s mental model is already saturated with sonar listening:

(emacs-extend-grammar
;; Drone state
(depth)
(bearing)
(heading)
(hull-integrity)
(oxygen-remaining)
(cargo)
;; Sonar
(passive-scan) ; current passive contacts
(active-ping) ; costs detection risk
(classify-contact (bearing &key :mode))
(sonar-history (&key :n))
;; Movement
(descend-to (depth))
(ascend-to (depth))
(set-heading (bearing))
(ahead-slow)
(ahead-full)
(silent-running) ; mode toggle
;; Event binders
(on-hull-stress-rise (&body handler))
(on-contact-detected (&body handler))
(on-predator-strike (&body handler))
;; Salvage
(cargo-manifest)
(recover (contact-id))
(surface)
;; Diagnostic
(thermocline-depth))

Via (emacs-extend-vocabulary ...). Submersible / sonar / salvage terms:

(emacs-extend-vocabulary
"depth" "bearing" "heading" "pitch" "roll"
"hull" "integrity" "pressure" "oxygen" "ballast"
"passive" "active" "ping" "sonar" "scope"
"contact" "bearing" "signature" "classify"
"silent" "noise" "cavitation" "thermocline"
"descend" "ascend" "surface" "trim"
"cargo" "salvage" "wreck" "manifest" "recover"
"predator" "hunter" "drone" "threat"
"metal" "wreckage" "relay" "buoy" "anchor")

No. Depthcharge is primitive-and-numpad. Bearing and depth are entered via numpad (three-digit bearing in degrees, two-digit depth in hundreds-of-meters). Contact classification is a menu. The cart declares nothing via prompt-text.

Depthcharge opts into ADR-0016 §9 on INFO and EVAL to surface richer sonar views:

Key:tap:double-tap:long-press
INFOscope-summary — current passive scanscope-history — last 30s of sonaracoustic-signature-library — match current against known signatures
EVALcommit-action — active ping / dive / firecommit-slow — same action, silenced variant (higher cost, lower detection)
QUOTEmark-contactmark-and-classify — pins with best-guess classification

Row 24 renders: INFO:SCOPE INFO²:HIST INFO…:LIB EVAL:COMMIT EVAL…:SILENT QUOTE:MARK.

Context-Polymorphic Key Semantics (Cart Gameplay)

Section titled “Context-Polymorphic Key Semantics (Cart Gameplay)”

Depthcharge has two primary cursor contexts: conn (piloting the drone) and sonar (studying the scope):

KeyConnSonar
INFOshow-drone-statusshow-contact-metadata
CARdescend-one-layer (100m)drill-into-contact
CDRascend-one-layernext-contact
CONSlink-to-cargo-manifestcompare-signatures
EVALcommit-helm-actionping / classify
QUOTEmark-waypointmark-contact
BACKexit-to-surface-mapreturn-to-conn
Numpadbearing / depth entrycontact index select

When the operator opens nEmacs to script a descent sequence, dispatch yields to :nemacs-nav per ADR-0016 §3 — standard editor dispatch. Depthcharge’s slow tempo means the editor hand-off rarely interrupts a high-stakes moment.