iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Modern Web

《九重燼》Vue3 + PixiJS + Ink.js 視覺小說遊戲開發全紀錄 系列

以 Ink.js 為敘事核心、Vue3 為介面框架、PixiJS 負責場景渲染,打造一款中國宮廷歷史題材的互動視覺小說遊戲「九重燼」。系列文章將記錄從敘事引擎橋接、對話系統設計、轉場動畫、到小遊戲標籤系統整合的完整開發過程,並分享效能優化與跨模組協作的實戰心得。

參賽天數 22 天 | 共 22 篇文章 | 2 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day11 選項系統實作:Choice、Flag 與劇情控制

day4 談過選項在設計層怎麼寫入數值跟旗標,Day9 談過 inkjs 怎麼吐出 currentChoices。這篇要講的是最後一哩路:這些選項到了畫面上,實...

DAY 12

Day12 存檔與讀檔機制:LocalStorage 還是 IndexedDB?

答案是:IndexedDB 為主,LocalStorage 當備援。 Day11 把選項系統做起來之後,玩家終於可以真的沿著不同路線推進劇情。下一個很現實的問題...

DAY 13

Day13 遊戲 UI 設計:打造沉浸式文字冒險介面

前面幾天談的是「資料怎麼流動」,這篇要談玩家實際看到、點到的介面本身。 文字冒險的 UI 很容易被低估。它看起來只是對話框、選項、幾個按鈕,但玩家其實是透過 U...

DAY 14

Day14 完成第一個可以玩的 Demo!

從一個模糊的靈感,走到選項系統、存讀檔、UI 分層全部到位,Day14 終於進到一個比較像作品的節點:第一個可以玩的 Demo。 這裡的「可以玩」不是指單一場景...

DAY 15

Day15 PixiJS 進階:Sprite、Container 與圖層管理策略

Day8 提過 SceneManager 是 PixiJS 這邊的場景管理者,這篇往下鑽細節:它實際上怎麼用 Container 分層、哪些東西交給 PixiJ...

DAY 16

Day16 Vue3 響應式狀態與 Ink.js State 同步機制

正向:Ink 變數 → Pinia,靠一次性「全量讀取」而不是逐筆推播 StoryRuntime 裡的 inkjs Story 物件沒有直接放進 Pinia s...

DAY 17

Day17 動畫系統實作:轉場、淡入淡出

《九重燼》目前沒有一套真正的動畫 Timeline 系統,也沒有引入 GSAP 這類補間函式庫。實作比較土法煉鋼:PixiJS 畫面效果寫在 SceneMana...

DAY 18

Day18 打造跨裝置體驗:對話框 RWD 與 UI 響應式設計

Day13 談過整體 UI 設計原則:元件拆分、Z-index 管理、各元件自己處理響應式。Day18 往下鑽一層,看實際的斷點數字,以及手機、平板、桌面到底怎...

DAY 19

Day19 AI 如何加速我的美術、CG、BGM 製作

一人做互動敘事,最容易卡住的地方不是寫程式,而是素材。劇本可以慢慢磨,程式可以一個模組一個模組補;可是畫面一旦缺背景、缺立繪、缺 CG,整個遊戲就只剩文字和黑底...

DAY 20

Day20 AI 如何協助劇情與程式開發

前面 19 天,幾乎每一篇都提到某個踩過的坑、某個修法背後的推導。到了 Day20,剛好可以正面談這件事:AI 在《九重燼》裡到底幫了什麼?它不是把遊戲「自動做...