top of page

Minecraft RPG的設計:NPC的任務與對話


通常在進行製作Minecraft RPG地圖的時候,一些處於中立的NPC將會是你必然考慮的要素之一,然而,Minecraft之中儘管有著Villager等中立互動角色,也可以透過Freeze mob方式做出怪物作為中立單位,更甚還能利用各種伺服插件與模組(例如spigot有名的Citizens插件)達到你所要的基本需求,但是無論何者都很難看到能夠做出「對話互動&任務接取」的模式。

台灣MC團隊MayorTW前幾年推出的盤靈古域,是利用Villager的交易面板,配合上材質包的替換來達到對話與承接任務的功能,這不妨是一個好的方式,那麼我們還有什麼方式能夠利用Minecraft原本的功能來做到呢?

以下我們將一個獲取物品的任務流程拆解並分門解析:

接取任務→獲取物品→回報任務

首先考量到的是,要如何接取任務呢?總不能一靠近就直接獲得任務,而接取任務勢必也要能讓玩家選擇是否要接取任務的權利,那麼,有什麼方式能設計讓玩家獲取任務呢?

  1. 利用常見的交易物品(例如綠寶石)交易獲取任務的道具,例如:寫上任務資訊的書,當拿到書的時候就代表獲取任務。

  2. 讓靠近NPC的人觸發對話(可以用tellraw或是隱形的ArmorStand來表現對話),當對話結束的時候,在區域內的玩家將會被標上tag標籤,抑或是用隊伍來做為標籤。

  3. 利用副手偵測:可以使用testfor inventory的方式,偵測副手位置;用一特殊物品作為觸發對話的物品(例如:手持花朵、一張特製的紙、命名為酒的藥水瓶...etc)。

然而在考量獲取任務的同時,就必須同時考量到未來要回報任務時,要怎麼處理?以及,中間是否會產生弊病?例如,要防止玩家A接取任務,將物品丟給玩家B來完成任務(又或許這樣的狀況被允許的話則可以無視)。

第一類型的方法,是直接利用Villager內建的交易面板來達成。缺點則是:當任務物品有三種以上不同的物品時便無法做出。同時也無法防止未接取任務的玩家回報任務、重複接取任務等等(這類狀況能夠透過任務物品的取得來解決)。

(附圖:利用隱形盔甲架達成類似對話效果的方式)

第二類型的方式則要考量到:必須做好面對不同標籤下的玩家,該要有的對話變動,否則淪為重複對話。

第三類型算是筆者較為屬意的方式,同時能結合第二類型的方法,來達成解完任務後為解任務的玩家標上標籤,這樣解過任務的玩家將不能再次接取相同的任務。同時,因為物品而觸發對話的劇情效果也顯得較好,雖然比起第二類型的直接對話來說差了一些自然感。但是,第三類型的變化可謂相當的多:

面對不同的NPC可以有不同的觸發方式,甚至有些NPC必須得要有特殊的物品方能觸發對話,甚至是任務接取。

然而,實際的運用,還必續得靠設計的人想要呈現的是怎麼樣的模式,才能夠更恰當的運用。

而其他任務類型的變種,例如:剷除區域內的敵人(testfor偵測怪物)、跟指定NPC對話(利用上述的方法另外變化)、將綿羊帶回NPC身邊(在有任務tag的前提下在NPC身邊testfor指定羊隻),多樣的任務的變化都由設計者自行發想,並藉著內建的指令邏輯來達到自己所想要的效果。

Featured Posts
Check back soon
Once posts are published, you’ll see them here.
Recent Posts
Archive
Search By Tags
No tags yet.
Follow Us
  • Facebook Basic Square
  • Twitter Basic Square
  • Google+ Basic Square
bottom of page