Skip to content

Hugo20040608/GFP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

163 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

程式設計二 Final Project:互動式小說引擎

我們的TOML格式介紹

截圖 2024-06-14 下午4.39.07

中括號為標題內容

  1. 第一層標題:用簡單名稱命名
  2. 第二層標題:再用更詳細,像是用數字標注不同的內容

截圖 2024-06-14 下午4.32.41

  1. 第三層內文:id的命名最重要,在找尋內文時是利用id尋找
  2. 第四層內文:像是對話內容即問題選擇,將內容利用陣列儲存

標題

  1. scenes 遊戲背景,須隨時切換
  2. characters 遊戲角色,對話及將數故事內容時會出現
  3. items 遊戲物品,劇本任務需要搜集一些物品才可成功
  4. events 劇本事件,每一幕會出現的場景、人物、物品、選擇都會詳細記載

劇本設計說明書

  1. 開頭必須告知劇本任務或大綱走向
  2. 若有讓使用者可以選擇時,要進入下一個event
  3. 每個數字代表一個event
  4. 有許多劇情走向,也可以設計不同選擇,但最終還是到相同的結局

注意事項:最終成功的事件必須在事件13發生!

開玩笑的啦,只要把該章節的is_ending設定為success就行了

範例:

is_ending = "success" //這代表這個章節是成功結局
is_ending = "fail" //這代表這個章節是失敗結局

參考劇本設計過程: IMG_1101

功能介紹及使用引擎使用方法

程式開頭

使用者可以根據提示輸入想要執行的劇本檔,格式必須為toml檔。

遊戲開頭

可以選擇從頭開始或者從存檔位置開始,遊戲結局或者從頭開始會將存檔重製。

  • 存檔格式為一般txt檔,格式就是標籤一行紀錄內容一行,如下:
save_event
event_14
神秘森林
0
古老城堡
0
村莊廣場
0
並沒有
0
勇者
0
神秘老人
0
村莊長老
0
不要瞎掰好嗎
0
魔法石
0
古書
0
北村鑰匙
1
南村鑰匙
0

save_event就是當前進行到的章節,下面的內容是toml格式裡的章節id。剩下的較淺顯易懂,就是場景、人物和物品,0就代表還沒去過、出現過和沒拿到,1反之。

遊戲進行

切換場景敘述

多數都是由按下空白件來進行下一個敘述或場景,除了下一項。

選擇下一個動作

透過按下上排數字鍵來進行選擇。

跳出遊戲

按下esc鍵,database.txt會記錄下現在遊戲的狀況。

引擎的一些使用說明

這個引擎支援與我們介紹的格式相同的toml劇本檔,不過因為每個標題下方的內容在處理上有部分是固定好的,所以假如要在劇本的一些標題下面的table加上一些我們示範的story.toml沒有的一些引數或陣列,則需要再而外製作一些函式。

LLM

使用純C語言編寫,主要是加長角色台詞

step1. 在資料夾最外部創建APIKEY.h

#define APIKEY "sk-ituckZpetbxX3IAr0x0xXQ1qWK5ntypJJzdodrgRIO1WRSsp"

step2. 在終端機執行

make chatgpt

prompt在input.txt,結果會輸出在output.txt 或是產生新的story.toml

About

none

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors