RPG工具95的介紹‧再續

由於雜誌稿擠的關係,因此「狐言亂語」暫停了幾個月,在這期間筆者不斷收到讀者來詢問有關《RPG工具》的事情,有一些讀者還來信要求能夠快一點介紹事件編輯的方式。於是從本期開始筆者就開始介紹這款軟體中最重要的部份,就事件的編輯。

或許各位讀者都有玩過角色扮演遊戲,你們認為在角色扮演遊戲中所有的事情是如何執行的?像是人物的對話;打開寶箱;或是利用特殊的物品來開啟機關。如果您認為是擔任企劃的人將所有需要的劇情流程寫給程式看,然後程式再一行行的編入正在篆寫的程式裡,要是您真的是這樣想,那麼您恐怕還是活在舊時代的遊戲設計觀念裡。事實上,一款好的遊戲是需要一個設計精良的事件編輯器,如此一來企劃可以自行處理一般性的事件,並且在編輯的同時就可以進行測試,這樣子遊戲在開發的過程才會順利。

好了,廢話不要說得太多了,現在我們來看看《RPG工具》這款軟體中的事件編輯過程。現在就讓我們點選指令列上的「事件編輯按鍵」,您會看到游標並沒有任何變化,但是此時整個游標的功用卻已經改變了。我們選擇地圖上的一個地點按下滑鼠的左鍵,就會看到編輯事件的畫面,這就是事件編輯的基本畫面。

您可以看到在視窗的最上緣有一個(ID:00001)的數字,這表示這個事件在本張地圖上是第一號。由於程式本身設計的限制,因此在每張地圖上的事件不能超過99999項,也就是說當您超過這個數量的時候程式就無法處理了。事實上,由於這個數字是相當大的數字,因此恐怕您也不會用到這麼大的數字,因此也不用擔心。現在我們先點選畫面上方的「繪的選擇」的按鍵,您會看到一個列出所有本遊戲可以使用的圖素的畫面。

看到這個畫面您想到了什麼?在前面筆者不是提過和人物交談也是事件的一種嗎?不錯,在這個畫面您看到的就是所有遊戲中可以選擇的人物,如果您是要設定一個與玩家角色交談的人物,那麼此時您就可以從這些角色中選擇要交談的人物圖案,然後在遊戲中它就會出現在您剛才設定事件的地點上。也許有人會問了,若是我不是想要設定一個用來教談的人物,而是要設定一個寶箱呢?那麼此時您可以點選方向鍵,來看看其他頁有那些圖案可供使用。由於所有遊戲中的圖案都會出現,因此不只是人物、寶箱、就連山脈、樹木、或是河流等等都會出現了【註一】。

註一:在角色扮演遊戲中,像是使用道具後出現的神秘城市;或是使用特殊道具後可以讓海洋開出一條道路,這些事件也是從一個一個的圖案所組成的。

現在我們再來看下一項,在人物圖案的右邊有一個選項,是用來設定事件的種類。在本軟體中,為了應付各種不同的地形,因此有許多種不同的交通工具【註二】。在這個地方,就是針對交通工具來進行設定。在遊戲中共有人、馬車、雪橇、小船、船、氣球、飛行船等七種不同的交通方式。您或許也看過角色扮演遊戲中有交通工具可以幫您通過一些特殊的地形吧,這裡就是用來設定這些交通工具的。

註二:在設定地形的時候,本軟體也提供了地形種類的設定。若是您在那一部份有將某些地形設定為特殊的地形,那麼適當的交通工具將是必要的。就好像有些遊戲裡玩者不能直接走在沙漠裡,需要利用駱駝才可以進入沙漠也是同樣的。

再看到下一項,這一項是用來設定當玩者所控制的角色與這個事件物重疊時,會以那一個來顯示。舉個例子來說,若是您設定的是一個藏在地下的道具,那麼玩家所控制的角色必需要站在這個地點上,才能夠進行搜尋。因此在這個情況下,您需要設定當重疊的時候主人公角色為上;反過來說,若是您設定的是一些交通工具,那麼您總不希望當玩者控制的角色站在船上時,還是只看到這個角色吧。因此在這種狀況下,您就要設定主人公角色下;若是這兩種情況都不是,您不希望事件與玩者控制的角色會重疊的時候,只要設定此一事件點為不可通過就可以了。利用這個種類的設定,您可以簡單的設計出原本不能通過,但是後來又可以通過的地點,在一般的角色扮演遊戲中,這種情況是相當常見的【註三】。

註三:有些遊戲的寶箱是可以讓人站在上面調查的;有些則是站在前方調查。無論是那一種,您都可以用本軟體作出同樣的效果。

我們再看到下一項,這是用來設定事件的行動方式。在本軟體中,提供了不會移動、向主角靠近、遠離主角、以及亂數行動這四種,筆者就舉個例子來說好了。在有些角色扮演遊戲中敵人是看得到的【註四】,當玩者與這些敵人碰上的時候,就會進入戰鬥畫面。利用這裡所提供的四種行動方式,我們可以簡單的將這種模式遊戲作出來。

註四:像是《仙劍奇俠傳》裡,敵人角色是可以看得到的。這樣的功能,您可以利用本軟體來達成。雖然畫面的視角不相同,不過在怪物可以看得到這一點上,可是完全一樣的。

首先我們來看看不會移動這一項,在一些放有重要寶物的地點,我們可以設定一兩個敵人站在這裡,由於要保護寶物因此這些敵人是不會移動的。接下來是向主角靠近這一項,在此類遊戲中有時候敵人會主動向主角接近,若是沒有躲過就會進入戰鬥,利用這一項功能可以設計出積極朝主角接近的敵人;反過來說,我們也可以用遠離主角的這一種功能,來設計出會躲避主角的敵人來;至於亂數移動,就用來設計那些四處亂跑的敵人吧。您看,簡單的利用這一項,我們就可以把敵人分成四大類,對於遊戲的設計不是很有幫助嗎?

接著我們再看下一項,這一項是用來設定事件開始的辦法,筆者就以角色扮演遊戲中常見的幾種情況來解釋。在角色扮演遊戲中,有一些事件事需要玩者所控制的角色與之對話、或是調查後才會啟動的。像是在城鎮中與人物交談、調查寶箱等等,這裡的第一種選擇就是用來設定此一種類;當然啦在有些遊戲裡與人物交談或是調查寶箱是不需要按鍵執行的,只要玩者控制的人物與這些東西接觸後自然就會完成,因此在本軟體中的第二項選擇就是這種功能;至於第三種功能,從字面上看就知道是自動執行的,它不會理玩者的行動,而會主動的將事件進行直到完成。這種則是用來處理一些過場的劇情,或是玩者無法控制的事件進行【註五】。

註五:這一類的事件要小心處理,若是處理的不好,將會使遊戲的進行完全的停頓。在下個月的文章中,筆者將會舉例說明使用這種事件發生方式的例子,讓各位使用者不至發生慘劇。

採用不同的事件開始辦法,可以讓遊戲有不同的風貌。若是您在自己設計的遊戲中想要按鍵才與人物交談,那麼您應該要選擇第一項;若是您希望一和人物接觸,就可以自動的交談,那麼您需要選擇第二項;如果您想要設計自言自語的人物,那麼第三項將可以達成您的目的。

我們再看到下一項吧,這張圖中列出的就是本軟體所提供的事件處理方式。在角色扮演遊戲中,無論是交談時顯示的句子、打開寶箱後的取得寶物、夥伴的加入/離開、地點間的移動,都是歸類於事件的處理。在這款軟體裡,針對一般角色扮演遊戲中處理事件的方式,作了一個詳細的歸類,同時讓使用者能夠用選擇的方式來執行設計。就舉個例子好了,您在角色扮演遊戲中與一名人物交談,然後他加入您的隊伍,這麼簡單的事情也是用事件處理的方式來進行。在這款軟體中您只要使用適合的指令,就可以做出這個效果唷。

本軟體中的指令相當多種,由於篇幅的關係筆者無法在這裡一項一項的介紹,不過下一期筆者將會以實例的方式,針對一些角色扮演遊戲中的實際情況,利用這款軟體來作一個設計的說明。

現在我們先點選「OK」回到主畫面,會看到剛才設定的事件點上出現了一個圖案,這也就表示了這裡有一個事件。不過事件的設定到這裡並沒有結束。各位讀者先想想看,若是角色扮演遊戲中的人物只會講一種話,無論什麼時候都是一樣的對話,那麼遊戲不是很沒有趣嗎?因此我們要進入事件設定的進階篇。

再次進入事件的編輯畫面,點選畫面右下角的「>>」符號,這表示我們要進入這個事件點的第二層事件編輯。

在本軟體的事件中,每一個事件點可以有四層的變化。就以筆者前面用交談內容的例子來說,就表示每一位人物都可以有四種不同的談話內容。現在我們來看看畫面的左下角,是不是有一些原本無法點選的項目也可以選擇了,筆者就針對者些項目來作個說明。

首先我們看到的是道具這一項,各位先想想看,在您玩過的角色扮演遊戲中,是不是有人物會因為您拿了不同的道具而講不一樣的話呀?舉例來說,您原本可能和一位老法師交談的時候它理都不理你,但是當您取得一件稀有的魔法書後,他圖然告訴你一個重要的消息。在這裡的這一項,就是用來設定這種情況。您可以選定遊戲中已經設定好的一件道具,依據它來進行判斷,若是玩者控制的隊伍擁有這件道具,那麼事件就會執行第二層的指令。

我們看看再下一項,這裡指的是隊伍的成員。在有些角色扮演遊戲中,隊伍中若是沒有固定的成員,就無法開啟特定的門戶。最好的例子,就是遊戲中有一位法力高強的法師,只有它才具有打開封印之門的能力。因此在隊伍還沒有找到它之前,是不能打開封印之門的。可是在隊伍裡有了它之後,來到封印之門前就看到門一聲不響的打開了。這裡的這個項目,就是用來設定如此的功能。

第三項是根據玩者所控制的隊伍所擁有的金錢來進行判斷的。在某些遊戲裡,若是玩者的隊伍持有的金錢太少,遊戲中的其他人物會不太理玩者,或是不將重要的東西賣給玩者。但是當玩者有了足夠的金錢,就可以在談話中獲得購買物品的選項,之後就可以購得這件寶物了。當然,並不是只有用來設計購買物品這樣的小功能。您也可以設計在遊戲中有個地點只有大富翁才能進入,就像是要有十萬元才能參加賭王大賽這樣的情節,因此在玩者的金錢不多的時候,門口的守衛會將玩者趕走;不過在有了足夠的金錢後,玩者就可以進入參加賭王大賽。至於進入後是不是真的要賭博,筆者認為這是各位在設計劇情時可以發揮的地方,所以也就不作說明。

我們再來看看最後一項,這一項用來判斷的是遊戲裡的旗標。若是各位有看過筆者此一專欄的文章,在事件處理以及劇情流程中筆者都曾經提到過旗標的應用。筆者現在就引用其中的一段:

這個範例的故事是這樣的,主角來到一個小村落的村長家,想由村長的手中取得家傳的寶劍,由於村長的妻子得了重病,唯一能夠醫治她的藥就在不遠的山上可以採到,但是山上有可怕的妖怪,一般的人根本就不能靠近。於是村長要求主角去幫他採得草藥,就將寶劍送給主角。通常單線式的劇情結構都是用旗標來控制。在這個例子中,旗標一代表了玩者是否有取得草藥,於是企劃在編劇情的時候就是以下的資料結構:

村長(旗標一關):你想要我的家傳寶劍?但是有個條件。我的妻子得了重病,在不遠的山上可以採到治好她的草藥。可是山上的妖怪相當的可怕,我是怎麼樣都無法靠近的。若是你能夠將草藥帶來給我,我就願意將寶劍送給你。

村長(旗標一開):啊,這...這不是草藥嗎﹖謝謝你將這個草藥採來,我的妻子有救了。就如同我們所約定的,我就將家傳的寶劍送給你吧。

那麼在遊戲中當玩者在還沒有取得草藥的時候,和村長交談就會看到(旗標一關)的那一句話,而得知目前自己該做什麼。在取回草藥後再回去和村長交談,就可以看到(旗標一關)的那一句話,這就是單線式的劇情結構。不過在設計單線式的劇情結構時要特別注意收尾的問題,以這一個例子來說,當村長講完第二句話了之後,就會有獲得家傳寶劍的事件發生,因此若是玩者還再讓主角和村長交談的話要怎麼辦呢﹖這時候就需要再一個旗標來防止事件的重複發生。在獲得寶劍的時候同時也打開旗標二,然後再劇情的結構中增加以下的句子:

村長(旗標二開):這一把劍是我們一族的寶物,若不是你救了我的妻子,我是不會輕易的將它送給你的,請你一定要好好的使用。

這裡所引的例子就是旗標的處理方式。由於這個例子是以單純的物品為主,因您可以用旗標或是道具「藥草」在這款軟體裡達成同樣的效果。筆者就再舉一個例子來看:

村民甲「這裡是阿里村,是一個小小的漁村。」
村民乙「最近因為海浪很大,所以我們都不能出海去打漁了。」
村民丙「不知道是怎麼一回事,海浪怎麼都這麼大。」
村民丁「再不能出海打漁,就無法生活了。」

就以上面的例子來說明。這是一個只有四個人的小漁村,最近因為受到天候的影響,使得他們沒有辦法出海。因此當玩家所扮演的角色進入這個村子時,就會獲得上面所列出來的消息。因此當玩家所操控的角色向這四位村民交談時,就可以獲得這四句訊息,也就瞭解到目前應該要幫助漁民找出天候改變的原因,才可以解決無法出海的問題。

現在玩者扮演的主角成功的解決了這個事情,讓海恢復了平靜(我們先不管是如何達成的),因此要讓這些村民有著合乎時期的對話訊息,就必需要分別為他們編輯相對的訊息。因此這四位村民的第二句訊息可能如下:

村民甲「這裡是阿里村,是一個小小的漁村。」
村民乙「哈哈,終於恢復平靜了。這下子又可以出海了。」
村民丙「原來是有怪物在作怪,海浪才會變得這麼大。」
村民丁「這樣子生活就不會有問題了。」

由於村民乙、丙、丁的對話訊息和這個事件有關,因此我們要分別為他們準備第二句的訊息,這樣子在事情解決之後,再去和他們交談就不會有荒謬的對話發生。也就是說,這三位村民必需要有第二層的事件處理。至於村民甲,由他的對話和事件並沒有任何的關係,因此不為他準備第二句訊息也沒關係。

用流程圖的觀念來看,這裡的事件處理方式如下:

啟動事件

符合第二層條件?
↓Y         ↓N
執行第二層指令   執行第一層指令

結束事件

從以上的流程中各位可以看到,只要在啟動事件的時候去判斷是否有符合某個條件,就可以執行相對的指令。同樣的,如果還有另一個事件和這些角色有關,也可以再加上新的判斷式來處理新一層的訊息。

角色扮演遊戲中,由於會發生許多的事件,因此要如何來判定這些事件是否發生,就需要靠這些旗標的判斷。在早期一些角色扮演遊戲的篆寫時,程式會很辛苦的將所有遊戲中出現的對話編上號碼然後在程式中用判斷式的方式來處理要顯示那一句對話。不過在這款軟體裡,卻用相當簡單的方式就解決了這個問題。如此一來企劃在完成一段劇情的時候,可以立刻用本軟體提供的測試功能來看看事件的進行是否順利,不用等到程式編譯好程式才可以看到結果了。

還記得筆者在剛開始時曾經提過通常角色扮演遊戲製作到後期時,大多都剩下訊息對話的編輯沒有完成嗎﹖其實這指的就是這一部份。由於大部份的遊戲並不是採用固定的編輯器來處理,因此在訊息的處理上要一段一段的測試,才不會發生意外。因此當遊戲進行到製作後期時,其餘的部份都已經完成了,只剩下訊息來是要照著步驟一步一步來,就會有這樣的現象。特別在國內,由於角色扮演遊戲的訊息是由企劃編寫,可是卻由程式來處理流程,因此自然就會把時間拖得比較久。要解決這樣的問題,就必需要在遊戲開始進行設計時,先讓企劃開出所有的訊息所需選項及相關旗標,然後讓程式為他編寫一個適當的編輯器。如此一來,企劃可以在沒程式的情況下進行劇情的編輯及測試,就可以免除這樣的問題。而本軟體,就是這樣一款有著正確觀念的示範,對於各位有志於遊戲設計的玩家,是相當好的範例。

在本軟體中,利用這四大項目的判斷方式,各位使用者可以依自己的需要,來進行各種事件的判斷。因此,要讓同一個人物在不同時期講不同的話,可就一點都不難了,您說是嗎?以上就是本期關於事件編輯的說明,下一期筆者將以實例的方式來示範本軟體該如何作出角色扮演遊戲中常見的事件,相信在這些介紹後,您能夠更清楚如何讓事件編輯器產生最大的功效。我們下個月見!

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