# STEAM_LAUNCH_GUIDE.md — 方寸仙門 Steam 上架手把手 SOP

> 從今天(2026-05-14)到 EA Day 1(2026-07-29,11 週)的完整行動清單。
> 對照 [M80 audit-report-v2](../openspec/changes/M80-ship-readiness-audit/audit-report-v2-2026-05-13.md) + [STEAM_RELEASE.md](../STEAM_RELEASE.md) 整合的可執行版本。

---

## 📋 0. 一頁概覽

| 階段 | 週次 | 主要動作 | Cost USD |
|---|---|---|---|
| **🚨 立刻**(本週)| W-11 | Steam $100 + Apple $99 + 找音樂家 | $199 + $5,980 |
| **W1-2** | W-11~W-10 | 等審核 + 邏輯線 M79 + 美術 M29 啟動 | — |
| **W3-4** | W-9~W-8 | 設 Steam Pipe + Steamworks.js + Mac notarization 測試 | — |
| **W5-6** | W-7~W-6 | Steam 商店頁 + capsule + 截圖 + Trailer | $5-15k 美術 |
| **W7** | W-5 | Store Page Live + 衝 wishlist 開始 | — |
| **W7-10** | W-4~W-1 | Closed Beta 100 人 × 4 週 | $0-2k |
| **W11** | W 0 | **🚀 EA Release 2026-07-29** | — |

**Steam 上的「方寸仙門」最終會在**:`https://store.steampowered.com/app/<your-appid>`

### 💡 關於 EV Cert($400):**Steam-only 不需要**

之前列「三件套」是 over-spec。**Steam 上架真正只需要 Steam Partner $100**。其他可選:

| 平台 | code signing | 何時需要 |
|---|---|---|
| 🪟 Windows | Windows EV Cert($400/年)| ❌ **Steam-only 不需要**(Steam 處理 trust)。✅ 僅在「Steam 外直接下載 .exe」時要 |
| 🍎 macOS | Apple Developer ID($99/年) | 🟡 Mac build 建議(不簽 ~10-15% Mac 玩家放棄)。✅ Apple Dev 含 notarization 必要 |
| 🐧 Linux | 無 | — 不需要 |

**最省路線**(Win-only Steam):**$100**
**推薦路線**(Win + Mac Steam):**$199 + $99/年**(覆蓋 ~95% Steam 玩家)
**全配路線**(含 Steam 外發行):**$599 + $499/年**

---

## 🚨 立刻動作 1:Steam Partner 註冊($100 USD,3-30 天審核)

### 為什麼最緊急

Steam 註冊**審核期不確定**(7-30 天),不能再拖。立刻申請審核期間平行做其他事。

### 操作步驟

1. 打開 https://partner.steamgames.com/
2. 點「Sign Up」或「Get Started」
3. 用 Steam 帳號登入(若沒有先註冊 Steam 帳號)
4. 填**個人 / 公司資訊**:
   - 真實姓名(中英對應)
   - 國籍 / 居住地
   - 公司名(個人開發者可填 "Sole Proprietor / 獨資"+ 你姓名)
   - 地址(收稅務文件用,要真實)
5. 簽「Steam Distribution Agreement」(完整讀過,核心條款:Steam 抽 30%,< $10M 後降 25%)
6. 填**稅務文件**(IRS W-8BEN for 非美國)— 美國以外開發者要填,避免 30% 預扣稅
   - 提示:Treaty rate for 台灣 = 0%,要填 China Tax Identification Number 或台灣身分證字號(去 IRS 看 ITIN 規則)
7. 填**銀行帳戶**(收款用,需 SWIFT code + bank account)
8. 付 **$100 USD recoupable fee**(信用卡 / PayPal,首次 $1000 USD 銷售後自動退回)
9. **等審核 7-30 天**(中位 14 天)

### 審核中可以做的事

- 不能上傳 build / 設商店頁
- **可以**先準備商店頁素材(草稿)
- **可以**先設 App ID 草稿

### 審核通過後拿到

- Steam Partner Dashboard 存取權
- 可申請 **App ID**(再等 1-3 天審核)
- 可下載 **steamcmd** + **Steamworks SDK**

### 常見拒絕原因 + 對策

| 原因 | 對策 |
|---|---|
| 稅務文件不完整 | 重新填 W-8BEN,附 ITIN 文件 |
| 地址驗證失敗 | 用真實居住地 + 提供水電費單 |
| 銀行資訊錯 | 確認 SWIFT code + IBAN |
| 「重複註冊」(常見誤判)| 寫信給 Steam Support |

---

## 🚨 立刻動作 2:Apple Developer 註冊($99/年,1-3 天審核)

### 為什麼緊急

macOS 不簽 + notarize 玩家會看 Gatekeeper 警告,~20% Mac 玩家放棄安裝。**OVERTURN #10 已決議仍簽**。

### 操作步驟

1. https://developer.apple.com/programs/
2. 點「Enroll」用 Apple ID 登入(沒有先建)
3. 選身份類型:
   - **Individual / 個人**(身分證 + 信用卡,1 天審核)
   - **Organization / 公司**(D-U-N-S 編號,2 週審核 — **不要選這個除非已有公司**)
4. 同意 Apple Developer Program License Agreement
5. 付 **$99 USD/年**(信用卡)
6. **等審核 1-3 天**(中位 2 天)

### 審核通過後拿到

- Apple Developer ID Certificate(電子簽章)
- 可在 electron-builder 設 `mac.identity: "Developer ID Application: <你名字> (TEAMID)"`
- 可開始 **macOS notarization**

### Notarization 第一次測試

```bash
# 在 macOS 上(只能在 Mac)
export APPLE_ID=<你的 Apple ID email>
export APPLE_APP_SPECIFIC_PASSWORD=<app 專用密碼,在 appleid.apple.com 建>
export APPLE_TEAM_ID=<Apple Developer dashboard 看>

# electron-builder 自動上 Apple Notary Service
npm run build:mac
# 等 5min - 2h(Apple notary 審核)
# 通過後 staple 到 dmg
```

第一次跑可能會卡 1-2 個典型 issue:hardened runtime / entitlements / 路徑空格。**留 1 整天做這個**。

---

## 🟡 立刻動作 3(可選):SSL.com EV Code Signing Cert($350-600/年)

### ⚠️ Steam-only 上架可省

**Steam 內部下載 + 安裝,Steam 自己處理 trust,跳過 Windows SmartScreen**。

只在以下情況才需要 EV cert:
- 在 itch.io / Game Jolt / 自家網站 提供 .exe 直接下載
- Steam Workshop tool / 外部 tool 給玩家
- 想避免 SmartScreen 在「installer 第一次跑」階段警告(實測 Steam installer 自己已簽,玩家看不到 → 多此一舉)

**結論**:**Steam-only 上架 → 略過此步驟,省 $400/年**。

### 若仍要簽(對 Steam 外發行 / 內網企業客 / etc.)

### 操作步驟

1. https://www.ssl.com/certificates/code-signing-certificates/(或 DigiCert / Sectigo)
2. 選「EV Code Signing Certificate」($349-599/年,SSL.com 常 promo)
3. 提交身份證明:
   - **個人**:政府 ID + 地址證明 + 信用卡
   - **公司**:D-U-N-S 編號 + 公司註冊文件
4. 視訊驗證(部分要做)
5. 等 **5-7 天**(中位 6 天)
6. 收到 **USB hardware token + key**(物理寄送,留 1-2 週寄送時間)
7. 在 SSL.com 線上設 token + 安裝 SafeNet Authentication Client

### electron-builder 配置(收到 token 後)

```yaml
# electron-builder.yml
win:
  certificateSubjectName: "你的法人名(EV cert 上的)"
  signingHashAlgorithms:
    - sha256
  signtoolOptions:
    signingHashAlgorithms:
      - sha256
    additionalCertificateFile: null  # EV 用 token 不用 file
```

簽 + 時間戳:`signtool sign /tr http://timestamp.digicert.com /td sha256 /fd sha256 /a my-app.exe`

### Alternative — Azure Trusted Signing(較新,可能更便宜)

Azure Trusted Signing **$10/月 起**(2024 GA),no hardware token,純 Azure auth。**值得評估**,但流程更複雜需要 Azure 帳號。

---

## 💰 立刻動作 4:找音樂家 + 簽 BGM 1+12+1 變奏合約($5,980 預算)

### 為什麼緊急

OVERTURN #8 採納:**1 主旋律 + 12 时辰變奏 + 1 飛升專屬**,工時 6 週。要立刻找。

### 找人 channel

1. **Fiverr / Upwork**:搜「game music composer chinese」+ portfolio 含 ambient / cinematic
2. **Soundtractor / SoundCloud**:作品庫挑「水墨修仙風」「ambient cinematic」
3. **Reddit r/INAT(I Need A Team)**:發 post 含 budget + brief
4. **巴哈姆特 / PTT 創作者徵求**

### 提案 brief(複製貼上給音樂家)

```
方寸仙門 桌寵修仙 idle 遊戲 BGM 委託

需求:1 主旋律 + 12 時辰變奏 + 1 飛升專屬 = 14 段

主旋律(2-3 min loop):
- 5-7 音符 hook,中式五聲音階,acoustic 樂器
- 致敬 Hollow Knight City of Tears 風格 — 同一主題不同變奏
- 樂器:古琴 / 笛 / 簫 / 鋼琴

12 時辰變奏(各 1-2 min,共用 motif):
- 子(23-1):月光 + 鋼琴 + 鐘聲 60 BPM
- 辰(7-9):晨鳥 + 風 + 鼓 90 BPM 昂揚
- 午(11-13):蟬鳴 + 笛 + 琵琶 110 BPM 輕快
- 戌(19-21):古琴 + 簫 70 BPM 沉澱
- 其他 8 时辰風格差異化

飛升專屬(8 秒 crescendo + 30 秒過渡):
- 主旋律「最終形態」+ 雷劫 + 升仙意境

格式:48kHz/24bit WAV + MP3 320kbps
授權:buyout(永久,unlimited use,無 royalty)
預算:$5,980 USD,6 週交付

簽約附:simple 1 頁合約 + 版權 buyout 證明(法務用)
```

### 評估候選 4-6 人

讓他們**先做 30 秒 demo**(免費或低酬),你聽完選 1 個簽 full contract。

---

## 📦 W1-W4:等審核期間做這些(同時 11 週時程開跑)

### 邏輯線(我 + Codex 跑)

- [ ] **M79 idle pilot** 實作(含 OVERTURN #1A 桌寵待辦氣泡 + #2 INITIAL_AUTO_FLAGS 重做 + #5 profile reframe)
- [ ] **happy-dom 補裝**(5 個 renderer test 假性綠燈修)
- [ ] **Steamworks.js 整合**(預備,await App ID)

### 美術線

- [ ] **M29 剩 9 PNG** 完成
- [ ] **App icon 三平台**(.icns + .ico + .png 1024×1024,7 種 size)
- [ ] **突破雷劫動畫**(Pixi particle 全屏 + sound design 同步)
- [ ] **飛升傳送門 8 秒動畫**

### Audio(外包)

- [ ] 音樂家簽約 + 預付 30%
- [ ] 第 1 週:主旋律 motif demo
- [ ] 第 2-4 週:12 變奏 + 飛升 BGM
- [ ] 第 5-6 週:36 SFX + mix + delivery

---

## 🎨 W5-W6:Steam 商店頁素材製作

### Capsule 5 種尺寸(美術做)

| 用途 | 尺寸 | 內容 |
|---|---|---|
| Small Capsule | 462×174 | 名稱 + 桌寵小圖(在 Steam 主頁推薦條)|
| Header Capsule | 460×215 | 名稱 + 桌寵 + 主色(在商店頁 hero)|
| Library Capsule | 600×900(豎)| 「方寸仙門」朱砂印章 + 主視覺(玩家 library 頁)|
| Library Hero | 3840×1240(寬)| 全景:桌寵 + 五界遠景 + 修真 idiom(library 詳細頁 banner)|
| Page Background | 1438×810 | Steam 商店頁背景(若有)|

**OVERTURN #3B 採納**:水墨灰底 + 朱砂印章「方寸仙門」+ 桌寵立繪 1 個 + **留白 60%**。確保 small capsule 縮成 100×40 仍可辨識。

### 截圖 6 張(1920×1080)

| # | 主題 | 拍什麼 |
|---|---|---|
| 1 | 桌寵在桌面 | 真實桌面 + 桌寵盤腿打坐 + 紫氣特效 |
| 2 | 主管理視窗 | 14 系統概覽 + 弟子卡片 + 殿堂列表 |
| 3 | 突破雷劫 | 全屏雷劫動畫 + 數字爆發 |
| 4 | 飛升儀式 | 弟子化光點凝聚成殘影 |
| 5 | 道學樹 | 230 節點水墨樹 + 6 流派色 |
| 6 | 抽卡 | 七階池 + 道祖弟子靈光降臨 |

### Trailer 60-90 秒(MP4 H.264)

**3 個 trailer 概念**(M80 audit 已建議),選 1 個做:

**概念 A**:24 小時生活蒙太奇(60s)
- 0-10s:工作中,桌寵在角落
- 10-20s:咖啡時間,看一眼,點桌寵 +1 靈氣
- 20-30s:午休,打開主介面,養弟子
- 30-40s:晚上,弟子突破雷劫
- 40-50s:睡前儀式,飛升動畫
- 50-60s:Logo「方寸仙門」+ "Available Steam EA"

**概念 B**:「目送」一個弟子飛升的故事(90s,情感向)
- 弟子招募 → 養成 → 突破 → 飛升 → 留下殘影
- 文字旁白引用設計鐵律「永不重置」「家譜式長線陪伴」

**概念 C**:5 個賣點 fast cut(60s)
- 永不重置 / 桌寵陪伴 / 螢幕生態系 / 指數爆發 / 家譜式

**Cost**:trailer 製作 $3-8k USD(外包),或自製 $0 + DaVinci Resolve 學習 1 週。

### 商店頁文案

中英雙語,核心結構:

```
標題:方寸仙門 / Fangcun Ximen — Desktop Companion Idle Cultivation
副標題:你的桌面上,有一個小道童在修真。
       A little Daoist disciple cultivating on your desktop.

短描述(< 300 字):
方寸仙門是一款桌寵 idle 修仙遊戲。Electron 透明置頂,弟子住在你的桌面上,
工作時自動修煉、突破、飛升。永不重置 — 弟子永遠存於仙史閣。

長描述(完整,3000+ 字):
- 五個賣點 + 五個不做
- 五界結構 + 七階弟子 + 230 道學
- 螢幕生態系獨家
- 12 时辰潮汐
- 完美前 100 小時敘述(從 v0.7 設計文檔)

標籤:Idle, Incremental, Cultivation, Chinese, 修仙, Casual, Singleplayer,
     Indie, Atmospheric, Cute, Relaxing, Pixel Graphics(No — 我們是水墨)

語言:Traditional Chinese, Simplified Chinese, English
```

---

## 🌐 W7:Store Page Live(衝 wishlist)

### Pre-launch Steam 商店頁公開

- 設 「Coming Soon」+ 「Wishlist」button
- Trailer 上 YouTube + 嵌入商店頁
- 6 截圖 + 5 capsule 上
- 中英商店頁切換

### 同步 Marketing 8 週 campaign(見 [M80 audit Marketing](../openspec/changes/M80-ship-readiness-audit/audit-report-v2-2026-05-13.md))

| 週 | Action | Wishlist 目標 |
|---|---|---|
| W-8 | 概念 release | 500 |
| W-7 | Trailer 上 + 巴哈 | 800 |
| W-6 | 7 弟子立繪逐日 | 1,500 |
| W-5 | gameplay 4 GIF | 2,500 |
| W-4 | 桌寵在 VSCode 短視頻 | 3,500 |
| W-3 | Beta 招募 | 4,500 |
| W-2 | EA 倒數 | 5,500 |
| W-1 | Final push | 6,500-7,000 |
| **W 0** | **EA Day 1** | **840 套 Day-1** |

### Discord 開(同步)

- 14 channel 結構(規則 / 公告 / 雜聊 / 攻略 / 反饋 / 多語 / 活動)
- bot 設(歡迎 / FAQ / 公告)
- $90 / 3 個月 budget

---

## 🧪 W7-W10:Closed Beta 100 人 × 4 週(OVERTURN #6)

### 招募 channel

- Reddit r/incremental_games:50 人(發 beta key 申請 form)
- 巴哈姆特創作版:30 人
- Twitter / X:20 人(自家 follower)

### Steam beta branch 設定

```bash
# Steamworks 後台
1. App → SteamPipe → Build → 設 default / beta / internal 三個 branch
2. beta branch 加 password「fangcun-beta-2026」
3. 給 100 個 beta tester 各自 Steam key
4. 他們在 Steam library 對 fangcun-ximen 右鍵 → Properties → Betas → 輸入密碼 → 切到 beta branch
```

### Beta KPI(M80 audit 定的)

- D7 retention ≥ 30%
- 平均玩時 ≥ 8 hour
- FTUE 完成率 ≥ 80%
- 滿意度 ≥ 4.0/5
- 推薦親友 ≥ 50%

### 收 feedback channel

- **Discord #bug-回報** + **#功能建議**
- 每週 Google Form survey
- 30 人深度訪談(每人 Google Meet 30 min)

### Hotfix 流程

1. 收到 critical bug → Discord 公告 + 修
2. 推到 beta branch
3. Discord 通知 100 人重啟 Steam → 自動 update
4. 重收 feedback

---

## 🚀 W11 · 2026-07-29:EA Release Day

### Day-1 SOP(美西時間 10am 開站)

```
07:00 起床 + 咖啡 + 確認 build 已上 Steam default branch
07:30 推 Twitter / X 預告「2 hour to release!」
08:00 Discord @everyone 通知
08:30 確認 trailer / capsule / 商店頁無誤
09:00 Steam 後台 → Set Visibility → Public
09:00 開 Twitch + YouTube 直播
10:00 ✨ EA Public Release!(Steam 自動觸發 wishlist 玩家郵件 + 商店頁刷新)
10:01 全平台同步 announcement(Twitter / Reddit / 巴哈 / Discord / IG)
10:00-16:00 直播 6 hour(玩家進直播間 monitor + bug 收 + 慶祝)
16:00 第一波 EA 銷售數據 report
17:00 review trends(Steam community + Discord)
18:00 緊急 hotfix(若有 critical)→ 推 internal 測試 → 推 default
22:00 慶祝 + 睡覺
```

### Day-1 KPI

- 銷售:**目標 600-1000 套**(7,000 wishlist × 12%)
- 評論:目標 **> 70% 好評** 達 10 reviews
- 玩家在線:Day-1 巔峰 **200+ 同時在線**
- Discord 加入:Day-1 +500 人(到 5,500+)

### Day-1 後

- 美西時間隔天起每天:**hotfix patch**(critical bug)
- 第 7 天:第一次 community survey
- 第 14 天:第一次 retention 評估
- 第 30 天:Patch 1 ship(M37 narrative + M43 AscensionShop)

---

## 💸 上架成本總覽(USD)

### 🟢 Steam-only(推薦)

| 一次性 / 年費 | 金額 |
|---|---|
| Steam Partner($100 recoupable,$1k 後退)| **$100** |
| Apple Developer($99/年,Mac build 推薦)| $99/年 |
| ❌ EV Cert(Steam-only 不需要)| — |
| **Steam 上架小計** | **$199 + $99/年** |

### 🔵 含 Steam 外發行(itch.io / 自家網站)

| 一次性 / 年費 | 金額 |
|---|---|
| Steam Partner | $100 |
| Apple Developer | $99/年 |
| SSL.com EV Cert(僅 Steam 外才要)| ~$400/年 |
| **小計** | **$599 + $499/年** |

| Pre-Ship 內容 | min - max |
|---|---|
| Audio(BGM 14 + SFX 36 + ambient + mix)| $5,080 - $7,100 |
| Art(icon + capsule + 截圖 + trailer + SVG)| $5,200 - $19,700 |
| i18n en 母語潤稿 | $1,500 - $3,000 |
| Beta 廣告 | $0 - $2,000 |
| Marketing(Twitter / Reddit / YouTube ads × 8 週)| $2,500 - $8,000 |
| 法務(律師 review 隱私 + EULA)| $0 - $1,500 |
| Sentry crash report + Discord bot | $0 - $400 |
| Contingency 15% | $2,275 - $6,212 |
| **Pre-Ship 總** | **$17,154 - $48,512** |

| Total(11 週)| min | max |
|---|---|---|
| **不算自家時薪** | **$17,753** | **$49,111** |
| 含 11 週 × $35/h × 40h | $32,553 | $63,911 |

---

## 📊 Revenue 預期(Steam 30% cut 後淨額)

| Wishlist 目標 | D-1 銷量 | 30 天累積 | 12 月累積 | 淨收入 | 損益 |
|---|---|---|---|---|---|
| 2,000(悲觀)| 240 | 500 | 1,300 | $6,812 | -$36k |
| 5,000 | 600 | 1,250 | 3,500 | $18,340 | -$25k |
| **7,000(目標)** | **840** | **1,750** | **5,000** | **$26,200** | break-even |
| 10,000(樂觀)| 1,200 | 2,500 | 7,500 | $39,300 | +$15k |
| 30,000(黑馬)| 3,600 | 7,500 | 25,000 | $130,750 | +$87k |

---

## ⚠️ 常見上架陷阱 + 對策

| 陷阱 | 對策 |
|---|---|
| Steam Pipe 上傳失敗(權限)| 用 partner account 重 login,setup_steamcmd.sh |
| macOS notarization 拒絕(entitlements)| 加 `com.apple.security.network.client` 等 |
| Win10 SmartScreen 仍跳警告(新 cert)| EV cert 立刻信任,OV 要累積 reputation 1-3 個月 |
| Trailer 被 YouTube 認 copyright(音樂)| 用 buyout BGM,證明授權 |
| 商店頁中英不一致 | 用 i18n 校對 |
| Steam tag 被審核改 | tags 設保守,「Idle / Casual / Singleplayer」必過 |
| Age rating 卡 | IARC 自助填,Idle 通常 PEGI 3 / ESRB E |
| 玩家負評「沒劇情」(EA 期)| Steam 頁面長描述明寫「EA = work in progress」 |
| Refund 退款多(Steam 2h 內 / 14 天)| Beta 抓 critical bug + Day-1 hotfix 即時 |

---

## 🎬 結語

**從今天(2026-05-14)到 EA Day 1(2026-07-29)11 週**。最緊急的事:

1. ✅ **今天**:三件套申請(Steam $100 + Apple $99 + SSL EV $400)
2. ✅ **本週**:找音樂家簽約($5,980)
3. ✅ **本週**:邏輯線 M79 啟動 + 美術線 M29 / 動畫 啟動

審核期間平行做內容(W1-W6),W7 商店頁 Live 衝 wishlist,W7-10 Closed Beta,**W11 Release**!

---

**相關文件**:
- [M80 Ship-Readiness Audit Iter2](../openspec/changes/M80-ship-readiness-audit/audit-report-v2-2026-05-13.md)
- [STEAM_RELEASE.md](../STEAM_RELEASE.md)(技術細節 + CI)
- [CROSS_SESSION_COORDINATION.md §11 決策日誌](CROSS_SESSION_COORDINATION.md#決策日誌)
- [GAME_DESIGN.md](GAME_DESIGN.md)(玩法權威)
- [ARCHITECTURE.md](ARCHITECTURE.md)(技術權威)
