A mobile-first 3D exploration game where you play as an otter navigating wetland ecosystems. Built with React Three Fiber,
@jbcom/strata, and Capacitor.
- 🗺️ Procedural Worlds - Infinite wetland biomes generated with OpenSimplex noise
- 🌧️ Dynamic Weather - Rain, snow, fog, and day/night cycles
- ⚔️ RPG Combat - Spells, enemies, boss battles, and leveling
- 🏃 Racing Mode - River racing mini-game with obstacles
- 📱 Mobile-First - Touch controls, gyroscope camera, responsive UI
- 🎮 Cross-Platform - Web, iOS, Android via Capacitor
This repository unifies three game projects into one best-in-class experience:
| Source | Status | Features |
|---|---|---|
| Rivermarsh (core) | ✅ Active | Exploration, biomes, NPC interactions |
| Rivers of Reckoning | 🧊 Archived | Combat, quests, leveling, spells |
| Otter River Rush | 🧊 Frozen | Racing, leaderboards, mobile controls |
See Epic Issue #26 for the full integration roadmap.
| Layer | Technology |
|---|---|
| Rendering | @jbcom/strata (procedural terrain, water, weather, particles) |
| 3D Framework | React Three Fiber + drei |
| Physics | @react-three/rapier |
| ECS | Miniplex |
| State | Zustand |
| Mobile | Capacitor (iOS/Android) |
| AI | Yuka (behavior trees) |
| Audio | Tone.js |
| Testing | Vitest + Playwright |
# Install dependencies
pnpm install
# Start development server
pnpm run dev
# Build for production
pnpm run build
# Run tests
pnpm run test
pnpm run test:e2e# Android
pnpm run cap:sync:android
pnpm run cap:open:android
# iOS
pnpm run cap:sync:ios
pnpm run cap:open:iossrc/
├── components/ # React/R3F components
│ ├── game/ # Game UI, NPCs
│ ├── mobile/ # Touch controls
│ └── ui/ # HUD, menus
├── ecs/ # Entity Component System
│ ├── systems/ # AI, Weather, Time, Biome
│ └── data/ # Biomes, species, resources
├── stores/ # Zustand state
└── utils/ # Audio, save, pools
integration/pending/ # Reference code (read-only)
├── rivers-of-reckoning/ # RPG mechanics source
└── otter-river-rush/ # Racing game source
This project is configured for multiple AI development assistants:
| Agent | Config Location |
|---|---|
| Claude | CLAUDE.md |
| Copilot | .github/copilot-instructions.md |
| Cursor | .cursor/rules/*.mdc |
| CrewAI | .crewai/manifest.yaml |
| Kiro | .kiro/steering/*.md |
See AGENTS.md for detailed instructions.
The project includes a render.yaml Blueprint for one-click deployment:
- Fork this repository
- Connect to Render
- Create new Blueprint from
render.yaml - Deploy!
Preview environments are automatically created for PRs.
pnpm run build
# Deploy contents of dist/ to any static host- Check existing issues and Epic #26
- Create a feature branch
- Follow conventional commits (
feat:,fix:,port:) - Submit PR with tests
MIT
Built with 🦦 by jbcom