Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

135 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Web Game — 西方奇幻 戰術 SRPG

個人開發的瀏覽器戰術角色扮演遊戲,靈感取自《天使帝國》、《火焰之紋章》、《三國志》系列。

📍 專案狀態

🟢 10 章節完整故事 — 主線 8 章 + 番外 TRUE END 2 章

主線(ch1-8)+ 番外(ch9-10 真·最終決戰)。章節背景氛圍色ESC 暫停選單(動畫速度 / 靜音)、localStorage 設定持久化

🚀 怎麼跑

Web(主要)

npm install
npm run dev     # → http://localhost:5173
npm run build   # 型別檢查 + 打包到 dist/

桌面(Tauri 2,需先安裝 Rust + cargo)

# 一次性:安裝 Rust(rustup.rs)、安裝 tauri CLI
npm install
# 開發
npm run tauri:dev
# 打包安裝檔(macOS .dmg / Windows .msi / Linux .deb)
npm run tauri:build

設定檔位於 src-tauri/tauri.conf.json / Cargo.toml / src/main.rs

🎮 操作說明

  • 標題:「新遊戲」開新局;有存檔時顯示「繼續」與「清除存檔」
  • 過場:點擊或任意鍵推進對話
  • Hub(出陣前):點武將卡片看詳細資訊,按「出陣」進戰鬥
  • 戰鬥
    • 點藍色我方單位 → 綠格移動 → 紅/橘/紫框攻擊(紫=被剋、橘=剋制)
    • 滑入敵人看傷害預判 tooltip
    • 攻擊有動畫:近戰 lunge / 弓兵 projectile / 法師 magic burst
    • 受傷時跳出傷害數字
    • 「原地待命」結束行動,「結束我方回合」交給敵方
    • HP 0 → 撤退(不死亡)
    • 全滅一方 → 結算 → 自動存檔 → 下一章

📜 10 章故事大綱

標題 主要內容 BOSS / 招募
隱11 修羅戰場(TRUE END 後解鎖) 6 BOSS 同場(伯朗+卡爾+影武者+主教+副教主+教主・黯)
1 初遇敵軍 邊境遭遇法因海姆斥候
2 森林伏擊 密林反擊埋伏 弗拉德
3 邊境決戰 與伯朗將軍對決 伯朗將軍
4 河岸渡口 救援被圍的法米爾學院魔法師 招募 ★夏倫
5 艾斯瑞特城 城市保衛戰 卡爾將軍
6 王宮密室 揪出王宮內奸 影武者
7 黑暗山遺跡 阻止邪神禱詞 + 救出雷恩 黑暗主教(招募 ★雷恩)
8 虛空大殿 與教主・黯 決戰 教主・黯
9 殘黨追擊 教派殘黨企圖復活教主 副教主・凜
10 虛空裂縫 真·最終決戰:邪神碎片本體 邪神碎片(TRUE END)

🛠️ 技術棧

  • 語言:TypeScript (strict)
  • 遊戲框架:Phaser 3.90
  • 打包:Vite 5
  • 平台:Web

📦 已實作系統

系統 內容
6 兵種 劍士、槍兵、騎兵、弓兵、法師、飛兵(高機動 / 怕弓兵)
多元相剋 矩陣式(含法師 vs 劍士特殊互動 + 弓兵 ×1.8 vs 飛兵)
武將系統 22 名(5 玩家可用 + 17 敵方含 7 BOSS + 飛兵)
武將特技 14 個技能真實生效(HP 觸發、移動觸發、剋制觸發、faction 觸發)
等級 + EXP 攻擊+1/傷害、擊殺+10、滿20 升級加數值
裝備 武器/防具,13 件可裝備物品
地形 平原 / 森林 / 山地 / 水域;移動成本 + 防禦加成
戰術預判 hover 顯示我方/敵方傷害與剩餘 HP
攻擊動畫 近戰 lunge、遠程 projectile、法師魔法 burst
傷害數字 跳出浮動數字(紅色),EXP/升級也以浮動文字呈現
音效 Web Audio 合成(劍揮 / 槍刺 / 弓箭 / 法術 / 命中 / 升級 / 勝負)— 無資產檔案
存檔 localStorage 持久化章節進度 + 武將等級 + EXP
章節循環 序章 → Hub → 戰鬥 → 結算 → 下一章
10 章節 主線 8 章 + 番外 2 章(TRUE END)
章節氛圍色 每章獨特背景色調(邊境冷藍/森林綠/城牆黃昏/虛空赤紅 …)
章節氛圍 BGM 5 種 mood(peaceful / tense / dark / epic / finale)程序合成 drone,無音檔
6 種兵種身體 圓角方塊(劍)/ 五邊形(槍)/ 箭頭(騎)/ 梯形(弓)/ 菱形(法)/ 六邊形(飛)
Hub 換裝 每位武將可自由更換 9 種武器、5 種防具(picker overlay,setCommanderEquipment 存 localStorage)
粒子效果 每次命中爆出小光點,顏色依攻擊兵種(劍金、槍綠、騎橘、弓藍、法紫、飛白)
成就系統 14 個成就(10 章節通過 + 無傷 + LV 10/15 + 招募 + TRUE END 隱藏)
隊伍編組 Hub 中可逐一切換武將「✓ 出陣中/✗ 候補」狀態,候補者該章不參戰
難度 休閒/普通/困難 — 敵方攻擊倍率 0.7/1.0/1.3,暫停選單即時切換
隱藏挑戰 修羅戰場 — TRUE END 後解鎖,6 BOSS 同時降臨的最終試煉
戰鬥結算 每場戰鬥勝利後顯示傷害/擊殺/EXP/等級變化 + ★ MVP 標記,MVP 自動 +5 EXP
戰場藥草 每場 3 個共用藥草(治療 12 HP,使用結束該武將回合)
BGM 打擊層 dark/epic/finale mood 加入低頻心跳(80→40 Hz drop)增添緊張感
全程 BGM 標題、Hub、戰場各自啟動 mood 對應的 drone+melody
暫停選單 ESC 開啟,含動畫速度(0.5/1/1.5/2x)+ 音效開關 + 回標題
設定持久化 動畫速度與靜音設定存於 localStorage

🗺️ 開發階段路線圖

Phase 內容 狀態
0 學習 + 設計文件 ✅ 完成
1 微型原型 ✅ 完成
2 MVP 垂直切片(3 章節 + 完整系統) ✅ 完成
3 戰鬥視覺強化(攻擊動畫、傷害浮動) 完成
4 章節 4–6(招募夏倫 + 2 BOSS) 完成
5 章節 7–8(招募雷恩 + 最終 BOSS + 結局) 完成
6 武將特技生效 + 飛兵新兵種 + Web Audio 音效 完成
7 章節背景氛圍色(10 套色調) 完成
8 ESC 暫停選單 + 動畫速度 + 音效開關 + 設定持久化 完成
9 番外章 9–10(殘黨追擊 + 真·最終決戰 TRUE END) 完成
— Hex 重構 — 方格 → 六角格(pointy-top/odd-r/cube 數學) 完成
10 HubScene 隨章節限定可出陣武將 完成
11 i18n 多語系骨架(zh/en)+ 標題語言切換 完成
12 Tauri 2 桌面打包設定檔(需 Rust 才能 build) 完成
13 平衡輕調(影武者/教主・黯/邪神碎片數值微調) 完成
15 6 種兵種獨特身體形狀(圓方/五邊形/箭頭/梯形/菱形/六角) 完成
16 程序化 BGM(5 種 mood,依章節自動切換的氛圍 drone) 完成
14 HubScene 換裝 UI(武器/防具自由配,picker 全選擇器,存檔持久化) 完成
18 BGM 旋律層(不只 drone,每 mood 有 8 音符循環旋律) 完成
19 命中粒子效果(依攻擊兵種染色:劍金/法紫/弓藍 etc.) 完成
23 標題 / Hub BGM(peaceful drone,與戰鬥 mood 自動切換) 完成
24 成就系統 — 14 個成就 + Toast 通知 + 標題列表 完成
— 修按鈕 hit area — 所有按鈕改用透明 Rectangle hit child(Phaser 3.90 quirk 修正) 完成
21 隊伍編組 — Hub 各武將可切換「出陣 / 候補」狀態 完成
25 隱藏章節 — 修羅戰場(TRUE END 解鎖、6 BOSS 同場決戰) 完成
26 難度模式 — 休閒 0.7x / 普通 1.0x / 困難 1.3x(敵方攻擊倍率) 完成
27 BGM 打擊樂層(dark/epic/finale 加低頻心跳) 完成
28 戰鬥結算畫面(傷害 / 擊殺 / EXP / 等級變化 + MVP 標記) 完成
29 MVP 額外 EXP +5(戰鬥結算自動計入該章 MVP 武將) 完成
30 戰場藥草(每場 3 個,治療 12 HP + 結束行動,「藥草」按鈕) 完成
章節內容深度優化(ch1-11) 地圖 11×8 化、序章對話 4-5 倍擴充、新增伊歐侯爵 BOSS 完成
17 light i18n 加入 22 武將/11 章節/6 兵種 en 翻譯 完成
20 UI 主題切換 dark/sepia(暫停選單可切) 完成
美術替換 — 立繪整合 10 張 AI 立繪(Nano Banana 生成)入 Hub + Cutscene 顯示 完成
17 full, 22+ 全英化 cutscene(200+ 行)/ 攝影機 / 戰場 sprite ⚪ 未開始

📂 專案結構

src/
├── main.ts                 # Phaser 設定 + 場景註冊
├── BattleScene.ts          # 戰鬥主場景
├── Unit.ts                 # 武將單位類別(含攻擊動畫)
├── Grid.ts                 # 棋盤工具(Dijkstra/座標轉換)
├── types.ts                # 共用 TS 型別
├── data/
│   ├── commanders.ts       # 17 名武將
│   ├── unitTypes.ts        # 5 兵種
│   ├── equipment.ts        # 13 件裝備
│   ├── terrainTypes.ts     # 4 地形
│   ├── scenarios.ts        # 8 個戰場
│   ├── chapters.ts         # 8 章
│   ├── cutscenes.ts        # ~24 段對話腳本
│   ├── skillEffects.ts     # 14 個武將特技效果註冊
│   └── save.ts             # 存檔 load/save/clear
├── battle/
│   ├── CounterSystem.ts    # 兵種相剋(含飛兵)
│   ├── DamageCalculator.ts # 傷害計算(地形+特技+剋制)
│   └── Leveling.ts         # EXP/Level 常數
├── utils/
│   ├── audio.ts            # Web Audio 合成音效
│   ├── settings.ts         # 動畫速度/靜音/語言(localStorage)
│   ├── i18n.ts             # zh/en 雙語表 + t() 函式
│   └── hexDrawing.ts       # 六角形 path 繪製
└── scenes/
    ├── TitleScene.ts       # 標題(新遊戲/繼續/清除/語言切換)
    ├── CutsceneScene.ts    # 對話過場
    └── HubScene.ts         # 出陣前資訊(依章節篩武將)

src-tauri/                  # Tauri 2 桌面包設定
├── tauri.conf.json
├── Cargo.toml
├── build.rs
└── src/main.rs

📂 文件導覽

檔案 內容
DESIGN.md 完整設計藍圖(玩法、世界觀、系統、技術選型)
LEARNING_ROADMAP.md 原本的個人學習路徑(Claude 接手後跳過實際學習)

💡 心態原則

  • 不設死線
  • 漸進式垂直切片:每階段都是「完整可玩」
  • 商業化是 Phase 6+ 後再評估的選項

🎯 一句話描述

武將養成型戰術 SRPG,兵種相剋為戰術骨幹,故事章節推進的西方奇幻長篇。

About

西方奇幻戰術 SRPG — 11 章節 hex 戰場、AI 立繪、Web Audio 程序化 BGM。Phaser 3 + TypeScript + Vite。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages