以 Ink.js 為敘事核心、Vue3 為介面框架、PixiJS 負責場景渲染,打造一款中國宮廷歷史題材的互動視覺小說遊戲「九重燼」。系列文章將記錄從敘事引擎橋接、對話系統設計、轉場動畫、到小遊戲標籤系統整合的完整開發過程,並分享效能優化與跨模組協作的實戰心得。
day4 談過選項在設計層怎麼寫入數值跟旗標,Day9 談過 inkjs 怎麼吐出 currentChoices。這篇要講的是最後一哩路:這些選項到了畫面上,實...
答案是:IndexedDB 為主,LocalStorage 當備援。 Day11 把選項系統做起來之後,玩家終於可以真的沿著不同路線推進劇情。下一個很現實的問題...
前面幾天談的是「資料怎麼流動」,這篇要談玩家實際看到、點到的介面本身。 文字冒險的 UI 很容易被低估。它看起來只是對話框、選項、幾個按鈕,但玩家其實是透過 U...
從一個模糊的靈感,走到選項系統、存讀檔、UI 分層全部到位,Day14 終於進到一個比較像作品的節點:第一個可以玩的 Demo。 這裡的「可以玩」不是指單一場景...
Day8 提過 SceneManager 是 PixiJS 這邊的場景管理者,這篇往下鑽細節:它實際上怎麼用 Container 分層、哪些東西交給 PixiJ...
正向:Ink 變數 → Pinia,靠一次性「全量讀取」而不是逐筆推播 StoryRuntime 裡的 inkjs Story 物件沒有直接放進 Pinia s...
《九重燼》目前沒有一套真正的動畫 Timeline 系統,也沒有引入 GSAP 這類補間函式庫。實作比較土法煉鋼:PixiJS 畫面效果寫在 SceneMana...
Day13 談過整體 UI 設計原則:元件拆分、Z-index 管理、各元件自己處理響應式。Day18 往下鑽一層,看實際的斷點數字,以及手機、平板、桌面到底怎...
一人做互動敘事,最容易卡住的地方不是寫程式,而是素材。劇本可以慢慢磨,程式可以一個模組一個模組補;可是畫面一旦缺背景、缺立繪、缺 CG,整個遊戲就只剩文字和黑底...
前面 19 天,幾乎每一篇都提到某個踩過的坑、某個修法背後的推導。到了 Day20,剛好可以正面談這件事:AI 在《九重燼》裡到底幫了什麼?它不是把遊戲「自動做...