Skip to content

Chatt diorama: add FPS / first-person 'ground game' mode (paintball, football, Civil War reenactment, militia war-games) #226

Description

@TortoiseWolfe

Idea

Add a first-person / on-the-ground camera mode to the /chatt diorama aimed at tactical field games on real terrain — paintball, airsoft/milsim, football/sports plays, Civil War reenactment, militia war-games. The pitch: load a real place, drop to eye level, and use the accurate OSM buildings + USGS terrain as a walkable playfield / planning map.

Why it fits

The diorama already has the hard parts: accurate baked geodata (OSM footprints, USGS 3DEP terrain, NAIP aerial drape) and a stage/Rig with existing camera modes (Tour, Miniature, Follow, Walk). An FPS "ground game" mode extends the existing walk mode into a purpose-built first-person experience for field-game planning and playthrough.

Scope sketch (not final — for grooming)

  • New Rig mode (extend src/stage/Rig.ts — it already has walk): true first-person eye-height camera, WASD + mouselook, collision so you can't walk through buildings/terrain, gravity/ground-follow on the terrain surface.
  • Playfield framing: spawn points, boundaries, maybe objective/marker placement on the terrain (capture points, lines of scrimmage, skirmish lines).
  • Game-type presets (data-driven, like the existing tour/theme packs in src/packs/): paintball, airsoft/milsim, football, Civil War reenactment, militia war-game — each with sensible defaults (scale, boundaries, marker types).
  • Loadable locations: the bake pipeline (scripts/bake/) already turns a lon/lat box into a diorama, so any real field/park/venue could become a playfield.

Hard dependency

BLOCKED on #225. The layers must actually be georegistered (buildings not on the river) before an FPS ground mode is meaningful — you can't run a tactical game on terrain where the buildings sit in the water. Fix alignment first, then build on it.

Open questions for grooming

  • Single-player planning/walkthrough only, or multiplayer? (Multiplayer is a much bigger lift — netcode, no server on GitHub Pages static hosting; would need Supabase Realtime or similar.)
  • Is this a ScriptHammer-template capability, or a separate driving-app that extracts back into the template later? (Per the family strategy, templates emerge from shipped apps — this may want its own app first.)
  • How real-world-accurate do the games need to be (actual field dimensions, real venue import) vs a stylized playfield?

Labels

enhancement, needs-grooming, blocked-by-#225

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions