簡介介紹
WarCraftⅢ World Editor(簡稱WE)
WE由四個主編輯器還有個功能強大的物件管理器(Object Manager)組成。四大編輯器分為地形編輯器(Terrain Editor)、單位編輯器(Unit Editor)、觸發編輯器(Trigger Editor)、音效編輯器(Sound Editor),四者關係如圖,其中要屬地形編輯器和觸發編輯器功能最為強大。本文將以四大編輯器為主線介紹WE,並以官方RPG地圖WarChasers的製作方法為例,由淺入深地講解構建一幅魔獸地圖的思路。(註:本文使用的軟體為英文版WarCraft World Editor 1.05版)
搭建舞台場景地形編輯器
WE基本元素之一。光用地形編輯器就能製作出簡單的對戰地圖。由於它被設計得“傻瓜化”,就算是新手操作起來也非常容易,仿佛Windows畫板一樣。
通過魔獸爭霸快捷程式組運行World Editor之後看到如圖1界面,這便是最基礎的地形編輯器。
①上方為選單欄,與其它的Windows軟體類似,在這裡可進行WE的所有指令操作。
②WE的主編輯視窗,通過它看到所編輯地圖的全貌。
③輔助視窗,對你編輯地圖有一定幫助,不過會影響到速度。
④工具面板,相當於一個巨大的素材庫,能很方便地添加物件到地圖。
⑤狀態欄,記錄了包括滑鼠位置、滑鼠所選物件的名稱等附加信息。
看過地形編輯器的構造之後,我們來學習如何繪製地圖的基本場景。第1步,新建一張地圖(File→New)(如圖2),這時你會看到格線——暴雪為了方便玩家合理安排地圖構造而設計的類似一些圖像編輯軟體的引導線(可通過View→Grid→None來消除它)。首先,我們使用工具面板的地形面板(Terrain Palette)(圖3)來創建一些山和水之類的自然地貌。A部分用來調整地形紋理以及繪製分界線。B部分調整懸崖、海水以及地表類型,不過在這裡請注意兩點:第1,只能在高度差為1,而且寬度至少為三個中型格線,長度在五個中型格線以上的地形間創建坡道(Ramp);第2,不要在小範圍內同時使用兩種懸崖類型(Cliff Type),這樣可能會造成地表貼圖錯誤。在完成了地形紋理設計和懸崖調整以後,使用C部分的地形高度選項來使地形變得更自然點兒。在調整高度時,建議使用D部分的筆刷選項,將筆刷調整到最大,這樣可省下不少力氣(圖4)。
對自己創造的地形滿意嗎?光禿禿的可不好看,想加些樹木、小鳥還有瀑布之類的修飾就需要用到擺設面板(Doodad Palette)了,點選工具面板上方的選擇框或點擊Layer→Doodad來切換到擺設面板(圖5)。當你創建類似箭靶的物品時,會發現大小與方向都是隨機的,這時你既可將四部分的隨機大小和隨機方向取消,然後重新添加擺設,也可通過雙擊調整擺設,然後輸入數值來改變大小、方向和種類。如果你只想大致地調整一下方向,則使用Ctrl+滑鼠左鍵點擊/拖拽(圖6)。
嘿嘿,接下來就是為你的地圖添加有生力量了,用相同的方法切換到單位面板(Unit Palette),相信到這裡魔獸玩家應該不會陌生,你可隨意添加任何兵種和建築到地圖上(圖7),不過要注意,當準備創建中立生物或構建敵人基地時,別忘了更改上方的玩家喔(默認是Player1 Red)。同樣能通過雙擊已建立的單位來更改所有者,也可使用滑鼠框選或用Shift+滑鼠左鍵來選擇多個單位進行批量修改。除了所有者以外,單位的屬性面板和擺設的屬性面板還有很多不同的地方,其中的技能欄可激活所編輯單位的技能,而掉落物品欄多半用於設定中立生物死亡時掉落的物品。當然,遊戲地圖都需要有起始點,在單位面板中Buildings的最後一欄找到起始點(Start Location),然後將它創建在地圖上的任意地方。別忘了作為對戰地圖,至少要有兩個起始點。接下來需要做的就是為你的對戰地圖加上一些小修飾了:點擊選單Scenario→Map Description,在Description欄里你可修改地圖名稱、遊戲人數和地圖說明,作者欄里簽上你的大名(圖8)。最後測試一下地圖(Ctrl+F9)就可存檔了。一張簡單的對戰地圖不就出來了?
排練演員單位編輯器
大家肯定不會滿足於只創造簡單的對戰地圖,就像有了電腦不光只學打字一樣。想學會如何駕御WE添加一些有個性的元素,這時我們就要用到下面的單位編輯器了。
單位編輯器功能很強大,因為官方經常用來調整平衡性,所以使用它就好像編輯QQ個人資料一樣簡單。本節將介紹如何使用它,並且主要對各個可修改選項加以解釋,讓大家可盡情發揮想像力創造新的單位——善惡美醜高矮胖瘦,完全由你選擇。
用F5打開它以後,我們可看到A部分是與地形編輯器同樣的選單欄和快捷按鈕欄,單位編輯器的選單命令非常少且比較簡單。B部分是單位樹,在這裡你可全覽所有單位。C部分則是顯示在B部分選擇單位的詳細數據,你要做的就是在此對各項數據進行修改。通過點擊選單File→New Custom Unit新建自定義單位,彈出新建單位視窗,其中名字可在創建後再編輯,最主要的是選擇參照單位,也就是要你選擇想在哪個單位的基礎上進行編輯。選擇了之後會在單位樹的最下方看到新建的單位被放在了Custom Units目錄下,點選剛才新建的自定義單位,通過右方的編輯視窗對數據進行修改(圖9)。
因為編輯器裡面可編輯元素多得恐怖,而且有一些玩家在遊戲中都沒有見過,所以我只對常見的項目進行解釋(見表1)。
注釋 傷害值的計算:例如9級石頭人的基本傷害值為60,WC3的傷害計算同DND規則,骰子數量1,骰子面數8,實際計算為最低傷害60+1*1=61,最高傷害60+1*8=68,也就是遊戲內顯示為61~68,有如矮人火槍手,基礎傷害為16,骰子數量2,骰子面數4,則遊戲傷害為18~24。
以上是普通單位的編輯介紹,在編輯英雄單位時,有以下特有的修改選項(見表2)。
在設定完了這些讓人眼花繚亂的單位數據及屬性後,不要忘了通過點擊選單File→Export Unit Settings來將所改動的單位數據存儲到檔案中,然後再在你自己設計的地圖上使用Import Unit Settings來調入修改了的數據。
展開劇情觸發編輯器
觸發編輯器是WE的靈魂,魔獸RPG無限的內涵就是因為它的存在。在此節,我們通過分析經典RPG地圖WarChasers(大家可在魔獸爭霸遊戲目錄的Maps\Scenario下找到它)中的幾個設計要點,來對觸發編輯器有基本的認識。
打開地圖WarChasers可看到它的全貌(圖10),不要光顧著欣賞地形,這些在上面講述的地形編輯器中你同樣能做到。在講解範例之前,先來了解一些觸發器的基本常識。首先是域(Region)的概念,它是地形編輯器與觸發編輯器之間最重要的一道橋樑,絕大多數的觸發器(Trigger)都與它有關係。通過工具面板→域面板(Region Palette)來顯示地圖上的域,大家會看到地圖上有許多不同顏色的矩形框,這便是域了,其中每個矩形框都是一個域。域面板簡單地分為兩部分:一部分僅為一個快捷鍵按鈕,當激活時(綠色)為增加域,當取消激活時(灰色)為編輯域的大小或移動/刪除域;另外一部分是域列表,在這裡通過雙擊域名,視窗會跳轉到該域所在區,並且還可在域名上單擊滑鼠右鍵→編輯域屬性(Edit Region Properties)來修改該域的詳細資訊,除了修改名字和微調域大小以外,還能改變域的顏色(Select Color)、天氣效果(Weather Effect)和聲效(Ambient Sound)(圖11)。
了解過域以後,可進入觸發編輯器的學習了。按快捷鍵F4打開觸發編輯器,有一個類似單位編輯器的視窗擺在了面前。讓我們來看看它的結構(圖12):最上方的是選單欄。往下左邊是觸發器樹,類似於單位編輯器里的單位樹。目錄下出現的檔案便是觸發器,左鍵單擊觸發器會打開編輯視窗。位於編輯視窗上方的文本框為備註框。備註框下方的便是觸發器編輯主視窗了,這裡需要講解的是觸發器分為事件(Events)、條件(Conditions)、行為(Actions)三部分,即當發生什麼事件,並且滿足什麼條件時執行什麼行為。是不是感覺有點像計算機語言一樣枯燥,那么讓我們試著讀懂WarChasers中幾個觸發器製作的效果實例吧。
觸發器製作的效果實例
實例一:如何實現遊戲開始時的選擇英雄,這是絕大多數RPG地圖所必備的。
實例效果:進入遊戲後,將樹精靈移動到英雄附近時,則選擇該英雄(圖13)。
實例講解:進入觸發器樹中Hero Selection目錄下的Robo X觸發器,我們可看到主視窗中的事件、條件、行為三大部分(圖14)。
事件部分:此處的意思是當一個單位進入Robo X域,則引發該觸發器。(通過雙擊可以編輯為你所需要的語句)
條件部分:在這個實例中條件部分為無,即當事件發生時無條件運行該觸發器。
行為部分:(下文中提到的玩家1為玩家自己,玩家12為電腦)
1.在Start2域中心為進入單位的擁有者新建一個名為Megotron X的單位(在這句中,你可以更改生成的單位數量、類型以及在哪個域新建該單位和該單位被建立時的角度)。
2.給剛才建立的英雄一個復活十字勳章(由於這是給英雄添加物品,所以不能設定數量,不過你依然可以更改物品的類型。Last Created Unit代指的便是剛才新建的Megotron X)。
3.如果進入的單位屬於玩家1則將剛才新建的Megotron X賦予單位類型變數Player1,否則什麼都不做。(這裡利用了Set行為語句來設定變數,為什麼要設定變數呢?就像為什麼我們每個人都有名字一樣。If Then Else是經常用到的行為語句,它常會通過條件來判斷該執行哪個行為)
4、5、6.三句橫線標註的語句功能同第3句一樣,大家很容易讀懂。
7.移出進入Robo X域的單位(這裡的Entering Unit同樣指的是進入域的樹精靈)。
8.啟動觸發器Snap Camera to Player(檢查條件)。(執行Camera Control目錄下的Snap Camera to Player觸發器,你也可通過使用類似以Trigger開頭的語句的觸發類型語句來建造觸發器鏈,相當於連鎖反應)。
實例總結:我們知道RPG地圖開始時用一個精靈選擇自己喜歡的英雄來作戰,這個最基礎的觸發器實例是怎么樣通過事件、條件、行為這3個部分來組合的,還了解了基本的語句構成。
實例二:類似Tower Defense的兵海,在這個例子中你將認識到觸發編輯器的差異性,即類似的語句卻會產生不同效果。
實例效果:在WarChasers地圖中會有一個開著坦克前進,然後很多骷髏兵向你湧來的效果,著名的Tower Defense地圖中也有類似的觸發器影子(圖15)。
實例講解:目錄Monster下面的TankRun1~9觸發器,鑒於這九個觸發器有相似性,所以我就拿觸發器TankRun1來作分析了(圖16)。
事件部分:意思是當一個單位(坦克)進入TankSpeak域時,則引發該觸發器。
條件部分:進入該域的單位必須屬於Playersgroup(這裡出現了條件,不滿足條件時行為部分就不會被執行。其中Playersgroup是一個玩家組類型的變數,在其它觸發器中,已設定了Playersgroup包括了遊戲中的四個玩家,所以這裡也可理解為任何一個屬於玩家的單位進入TankSpeak域時,才能滿足執行行為的條件)。
行為部分:
1.關閉此觸發器(這個語句便是控制該觸發器,使它只運行一次,這裡我們需要注意到的是行為部分的語序性,即語句是按照從上到下依次執行的)。
2.為玩家12在MakeSlimers域中任意一點新建兩個通過單位編輯器創建的名為Giant Skeleton Warrior的骷髏戰士(請注意到這個語句執行的效果是先確定任意一點,再在該點建立兩Giant Skeleton Warrior)。
3.為玩家12在TankSkels1域中任意一點新建一個單位名為RoadKill Skeleton的骷髏,並執行30次(其實效果便是在TankSkels1域內建立30個RoadKill Skeleton。玩家可能會覺得這個等同於上面的語句,但是請注意,因為域內的隨機點在每次執行語句時都會變化,所以這30個RoadKill Skeleton不會像上個語句里的兩個Giant Skeleton Warrior一樣聚集在一起,這樣才會有骷髏海的效果,請大家注意我用橫線標註的單位類型語句是相同的)。
實例總結:通過這個例子我們不僅學會製作Tower Defense效果,而且還看到For語句可簡化很多繁瑣的效果,大家應該多多練習使用。是不是覺得簡單了?那我們就來個難一點的!
實例三:瞬間移動。通過此實例我們可發現觸發編輯器不僅有差異性,也有多樣性,即用多種方法達到同一個目的,正是因為如此,觸發編輯器才可讓大家盡情發揮想像。
實例效果:當坦克到了終點以後,將玩家的英雄傳送到Waygate2 A域(圖17)。
實例講解:目錄Tanks下面的Player 1 Leaves Tank觸發器(圖18)。
事件部分:當一個單位(坦克)進入Tank Leave 02域時,則引發該觸發器。
條件部分:進入的單位為變數Player1(這裡請大家不要被迷惑了,這個Player1隻是一個單位類型變數,而非玩家1,這個變數指代的便是坦克)。
行為部分:
1.關閉此觸發器。
2.取消變數TempPlayer1的隱藏狀態(當你的英雄進入坦克時,在其它觸發器中已將你的英雄隱藏,並賦予單位類型變數TempPlayer1,●表示單位相關語句)。
3.將TempPlayer1移動到Waygate2 A域(這個移動沒有等待時間,可算是瞬間移動)。
4.在Tank Leave 02域創造“傳送”特效(這是一個用來創造特效的語句,大家可能會問,英雄都被傳送到了Waygate2 A域了,怎么還能在Tank Leave 02域看到特效?其實在玩家進入坦克時,視角已被固定在了坦克身上,在沒有新的語句來改變視角之前,視角依然只是坦克,▲表示特效相關語句)。
5.將剛才建立的特效賦值給特效類型變數列TankSFX[1](這裡出現了變數列(Array)的概念,所謂變數列,就是將同類型變數集中在一起,便於操作,就像把書都放在一個包里便於攜帶一樣)。
6.等待0.10秒(等待語句在觸發編輯器里作用也比較顯著)。
7.隱藏變數Player1。由於坦克在以後的遊戲中不會再使用到,所以我們完全可使用Remove命令將它刪除,你可新建移除單位的行為語句(Unit-Remove),然後將Triggering Unit值更改為變數(Variable)Player1,這樣便做到和隱藏變數Player1等同的效果了。
8.將TempPlayer1值賦予Player1(執行後,Player1便是指代的玩家的英雄了)。
9.執行Snap Camera to Player(忽略條件)(當選擇忽略條件時,就算執行的觸發器有條件也不會被考慮,這便是轉換視角的語句)。
10.等待2.00秒。
11.摧毀特效TankSFX[1]。(將剛才建立的特效摧毀)
實例總結:這個例子有些複雜,大家可反覆看注釋並結合遊戲來分析。我們從這個例子了解到在觸發編輯器中達到一個目的不是只有一種方法。另外,編輯觸發器中經常用到變數,但請大家注意使用變數時要有邏輯性,邏輯錯誤會導致整個地圖出現問題。
主題曲及配音音效編輯器
四大編輯器中最後一個組員——音效編輯器,不過它並不像其它編輯器那樣強大,使用它為的是渲染地圖內涵的氣氛。
按F5鍵啟動聲效編輯器,結構與單位編輯器類似(圖19),上方的選單欄中,可輸出/輸入聲音或者樂曲,在左方的聲效樹狀列表中,能找到出現在魔獸爭霸遊戲中的所有聲音和樂曲。雙擊可播放該檔案,若想在觸發編輯器中能調用該音效,則需要通過點擊選單File→Use Internal Sound將該檔案導入到右方的聲音變數列表,以使它成為一個變數。當然,這樣還不能算完工,還需要在觸發編輯器中調用它才行,在觸發器的行為部分加入播放聲音/樂曲(Sound-Play Sound或Sound-Play Music)的行為語句,便可播放剛才所加入的聲音/樂曲了。雖然聲音類型的行為語句很多,不過對於初學者來說,掌握這兩個和中止聲音/樂曲(Sound-Stop Sound或Sound-Stop Music)就差不多了。
OK,至此我們已了解WE的基本核心內容了,即通過四大編輯器來進行自主設計,為了能使大家有個較清晰的脈絡,我們為大家整理一下製作地圖的基本思路(圖20):
1.運用地形編輯器繪製出地圖的全貌,這是一張地圖能否吸引人的首要條件。
2.運用單位編輯器在地圖中創建遊戲可能出現的任何單位,包括人物、建築等。
3.在策劃的前提下,合理使用觸發編輯器來讓整個地圖“動”起來。大體步驟為:初始化數據→建立遊戲系統(即設定人物變數等,可以增加一些類似販賣物品系統等新元素)→遊戲任務。初學者可根據上文介紹的實例進行模仿,平時多多分析高手的地圖設計,有了經驗後向更複雜階段挑戰。
4.地圖的後期製作,包括用音效編輯器添加背景音樂、遊戲音效等,然後再進行一些其它方面的潤色。
5.調試階段,如果你想做出一張受大家喜愛的地圖,那么設計完地圖後不要急於推出,首先讓自己不斷地去調試,去試玩,玩到自己都不想看到這張地圖時,就大功告成啦!
既然我們了解了運用WE製作地圖的方法,那么介紹幾張人氣很旺的地圖下載後進行遊戲,並運用學到的知識分析高手是怎樣設計出這些經典地圖的。
經典地圖
Kaggz RPG-Shadow of Evil(圖21)
這張地圖首次出現是在1986年6月13日。特色之一是多個分支任務,在遊戲中,玩家可通過收集空瓶子來換取隱藏的裝備或去尋找某個NPC來學習技能;特色之二便是可“進入房屋”,即走到房屋門口便可進入房內購買道具等,其實便是基於前文所介紹的“瞬間移動”實例製作的;特色之三是通過了聲效編輯器插入了一首非常符合遊戲節奏的MP3,使得玩家可充分融入遊戲。
PhoenixFlame(圖22)
這張不久前才推出的RPG地圖可謂將觸發器的使用發揮到了極致。你甚至可像玩真正的RPG一樣和每個NPC進行對話。地圖中新建了一個龐大的遊戲系統,即加入了風、土、火、水等幾大屬性,要得到相應的物品才能學習相關的技能,而且還需要不斷地使用技能來提高熟練度。它的成功不光是依賴遊戲系統,作者在遊戲任務上也下了不少苦心,例如有時你需要利用小石塊來引開守衛(怎么聽起來像《盟軍敢死隊》?);如果要進入永久黑暗的地區你需要先去獲得火把;對付某個物理攻擊無效的Boss,你需要換成魔法攻擊。由此,讓人不得不佩服地圖製作者的水平。
LineAge 系列(圖23)
韓國著名線上遊戲《天堂》的魔獸版,在亞洲伺服器上非常流行,玩家在進行遊戲時需要做的只是殺怪練級然後完成任務,特點是對《天堂》模仿度很高,不僅擁有龐大的轉職系統,而且迷宮、任務的設定都是極力效仿原著,甚至它的一些改版乾脆使用了天堂裡面物品的圖示。至於這種地圖的遊戲性不需要我說了吧,線上遊戲的吸引力是不言而喻的。製作方面,因為是韓國人製作的地圖系列,所以都經過了加密,玩家不能通過WE對該系列地圖進行學習,不過依然可作為中級地圖編輯者進階時效仿的對象。
羅囉嗦嗦了這么多篇幅,希望大家對於使用WE製作魔獸地圖有了一個基本框架的認識,當然,如果想全面了解WE的所有功能以及使用方法,恐怕一本書也講不完。我們這篇WE教程只是讓更多的人熟悉WE並學會利用它做一些簡單的屬於自己的地圖,起到拋磚引玉的作用。要製作出受到玩家喜愛的、內容豐富的高級地圖,平時的積累和學習是非常重要的,當然,最重要的是個人的愛好和鑽研精神。期待不久的明天在各大伺服器上我也能玩到你們的地圖,祝各位好運!
地形編輯
1.點擊選單File→Perferences可對WE進行最佳化,如果你總是忘了存檔,那么在General欄中設定AutoSave的時間來開啟自動存檔,至於其它選項大家可根據喜好來調節。
2.通常在設計完地形以後會通過點擊選單View→Pathing或按快捷鍵P開啟路徑選項,用來檢查道路是否可通過,其中紫色代表不能通過。
3.當為單位面板時你不能點選到擺設,需要切換到擺設面板;同樣,當在地形面板時,只能對地形進行操作。
單位編輯
用單位編輯器來讓一個單位變成無敵(Invulnerable)。很簡單,修改該單位的能力選項,再點選添加能力(Add Ability),然後你可從單位(Unit)能力面板中找到Invulnerable(Neutral),選擇它便可以了。
觸發編輯
在檢查錯誤時,通常在可能引起錯誤的行為語句前加入Game-Text Message(Auto-Timed),這是一個在遊戲中顯示文字的語句,你可將它們設定為顯示不同的信息,這樣當你發現哪個信息沒有顯示時就可大致確定引起錯誤的語句了。
此外,利用WE,還可以把自己設計的人物模型加入到你設計的地圖裡面去,例如你可以設計出很有中國特色的古代武士,或者是貼近生活的人物模型,又或者是動漫人物的形象,高手還可以自己設計出有特色的建築物、英雄技能等,可謂想像有多遠,你就能走多遠。
通魔作坊,心魔工作室,都是比較高產的,通魔作坊一般在U9官方網站的魔獸爭霸分版發布地圖,並設定有作坊區,資源下載區域,新圖測試區等,是運轉比較穩定高效的作坊,很多深受玩家喜愛的地圖都是通魔作坊出品的。
WE可以說的魔獸最偉大的延伸,有了WE,才有了自定義戰役,才有防守RPG,才有TD,3c,才能讓魔獸歷久不衰,這就是魔獸的魅力,人性化到極致。