前往
大廳
主題

Unity 遊戲製作 - 對話系統開發日誌 Day1

放課後的遊戲 | 2023-09-02 13:00:09 | 巴幣 2 | 人氣 283

前文

近日受邀與一個團隊開發一款選擇導向型的文字冒險遊戲,想說還沒自己做過對話系統的開發,就決定協助開發了。

遊戲內容就不多談,接下來幾篇就是拿來記錄自己對於文字對話系統的開發歷程。

我知道有一些既有的套件可以使用,但…我就純粹想做做看而已,如果有人有用習慣的套件也可以推薦給我,我也可以拿來做為開發上的參考。

說是 Day 1 但其實開發的內容是昨天的,昨天弄得有點晚,還來不及寫這個就先睡了,今天再來補上。

主軸

第一天開發的內容不多,主要是先把大致需要的功能列出來,然後一些基礎的元件框架弄出來而已。

我個人預期這個對話系統要有以下的功能:
  1. 對話內容顯示
  2. 加速對話文字顯示
  3. 略過對話
  4. 人物立繪的顯示
  5. 人物名稱的顯示
  6. 對話文本是採用外部檔案存取,這樣可以不用為了調整文本就需要把整個遊戲重新編譯發布。
  7. 選擇系統
後續可能邊開發的過程會在有些新想法,但主要大概就是這些內容。

有了大致的功能想法後就是在補上程式與畫面了

首先建立一個 DialogueSystem.cs 這是整個系統主要對外的主體,因為對話系統只會有一個,所以採用單例模式建立。

建立的時候會先檢查場景是否有 DialogueCanvas 這個元件,如果沒有就建立一個,並且賦予相關的內容。

接著建立一個 DialogueCanvas.cs 的程式碼,這個程式主要是拿來控制畫面元件的內容,也就是控制顯示對話內容、人物立繪等等。

原本是想要把所有東西都透過程式碼去生成,也就是我場景上可以不用塞任何物件,但後面想了想這樣做的工作要太多了…所以在場景上建立了對應 Canvas 物件,然後把整個大概需要的東西建立完了。

剩下程式的部分明天再繼續...

最後覆上一張目前的程式架構圖


創作回應

╔ 果漾 ╗﹏姬﹏
哇 感覺是大工程。
2023-09-04 20:47:41

更多創作