以 Ink.js 為敘事核心、Vue3 為介面框架、PixiJS 負責場景渲染,打造一款中國宮廷歷史題材的互動視覺小說遊戲「九重燼」。系列文章將記錄從敘事引擎橋接、對話系統設計、轉場動畫、到小遊戲標籤系統整合的完整開發過程,並分享效能優化與跨模組協作的實戰心得。
大家好,我是碼力獅(MaliLion),平常在Threads上分享 AI、side project 與遊戲開發相關的內容。今年我報名了 2026 iThome...
昨天聊了為什麼要做《九重燼》,今天想聊聊更根本的問題:一個模糊的靈感,是怎麼一步步長成一個完整世界觀的? 很多人開始做敘事類遊戲時,容易犯一個錯誤——先想劇情,...
昨天談了怎麼把一個模糊的靈感長成完整世界觀。今天想聊聊更貼近玩家體驗的部分——角色設計。因為世界觀再完整,玩家真正記住、真正投入感情的,永遠是「人」。 一個原則...
前兩天談了世界觀跟角色。今天要談的是把兩者串起來的機制——玩家的每一個選擇,怎麼變成看得到的後果。 Choice:選項不是「劇情分岔」,是「資料寫入」每個重大選...
前四天談的是內容——世界觀、角色、選項系統。今天要退一步,談「怎麼把這些內容變成一份可以被執行的文件包」。這件事聽起來很像行政作業,但《九重燼》能一個人在短時間...
昨天談的是企劃文件包本身,今天想往下一層,談這些文件在實際開發裡怎麼被「用」包含專案的入口文件、跟開發直接掛鉤的管理流程,以及素材怎麼從一堆散圖變成可以被程式讀...
前六天都在講企劃跟文件,今天正式講講用了哪些技術架構,也是後面所有實作文章的地基。 為什麼是這個組合 《九重燼》目前的核心依賴版本: "vue&quo...
Day8要進到實作核心——一行 Ink 文字,到底怎麼一步步變成畫面上的背景切換、立繪出現、對話框打字? 其實說穿了就是一條路:advance() 被叫一次,I...
Day8 講了整體架構怎麼分層,這篇要往下鑽一層——Vue 3 跟 inkjs 之間,實際上是怎麼「說話」的? 一個原則:沒有任何 Vue 元件直接碰 ink...
有了 Day9 的資料流之後,這篇要回到玩家眼前:對話框。 這聽起來像是很小的 UI。拿一段文字,放進框裡,點一下換下一句,好像就結束了。但真正寫到 src/c...