技術文章

AI 工具、Side Project、GitHub 資源、iThome 鐵人賽與技術成長筆記會逐步整理在這裡。

iThome 鐵人賽 2026

《九重燼》Vue3 + PixiJS + Ink.js 視覺小說遊戲開發全紀錄 :: 2026 iThome 鐵人賽

以 Ink.js 為敘事核心、Vue3 為介面框架、PixiJS 負責場景渲染,打造一款中國宮廷歷史題材的互動視覺小說遊戲「九重燼」。系列文章將記錄從敘事引擎橋接、對話系...

Day 19Day19 AI 如何加速我的美術CGBGM 製作2026-08-19

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

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

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

Day 17Day17 動畫系統實作:轉場淡入淡出2026-08-17

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

Day 16Day16 Vue3 響應式狀態與 Ink.js State 同步機制2026-08-16

正向:Ink 變數 Pinia,靠一次性全量讀取而不是逐筆推播 StoryRuntime 裡的 inkjs Story 物...

Day 15Day15 PixiJS 進階:SpriteContainer 與圖層管理策略2026-08-15

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

Day 14Day14 完成第一個可以玩的 Demo!2026-08-14

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

Day 13Day13 遊戲 UI 設計:打造沉浸式文字冒險介面2026-08-13

前面幾天談的是資料怎麼流動,這篇要談玩家實際看到點到的介面本身 文字冒險的 UI 很容易被低估它看起來只是對話框選項幾個按鈕,但玩家其實是透過 UI 在判斷現在能做什麼介面沒有講清...

Day 12Day12 存檔與讀檔機制:LocalStorage 還是 IndexedDB?2026-08-12

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

Day 11Day11 選項系統實作:ChoiceFlag 與劇情控制2026-08-11

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

Day 10Day10 建立 Dialogue System:打造可重複使用的對話系統2026-08-10

有了 Day9 的資料流之後,這篇要回到玩家眼前:對話框 這聽起來像是很小的 UI拿一段文字,放進框裡,點一下換下一句,好像就結束了但真正寫到 src/componen...

Day 9Day9 Ink.js 劇本整合:如何讓 Vue3 與 Ink.js 溝通?2026-08-09

Day8 講了整體架構怎麼分層,這篇要往下鑽一層Vue 3 跟 inkjs 之間,實際上是怎麼說話的? 一個原則:沒有任何 Vue 元件直接碰 inkjs ...

Day 8Day8 遊戲架構設計:SceneStateUI 如何分層?2026-08-08

Day8要進到實作核心一行 Ink 文字,到底怎麼一步步變成畫面上的背景切換立繪出現對話框打字? 其實說穿了就是一條路: advance() 被叫一次,In...

Day 7Day7 技術選型與專案架構:為什麼選 Vue3PixiJSInk.js?2026-08-07

前六天都在講企劃跟文件,今天正式講講用了哪些技術架構,也是後面所有實作文章的地基 為什麼是這個組合 九重燼目前的核心依賴版本: <code cl...

Day 6Day6 建立遊戲開發文件與專案管理流程2026-08-06

昨天談的是企劃文件包本身,今天想往下一層,談這些文件在實際開發裡怎麼被用 包含專案的入口文件跟開發直接掛鉤的管理流程,以及素材怎麼從一堆散圖變成可以被程式讀取的資源 規劃大綱...

Day 5Day5 建立完整遊戲企劃文件(PRD)2026-08-05

前四天談的是內容世界觀角色選項系統今天要退一步,談怎麼把這些內容變成一份可以被執行的文件包 這件事聽起來很像行政作業,但九重燼能一個人在短時間內做完,關鍵就在這裡 PRD ...

Day 4Day4 如何設計玩家選擇與劇情分支2026-08-04

前兩天談了世界觀跟角色 今天要談的是把兩者串起來的機制玩家的每一個選擇,怎麼變成看得到的後果 Choice:選項不是劇情分岔,是資料寫入 每個重大選項在企劃階段就有一套...

Day 3Day3 角色設計:如何打造有血有肉的人物2026-08-03

昨天談了怎麼把一個模糊的靈感長成完整世界觀今天想聊聊更貼近玩家體驗的部分角色設計 因為世界觀再完整,玩家真正記住真正投入感情的,永遠是人 一個原則:好感度不是唯一標準 ...

Day 2Day2 如何從一個靈感變成完整世界觀2026-08-02

昨天聊了為什麼要做九重燼,今天想聊聊更根本的問題:一個模糊的靈感,是怎麼一步步長成一個完整世界觀的? 很多人開始做敘事類遊戲時,容易犯一個錯誤先想劇情,再補世界觀但劇情其實是世界觀...

Day 1Day1 為什麼我要做九重燼?一人遊戲開發的起點2026-08-01

大家好,我是碼力獅(MaliLion),平常在Threads上分享 AIside project 與遊戲開發相關的內容今年我報名了 2026 iThome 鐵人賽 Modern Web 組,接下...