Ghost構築 †閱讀之前 †在繼續本篇之前,請先閱讀完人格概要,先有基本的檔案配置概念。 基本構成 †一個Ghost的成型至少包含下列三種資料
先來點導引觀念-1 descript.txt篇 †下面會繼續探討各個部分所代表的功用,但可能會有點混亂(其實這部份教學還不知道要怎麼寫比較好,所以先提供這個導引觀念篇。),請先停一下看看這個段落。 原則上descript.txt比較容易理解,在descript.txt裡記載了這個人格所使用的文字編碼、人格名稱、偽AI(Shiori)檔案名稱等設定。 透過這個檔案,SSP核心程式才會知道要載入怎樣的核心程式,還有一些人格的基本資訊,如名字等等,才能在"人格切換"的選單功能中,將各個人格的名稱顯示出來。 descript.txt檔案有個特性:檔名是固定的,不會變更。SSP核心程式第一個讀取的一定是這個檔案。 先來點導引觀念-2 腳本篇 †在日文裡面,是用"辞書"來稱呼這些檔案。原則上這些檔案是純文字檔型態,內容通常包括一些偽AI(Shiori)所提供的語法以及程式架構。 例如橘花的ai_2t.txt大概是這樣: 這些看起來很類似程式語法的東西,其實是偽AI所提供的語法,所以當你使用不同的偽AI時,這些語法也會不同。(這些語法是經過整合的高階語法,與C程式碼已經相去甚遠,詳情可以參考高階語法一文) 儘管這些語法已經透過偽AI簡化過,但要進行寫作的話,玩家還是需要有基本的程式設計概念。 腳本的主要功能是提供玩家訂製自己的偽春菜人格內容,這包括了:
總之就是一個人格能從對話框裡面給予玩家的東西,通通寫在這些檔案裡面了。原則上腳本檔案可以全部寫在同一個檔案內,但一般為了方便整哩,通常會依照所寫的功能再分類成好幾個不同的檔案。 而偽春菜核心程式(或說偽AI)要如何知道這些分散的檔案在哪裡?其實秘訣就在於"設定檔"裡面,如同descript.txt,偽AI也會有自獨創的設定檔,這些設定檔的名稱與位置由偽AI自行定義,因此您必須要去研讀該偽AI的文件,才能了解這個檔案是放在哪裡。 以AYA為範例,她的設定檔是指與AYA的偽AI檔案同名的.txt檔案,例如:你將偽AI檔案設定為Aya5.dll,則其設定檔為Aya5.txt。 而要載入的各個腳本檔案資訊,就放在這個"設定檔"裡面。 接下來請繼續看以下的各部分檔案詳細介詔: descript.txt †人格描述檔,用來指定人格的名稱、製作者等基本資訊。 標準的descript.txt內容如下: charset,UTF-8 type,ghost name,さくら sakura.name,さくら kero.name,うにゅう craftman,Fujiaki Kasori craftmanw,圭反藤諒 craftmanurl,http://sakura.mikage.to/ icon,sakura.ico shiori,first.dll makoto,firstr.dll
其他詳細的規格請參見GhostDescription。 Shiori.dll †Shiori負責解析人格辭書資料,選出適當的詞句,組合成對話。是讓人格活潑起來的重要關鍵。 事件發生的時候(例如對時、說話、Communicate、Ballon選單..), 核心程式都會呼叫Shiori,而Shiori就生成相對應的對話傳回。 藉由設定人格的反應以及會話內容,讓Shiori產生了看似AI行為的這樣一個過程,我們稱之為『偽AI』,或者『人工無腦*1』。 由於Shiori是開放規格,所以有很多種現成的Shiori可以使用。 不同的人格,可能使用不同的Shiori跟Makoto。目前常見的有華和梨、文、美坂等等。 一般說來,自己寫人格的時候,就是撰寫供Shiori處理的人格資料。 不同的Shiori,人格資料的寫法也不一樣。 通常是夾雜對話資料和簡單程式碼的文字檔。 對話資料必須使用Sakura Script寫成。性質有點像寫網頁使用的HTML。 程式的部分,大多的Shiori也提供變數、事件、條件判斷、迴圈等等像是程式語言的 功能。 甚至也有人用Shiori提供的功能寫成小遊戲的,像是まゆら這個有名的人格。 但是,不會寫程式的人也別放棄得太早。也有方法可以不需要撰寫複雜的程式的,偽春菜中有所謂『人格範本』這樣的東西,像是華和梨的KEEPS、文的紺野ややめ?這樣的東西,已經幫你寫好了大部分的功能,只要把對話的部份稍做修改,便能做出一個專屬於自己的人格。 Shiori的漢字是栞。 各Shiori的詳細說明請參照SHIORI。 注意:Shiori檔案不一定就叫做Shiori.dll,這個名稱是可以任意更動的,並沒有固定標準,實際檔名請參考descript.txt內的shiori設定值。 Makoto.dll †Makoto負責第二階段的處理。接管Shiori傳回的資料,被稱為「Translator」。 經由內外部伺服器接收到Nanika的資料,也會經過makoto的處理。 它是選擇性的元件,在Shiori的發展日趨強大之後, 使用到Makoto的人格也愈來愈少了。 主要負責句子的「加工」,如語尾變化等等。 Makoto也是開放的規格,和Shiori比較起來,功能就比較不那麼固定。 不才撰寫的轉碼元件,就是在這個階段,替對話做轉碼的動作。 Makoto的漢字是「真琴」。 Saori.dll †想使用Shiori中未搭載的功能時,就必須藉助SAORI這樣的東西來完成我們的要求,像是變更桌布、播放音樂等。每個Shiori載入SAORI的方式都不一樣,這部份請參看各Shiori專有的說明書。 詳細說明請參照SAORI。 注意:saori檔案不一定就叫做saori.dll,這個名稱是可以任意更動的,並沒有固定標準,實際檔名也不好捉摸。 這個不像是shiori有標準的descript.txt記載。有時候你必須要去搜索各種資料才知道到正確用法。 thumbnail.pnr †如果你想要讓你的Ghost有透明的banner圖,只要製作好相關的圖示,背景設定為紅或藍色(三原色),存成 thumbnail.png,再將thumbnail.png副檔名更名為.pnr,這樣核心程式就會取該張圖片座標的(0,0)位置的顏色為透明顏色, 效果跟shell目錄底下的surface.png系列相同。 這個檔案放在Ghost_Name主目錄下或者ghost\master都可以。 AI的寫法? †關於人格資料的詳細撰寫方法, 因為各家shiori的語法各異,且不是三言二語能講完的,所以會慢慢另外開設專欄介紹。 目前您最需要的是將檔案的配置方式弄懂,如此一來無論是日後要編寫AI或者僅是想修改自己喜歡的人格等都能得心應手。 現在站上已經有AYA的說明文件了,建議您先看完人格概要與本篇之後,進入該專欄文章中一探究竟,詳細的撰寫方法會在那邊提及。 |