Skip to content

Releases: ChrisSc/contact

CONTACT v1.0.0-FINAL

14 Mar 23:55

Choose a tag to compare

CONTACT v1.0.0-FINAL — 3D Naval Combat

Browser-based 3D Battleship variant. Two players command submarine fleets hidden in a 7×7×7 volumetric grid, firing torpedoes and deploying earned abilities to locate and destroy enemy vessels.

Highlights

  • Hot-seat local multiplayer + VS AI mode (Claude Opus 4.6)
  • 7×7×7 volumetric Three.js cube with custom orbit controls
  • 12 deployable perks (sonar, drones, depth charges, decoys, jammers, and more)
  • Synthesized Tone.js audio — no sample files
  • Mobile portrait-first responsive layout
  • Single-file HTML build (npm run build:single)
  • Full JSONL observability logging with battle reports
  • Docker-ready (nginx:alpine on port 8080)

Key recent changes

  • JSONL log filtering
  • Cost/contact, cost/sink, and G-SONAR tracking in battle reports
  • Error rate metrics, game mode/model logging
  • Opt-in API key browser storage
  • Mobile portrait layout and audio overhaul
  • Consolidated tool palettes, economy rebalance

v0.7.2 — Mobile Portrait Layout + Audio Overhaul

13 Mar 21:57

Choose a tag to compare

Mobile Portrait Layout

  • Full responsive mobile layout via mobile.css (portrait breakpoint at 768px)
  • Setup screen: horizontal scrolling ship roster, stacked tool palette, centered 3D cube
  • Combat screen: merged tab strip, bottom-stacked fleet panels, full-width END TURN, full-screen perk store
  • Touch-optimized targets (44px minimum), CRT effects lightened for mobile performance
  • Portrait-aware camera FOV and responsive orbit centering

Audio Synthesis Overhaul

  • All 14 SFX rewritten with richer multi-layer Tone.js synthesis
  • Cinema-authentic sonar ping (1500 Hz + reverb + delay echo)
  • Click...BOOM depth charge timing, 5-layer catastrophic sunk destruction
  • Ambient: hull thermal creaks, distant biological sounds, pink noise texture
  • Ambient engine starts on combat mount instead of first player action

Bug Fixes

  • Sunk counter shows /7 (fleet size) instead of hardcoded /5
  • Action slot checkmarks display correctly after perk consumption
  • Fleet panel titles colored amber to match CR/STORE
  • Desktop status message repositioned above tool palette
  • Cube centering responsive per orientation

v0.7.1

13 Mar 17:54

Choose a tag to compare

Changes

  • Streamlined tool palette: Consolidated 3 scattered UI panels (view modes, depth selector, axis selector) into a single ToolPalette component at bottom-center. Combat: 2 rows (VIEW/DEPTH). Deployment: 3 rows (VIEW/DEPTH/AXIS).
  • Improved layout scaling: Repositioned status messages, hints, and fleet panels to prevent overlap and scale better across browser sizes.
  • Better searched cell visibility: Brightened wireframes for miss, drone-negative, and sonar-negative cells for readability in well-lit rooms.
  • Cleaned up old CSS: Removed scattered .setup-screen__axis-*, .setup-screen__mode-*, .setup-screen__depth-*, .combat-screen__mode-*, .combat-screen__depth-* styles.
  • 17 new ToolPalette unit tests; 491 total tests passing.

v0.7.0 — Human vs AI

11 Mar 14:48

Choose a tag to compare

v0.7.0 — Human vs AI

Highlights

CONTACT now supports Human vs AI mode, powered by Claude. Challenge an AI opponent that reasons about 3D naval tactics in real time using the Anthropic API.

New Features

  • Human vs AI game mode — Select "AI" on the title screen, enter your Anthropic API key, and play against Claude (claude-sonnet-4-6)
  • AI strategic memory — The AI retains context from its last 3 turns for coherent multi-turn strategy
  • AI fleet placement — Automated random fleet + decoy placement for the AI player
  • AI tool-use loop — Claude uses structured tools (purchase perks, fire torpedoes, use abilities, end turn) to play complete turns autonomously
  • UI lock during AI turns — All controls disabled while the AI is thinking, with a visual indicator

Improvements

  • Simulator upgrade — Axis-aware bot intelligence for more realistic automated testing
  • Rank test fixes — Corrected rank system tests for edge cases
  • CLAUDE.md context updates — Engine and UI documentation updated to reflect the AI subsystem (ai-briefing, ai-opponent, ai-placement, ai-tools)

Architecture

src/engine/ai/
├── ai-briefing.ts    # System prompt + game state serializers
├── ai-opponent.ts    # AIOpponent class — browser-side turn executor
├── ai-placement.ts   # Random fleet placement (pure logic)
└── ai-tools.ts       # Tool definitions + dispatcher for Claude tool use

The AI subsystem lives in src/engine/ai/ with pure game logic separated from the Anthropic SDK integration. ScreenRouter carries aiMode/aiOpponent in context for seamless screen transitions.

v0.6.5

11 Mar 03:39

Choose a tag to compare

What's Changed

  • Add rank system with stalemate bonus mechanic by @ChrisSc in #18
  • Add Claude vs Claude agent-play script by @ChrisSc in #19

Full Changelog: v0.6.0...v0.6.5

v0.6.0 — Rank System

10 Mar 05:17

Choose a tag to compare

Rank System with Stalemate Bonus

New difficulty selector on the title screen introduces a dry spell mechanic that awards bonus credits when players go too long without making contact.

Ranks

Rank Dry Turn Threshold Bonus Credits
Recruit 10 +8
Enlisted 16 +5
Officer (default) -- --

What's new

  • Rank selector on title screen — choose your difficulty before starting
  • Stalemate bonus — when the dry-turn threshold is reached, both players receive bonus credits; counter resets on any contact (torpedo hit, sonar positive, drone contact, depth charge hit, decoy hit)
  • Combat HUD — bonus notification banner and DRY counter in bottom bar for non-officer ranks
  • Simulator--rank recruit|enlisted|officer flag for balance testing

Impact

Simulation testing shows ~34% shorter games at Recruit rank vs Officer, with bonus credits fueling significantly more perk purchases and intel-driven targeting.

Full changelog

See CHANGELOG.md

v0.5.5

10 Mar 03:41

Choose a tag to compare

Full Changelog: v0.5.1...v0.5.5

v0.5.0 — Game Balance Overhaul

09 Mar 02:54

Choose a tag to compare

Game Balance Overhaul

Grid Reduction: 8×8×8 → 7×7×7

  • Grid shrunk from 512 to 343 cells
  • Tighter quarters create more engaging gameplay with faster contact

Expanded Fleet: 5 → 7 Ships

  • Narwhal (size 3) and Piranha (size 2) added to the roster
  • Total occupied cells: 22/343 (6.4% density, up from 3.3%)
  • More sinks → more credits → more perks deployed

Rebalanced Perk Economy

  • Sonar Ping reduced from 3×3×3 to 2×2×2 volume (8 → 4 cells scanned)
  • Perk costs retuned across the board
  • Credit awards adjusted: hit +1, consecutive hit +8, sink +15
  • Starting credits: 5

Game Simulation

  • New npm run simulate command for bot-vs-bot balance testing
  • Bots use hunt/target logic with phase-based perk spending strategy
  • 1000-game simulation shows ~530 avg turns (down from 800+)

G-SONAR

  • Now scans 49 cells per depth layer (was 64)

🤖 Generated with Claude Code