# The Small Eagle TODO

## Goals

Be able to support a small (10-50 user) private alpha, including with strangers.

Larger set of goals in [The Big Eagle TODO](https://docs.google.com/document/d/17RTt3-4Wl2AAVMRLodaC3a84E4de6xuQTWBPvCRM484/edit?pli=1&tab=t.0), but most of that is not necessary for MVP.

## Current priority order

1. Finish tutorial & first-session onboarding, especially the clear first-session goal and guided first scenario.
2. Fix the basic Shardok AI issues that can make tactical battles feel broken or unfair.
3. Publish a known issues doc so alpha testers do not repeatedly report the same rough edges.
4. Verify the existing game-ended flow, then mark the win condition done if "all other factions defeated" works end-to-end.
5. Add mid-game progression events where the King recognizes the player as they gain power.
6. Add account-linking when provider switching or account recovery becomes important for alpha support.
7. Leave terms of service and Windows code signing deferred until they matter for public release or broader distribution.

## Required

### Gameplay Productionization

- [x] ~~All functionality works on production eagle / shardok servers~~
- [x] ~~Acceptable latency in all regions~~
- [x] ~~Shardok performance similar to QA~~
- [x] ~~Error logging & alerting~~
- [x] ~~Fix long disconnects on deployments~~
- [x] Fix the Mac installer
- [x] ~~Still not reconnecting after deployments~~
- [x] Notify about client updates, button to come directly back
- [x] Generatedtext healing
- [x] Kill outstanding shardok requests when game is deleted

### Other Productionization

- [x] ~~Oauth sign-in~~
  - [x] ~~Add Google, others?~~
- [ ] User management
  - [x] ~~Invite codes~~
  - [ ] Link accounts
  - [x] ~~Choose display name~~
  - [x] ~~Just do account setup from the landing page?~~
- [x] ~~Download client directly from DO, avoid basic auth/my home network~~
- [x] Support plan (Discord + in-client bug reporting + email contact)

### Alpha Tester Support

- [x] Feedback channel (Discord server)
- [x] Bug report form in Unity client (Settings > Report Bug, sends to Discord webhook)
- [ ] Known issues doc (so testers don't report the same things)

### IP / Legal

- [x] Document and make available licenses for art & music (attributions panel)
- [x] Required open source disclosures (attributions panel)
- [x] Audit assets for anything we don't have rights to and replace it
- [x] Replace heroes that are based on real 20th or 21st century people or IP
- [x] ~~Privacy policy (collecting accounts, OAuth data, gameplay data)~~ (alpha notice on invite page/email)
- [ ] Terms of service (basic liability protection) - defer until public release
- [x] ~~Data deletion capability (user requests account removal)~~ (accounts.eagle0.net)

### Basic Gameplay

- [ ] Tutorial & first-session onboarding
  - [x] In the Your Warlord panel, say what the profession is
  - [x] ~~And separate panels for each profession when you encounter one~~
  - [x] ~~Command tutorial for each command the first time it's clicked~~
  - [x] ~~Time to recruit / expand~~
    - [x] ~~And how expansion works~~
  - [ ] Province events
  - [x] Running low on food
  - [x] ~~Time to swear brotherhood~~
    - [x] ~~When you get large, or~~
    - [x] ~~When you get a good candidate~~
  - [x] ~~Shardok tutorial!~~
  - [x] ~~Narrative hook in first few minutes - why should I care about my warlord?~~
  - [ ] Clear first-session goal ("try to capture your first province" or similar)
  - [x] ~~Early small victory to build momentum~~
  - [ ] Guided first scenario vs. overwhelming sandbox?
- [ ] Basic Shardok AI stuff fixed
- [x] ~~Lobby fixes~~
- [ ] Have goals / ending
  - [ ] Win condition: all other factions defeated
  - [ ] Mid-game progression: King recognizes you as you gain power (generated events)

## Nice to have

- [x] "What's new" changelog (fetch JSON, show entries since last launch)
- [ ] Windows code signing ([Azure Artifact Signing](https://azure.microsoft.com/en-us/products/artifact-signing/), ~$10/mo) to eliminate SmartScreen "unknown publisher" warning
