My Singing Monsters
Vision
A cute, collectible monster game for Lucas's kid — pick a favorite monster, place it on an island, watch it sing and earn coins. Web-playable at
https://my-singing-monsters.tail5b443a.ts.net with Keycloak auth so multiple players can have their own saves. Built in Godot 4, deployed on pal-e-platform.User Stories
TODO: Create user story notes as the game design solidifies.
| Key | Story Note | Role | Success Metric |
|---|---|---|---|
| monster-pick | TBD | Player | Player can browse and select a favorite monster from 15+ choices |
| auth | TBD | Player | Player logs in with username/password, progress persists across sessions |
Architecture
TODO: Create architecture diagram notes.
- Domain Model:
arch-domain-my-singing-monsters(TBD) - Data Flow:
arch-dataflow-my-singing-monsters(TBD) - Deployment:
arch-deployment-my-singing-monsters(TBD)
Key decisions:
- Godot 4.4 with GDScript, mobile renderer, portrait mode (1080x1920)
- Web export (WASM) served by nginx with COOP/COEP headers
- Keycloak OIDC for auth (existing platform infra)
- Auth at nginx layer (OAuth2 proxy) vs in-game UI — TBD
Board
See
board-my-singing-monstersStatus
- Deployed: Basic island scene with 5 placeholder monsters, coin system, tap-to-collect
- Live URL: my-singing-monsters.tail5b443a.ts.net
- CI/CD: Woodpecker → Kaniko → Harbor → ArgoCD pipeline working
- Next: Keycloak auth, monster picker screen, expanded roster with better art
Milestones
- 2026-05-29: First deployment — basic island scene live on Tailscale Funnel
Repos
| Repo | Platform | Role | Status |
|---|---|---|---|
| <a href="https://forgejo.tail5b443a.ts.net/ldraney/my-singing-monsters">ldraney/my-singing-monsters</a> | Forgejo | Game source (Godot project) | Active |
| ldraney/pal-e-deployments | Forgejo | Kustomize overlay (overlays/my-singing-monsters/prod) | Deployed |
| ldraney/pal-e-services | Forgejo | Terraform (Harbor, ArgoCD, namespace, funnel) | Provisioned |