探討單句式對話及關鍵字對話的資料結構及設計方式

各位好,在連續兩個星期和各位討論過角色扮演遊戲的劇情結構和戰略遊戲的人工智慧,這一次我要和各位談談角色扮演遊戲中的最重要的一個部份~那就是交談系統。若是各位玩者接觸的角色扮演遊戲夠多的話,應該會知道在角色扮演遊戲中有著單句式以及關鍵字兩種完全不同的交談系統,今天我們就來看看這兩個不同系統。

要怎麼分辨單句式和關鍵字系統呢?我們可以簡單的從在遊戲中玩者和遊戲中的人物交談時是如何獲得訊息來看。在一般國內的角色扮演遊戲中,經常使用的就是單句式的交談系統,也就是那種玩者只要和角色對話,對方就會一股腦的將所有的消息告訴你,而玩者也就可以獲得所有的訊息,這種就是屬於單句式系統(如大宇的《軒轅劍系列》、《仙劍奇俠傳》等等)。就算有的遊戲用比較刁鑽的方式,會要求玩者多問幾次才會出現真正需要的訊息(像精訊的《亂世伏魔錄》),不過是這一種系統的延伸使用罷了。

那麼關鍵字系統呢﹖我想最有名的應該就是《創世紀系列》,在創世紀的前幾代中,玩者需要自行輸入各個關鍵字來詢問各式各樣的問題,隨著玩者輸入不同的關鍵字,就會有不一樣的答案。但是也因為這個原因,使得一些英文程度不好的玩者在接觸那幾代的遊戲時相當的辛苦(反過來說,也有一些玩者因為玩這個遊戲而使得英文程度大增),也使得許多的玩者不願意接觸創世紀。但是到了《創世紀七代》的時候,由於採用了滑鼠來進行遊戲,因此整個關鍵字系統就做了很大規模的改進了,玩者可以由畫面選擇要問的關鍵字,因此不再會有找不到關鍵字來問的狀況發生了。

那麼我們來看看國內的幾個採用關鍵字系統的角色扮演遊戲吧。在筆者的印象中,好像只有精訊的《聊齋誌異》、大宇的《妖魔道》、以及軟體世界早期推出的一個《俠影記》而已。在這幾個遊戲中,筆者覺得精訊《聊齋誌異》的關鍵字系統是其中最成功的,至於為什麼筆者會這麼認為,絕對不是因為筆者自己曾經參與過這個遊戲的製作,而是從關鍵字系統的結構來看,這個遊戲才是真的使用到關鍵字系統的精髓。

所謂的關鍵字系統,正如同它的名稱一樣,是一個以關鍵字來串連遊戲劇情的交談系統,因此玩者必需要能夠從某一個遊戲中人物的口中獲得某個關鍵字後,再使用此一關鍵字到另一名人物的口中發揮作用,這才能說是使用了關鍵字的妙用。在《聊齋誌異》這個遊戲中,玩者要獲得第一座塔~金形塔的八字真言,就必需要先從一位書生的口中獲得四字真言,然後再到酒店裡找一位酒女,用這前四個字的真言向她詢問後四個字的真言。而所謂的關鍵字系統的巧妙,也就是當玩者若是沒有獲得前一個關鍵字的時候,在後面的那個人口中是無法取得下一個關鍵字的。在遊戲中,若是玩者不能先由書生的口中套出前四個字的真言,那麼在酒女的對話選單中是不會出現那四個字供玩者選擇,因此玩者就無法獲得後四個字了。也就是說,關鍵字系統是一個憑著玩者選項不同會有不同情況的對話系統。

那麼我們回過頭來看看另外兩個遊戲的關鍵字系統吧,首先我們來看看大宇的《妖魔道》吧。在這個遊戲中也有關鍵字系統,但是它的關鍵字系統所發揮的作用並不是在對話上,而是當某些任務還沒有解決時,這些關鍵字就會出現在對話的選單中,讓玩者可以選擇它取得所需的資料,當這一項任務或是事件解決了後,這個關鍵字就會從選項中消失。這種作法並沒有真正發揮「關鍵字」的作用,只是用它來提供玩者多次獲得相同的問題解答而已。

接下來我們看看《俠影記》這個遊戲,這可以說是關鍵字系統使用的錯誤範例,因為在這個遊戲中,提供玩者選擇的關鍵字並沒有影響其他地方事件的作用,反而把原來簡單的可以在單句中表現的訊息切成一段一段的文字,讓玩者需要將所有的關鍵字選擇完之後才可以知道全部的訊息。再加上一些關鍵字所得到的訊息又都是沒有用的訊息,使得這個遊戲的交談系統完全沒有表現出關鍵字系統應有的特色。

現在我們就來探討一下這兩種系統在資料結構上究竟有什麼不一樣的地方。首先我們來看看單句式的資料結構,記得在討論劇情結構的那一篇文章中,筆者曾經舉過一個單線式劇情的範例嗎?那種的結構就是單句式交談系統的標準結構。因為在單句式交談系統中,在玩者遭遇遊戲中的角色時,角色會依據當時遊戲中的劇情發展情況,決定出要說那一句話,若是在劇情沒有改變的情況下,就會重複的使用這一句話。

在這一種方式中,當玩者控制的角色和遊戲中的角色交談時,程式會依據這名角色所相對的幾個旗標,判斷出目前該顯示出什麼樣的訊息。若是同時有幾個旗標都成立的話,也只會以最優先的旗標為準。在這種系統之下,訊息的結構相當的單純,程式也只要將每一句對話編上相對的代碼,用判斷式就可以決定出要顯示出那一句訊息。同樣的,這種系統的資料結構也比較單純。

接下來我們看看關鍵字系統的資料結構吧。在前面說明單句式系統的時候,筆者曾經說過要以旗標來判斷顯示那一句訊息,其實這個所謂旗標就是遊戲中控制劇情目前發展到那裡的指標。同樣的在關鍵字系統中這些旗標也存在著,只不過除了它們之外還要再加上一組關鍵字的旗標,而這些關鍵字的旗標就是這種交談系統的重心。

在遊戲中,當玩者從其中一位角色的口中獲得一個關鍵字之後,這個關鍵字的旗標就會打開,之後若是有遇到對這個關鍵字有所瞭解的角色時,在交談的選單中就會出現這個關鍵字。

在這種系統中,在交談的時候,程式會先判斷目前玩者已經獲得那些關鍵字,然後再看這一名交談的對象對於那些關鍵字會有反應,接下來在在選單中就會出現這些有反應的關鍵字讓玩者選擇。在選擇了某個關鍵字之後,相關的訊息就會顯示在畫面上,同時若是有某個關鍵字會因為問了這一句話之後打開,也會在訊息顯示之後將此一關鍵字的旗標打開。接下來我們看看下面這個例子:

在這個例子中,會有某甲以及某乙兩個人,在遊戲的過程中玩者必需先從某甲的口中獲得一句暗號,然後用這個暗號向某乙詢問,才可以獲得所需的資料。因此在遊戲中某甲的資料如下:

某甲(無關鍵字):喔,是你呀。我相信你一定是想要加入這個秘密的組織,不過若是沒有組織的口令的話,是不可能加入的。

◎在這句訊息後關鍵字「口令」打開

某甲(口令):你想要知道口令?那我就告訴你,我們的口令就是神出鬼沒。

◎在這句訊息後關鍵字「神出鬼沒」打開

某甲(神出鬼沒):不對不對,這句口令不是對我說的,你必需要找到我們組織的某乙,然後對他說出這個口令,就可以加入我們的組織了。

因此在這個地方我們可以看到,在開始的時候玩者和某甲交談時會先獲得「口令」這個關鍵字,接下來這個關鍵字就會出現在交談的選單中。而玩者選擇口令這個關鍵字之後,就可以再獲得進一步的資料以及「神出鬼沒」這個關鍵字。之後再以神出鬼沒這個關鍵字向某甲詢問,就可以得知這個關鍵字的使用方式。接下來我們再看看某乙方面的資料:

某乙(無關鍵字):對不起,我什麼事都不知道,請你不要來打擾我好嗎。

某乙(神出鬼沒):你知道我們的口令,那麼你可以加入我們的組織了。我們的任務是要推翻目前的政府,希望你也為這件事盡一份力。

◎成功的加入叛亂組織了

從這裡我們可以看到,若是玩者在還沒有獲得神出鬼沒這個關鍵字的時候來找某乙交談,那麼是無法從某乙的口中獲得任何的消息。但是當玩者從某甲的口中獲得了「神出鬼沒」這個關鍵字之後,在交談的選單中就會出現這個選項,選擇後從某乙處就可以得到回應,也就可以加入判亂組織了。這一種的交談訊息結構,也就是關鍵字系統真正能夠發揮作用的地方。

在設計關鍵字系統的時候有一件事要注意,那就是需要適時的將某些沒有作用的關鍵字關掉。就以上面的例子來說,當玩者成功的加入了判亂組織之後,這一部份的事件可以說是已經結束了,此時就可以將「口令」以及「神出鬼沒」這兩個關鍵字關閉。不過若是這兩個關鍵字還有作用的話,就不可以這麼輕率的關閉它。

說到這裡也許有人會說其實這種劇情不需要用關鍵字系統,就算是單純的單句式結構就可以處理了。但是請各位想想看,這裡的劇情若是當玩者一和某甲交談,某甲就將所有的消息一股腦的都說了出來,那麼不是很沒有意思嗎?除此之外,關鍵字系統在玩者被遊戲卡住的時候,還可以讓玩者重複詢問相同的關鍵字來獲得訊息,比起單句式結構那種不小心沒有看到就會被卡住的情況來說,是不是也顯得比較人性化呢?

前面所說的都是關鍵字系統的好處,但是為什麼目前的遊戲很少使用關鍵字系統呢?那都是因為要設計關鍵字系統的話交談的資料結構就繪變得比較複雜。各位想想看,原本在規劃交談的訊息資料時只要針對每個遊戲中的角色,配合不同的劇情段落配上訊息就可以。但是在關鍵字系統中,設計者必需要將關鍵字妥善的分配到各地的劇情對話中,才能使關鍵字系統真正的發揮作用,因此在設計劇情的時候比較困難。

除此之外,目前國內的公司大多有將遊戲推向國外的計劃。由於中國字並不是拼音系的文字,因此這些關鍵字一但翻譯成其它國家的語言(像是韓文、英文等等)時,就會發生翻譯出來的單字變成好長一串的文字,若是勉強的將一串文字刪成適度的長度時,又會有可能會文不對題的問題(這種情況就好像《魔法門三代》中的解謎被變成中文的問題那樣奇怪),或是因此要增加文字顯示的區域。也因為這些原因,使得國內的公司盡量的不去碰這樣的系統,以免自找麻煩。

事實上關鍵字系統其實是個擴展性相當大的系統,就連在遊樂器的遊戲中也曾經有採用過這樣的系統。正因為它對於劇情的掌握比單句式的要強,以及它更結構化的資料結構,它絕對是一個完美的交談系統。

(1996.01 發表於電腦玩家雜誌)