遊戲策劃設計中地圖編輯器的使用介紹(轉)

post0發表於2007-08-12
遊戲策劃設計中地圖編輯器的使用介紹(轉)[@more@]

  第一節:地圖編輯器

  地圖編輯器,顧名思義,就是用來編輯地圖的工具,如果玩過《魔獸爭霸》或是《帝國時代2》、《英雄無敵》的話,應該會知道這幾款遊戲都附有地圖編輯工具,可提供玩家自行編輯地圖關卡,地圖編輯器就具有類似的功能。

  這套東東通常是由程式,美工,企劃三人所討論出來的,理由很簡單,因為美工是使用這套編輯器的"使用者"(不一定哦,很多國內的小組都是企劃編地圖),程式則作出這一套編輯器提供美工去使用,企劃則居中作協調工作,間或與程式討論編輯器的用途。

  程式開發編輯器軟體的目的何在?事實上這是一個大問題,這得從頭開始談起了其實一般常玩遊戲的玩家應該都可以發現,幾乎沒有一款遊戲是不帶背景的,小從大富翁,大到角色扮演,戰略,其實玩家應該都會發現這種事實才是,換句話說,背景(或說是背景地圖)在遊戲中,正扮演著一個不容忽視的角色。

  “不過是背景圖罷了,有啥大驚小怪的,只是把圖貼上去而已不是嗎?”

  當然,有人會這樣評判背景圖的功能性,或者,我該舉個例子讓大家知道它的功能究竟包含了什麼?最方便解釋的應該是事件處理的部份,玩過角色扮演遊戲的人應該都知道,當玩家控制主角行經某處時,會出現一些偶發事件,像是忽然有人會跑出來跟你講話,或是遇到特定的敵人等等,像這些事件,通常都是由地圖編輯器來予以設定的。

  另一個例子是障礙物的設定,譬如玩《星際爭霸》,如何讓軍隊無法越過高山河流,又譬如玩《英雄無敵》,如何讓軍隊在途經沼澤地帶時,減緩其行進速度,這些都是靠地圖編輯器予以設定的。

  也就是說,其實地圖編輯器不光是將圖秀在背景這個簡單的任務而已,它所包含的功能幾乎佔了遊戲的大半,凡跟背景牽上關係的,全部都要靠地圖編輯器來付予其適當的功能,想製作遊戲的人不可不知道這個重點。

  就以星際爭霸的地圖編輯器來說,通常玩家只要開出一個地圖編輯器,將你所要的高山河流圖案“貼”上去,然後再放幾個軍種,設定過關條件,最後儲存檔案,然後只要玩家想玩自己設計的地圖,很簡單,進入遊戲,選擇自己設計的檔案,按OK,然後就開始可以玩了,像這樣子簡單的工作就可以處理好一個遊戲關卡(玩家連程式都不必寫),可以想見地圖編輯器包含了多少的設定與功能。

  再換另一個角度來說,像這樣的地圖編輯器,甚至連玩家都可以自訂關卡,可以想見該遊戲公司的美工是如何輕鬆愉快了,所以,一個好的地圖編輯器不僅可以包含遊戲大部份的功能設定,還可以減少公司開發遊戲時所耗費的成本,無怪各遊戲公司幾乎都是採用地圖編輯器這種演演算法來製作遊戲了。

  那麼地圖編輯器究竟含有什麼玄機?

  對製作遊戲的人來說,不論他是企劃、程式或美工,相信都可以回答這個問題,整個問題的答案可以用一個詞兒來涵蓋說明,那就是“Tile”(瓷磚)!

  Tile算是地圖編輯器的一個專有名詞吧!對美工而言,說它是貼圖的元素也可以;而對企劃而言,說它是事件引發的記錄點也沒什麼不對,就看整個Team(遊戲製作團隊)要怎麼樣看待它所代表的功能性了,而且這方面的問題,最好還得經過三方面的協調,才能夠真正的確定。當然,如果你只是一個人想製作遊戲的話,那就不需要溝通這方面的問題了。

  究竟Tile這種東西該如何解讀呢?

  我們可以試著這樣想,今天我們要製作一張背景圖,這張圖上面,有一面牆壁,大約佔掉畫面上約百分之七十的面積,而畫面下方剩下的百分之三十,則是路面……

  OK,現在我們開始畫了,一種方法是開啟小畫家(或類似小畫家之類的繪圖工具),一筆一畫地將圖給完成……至於另一種方法,則是將牆壁分成一塊塊地先畫好,路面也是一樣的處理,然後,再將這些畫好一塊塊的東西,像拼圖一樣的拼上去……

  似乎有人會開始比較這兩種方法的優劣性:“似乎第一種方法會比較有效率,而且也會畫得比較有質感吧!”當然,如果工程就只是這麼一張圖的話,利用第二種方法的確是有點畫蛇添足,而且利用拼圖的方式,恐怕也會拼得不是很好看的樣子。但如果我們換一個角度來思考,可能答案就不同了:

  如果我們準備要畫10張這種圖,同樣是牆壁跟路面,但是比例可能會不同(有幾張可能是六成牆壁四成路面,有些則是九成牆壁一成路面),而且,理所當然地,這些牆壁路面不可能每一張都長得一模一樣...

  好,問題來了,你仍然會認為第一種方法最快嗎?

  那如果要你畫五十張呢?或者一百張?

  究竟是那一種方法最快?

  換句話說,地圖編輯器最大的優點就在於:重覆使用性高,背景地圖製作速度快,簡單易用等。譬如你想製作一個RPG遊戲,很明顯的,RPG遊戲一定會有城鎮,而且由於文化的一致性,一般來說城裡的房屋都是大同小異,如果我們以《暗黑破壞神II》來說明,其中有一個阿拉伯城(玩過的人應該知道)就是一個很典型的例子。

  現在假設你的遊戲背景設定在中古世紀的阿拉伯,並且整個遊戲共有二十個城鎮,首先我們會注意到的是:這二十個城鎮的建築物排列是肯定不會一樣的,但由於文化上的一致性,肯定長得也會差不多;其次是城裡的道路,房屋,幾乎也相差不大,於是,地圖編輯器在此發揮了功效,試想,如果你一開始的時候就先把具有阿拉伯風格的幾個牆壁的Tile(小瓷磚)給畫好,然後當然,你的每一張背景就開始利用Tile貼圖的方式來製作了,而且相信速度將會非常的快。

  也有人問,如果光靠幾個Tile就想畫出二十個城鎮好幾百個建築物的外觀,似乎也太難、太懶了吧!

  個人完全同意這種看法,所以事實上,真正要做出好幾個城鎮的背景圖的話,所準備的Tile也不能太少,譬如說,有些Tile可能同樣都是牆壁,卻有好幾種不同的樣式,有的Tile上面有斑駁的痕跡,有的Tile上面可能有塗鴉等,像這樣同樣是牆壁但樣式不同的,就必須要準備好幾個來使用,又如樹之類的背景,可能也要準備個好幾種不同樹的Tile,否則的話一個遊戲從頭到尾就只有一種樹,豈不荒唐!

  不過一般遊戲還是會重覆使用到一些Tile的,玩家如果不信,可以在玩RPG的時候稍微注意一下,應該會發覺有重覆的地方,譬如樹這種東西,應該是最容易發現到的。

  至於是否簡單易用,那就得看程式設計師的功力了。功力好的,製作出來的編輯器可能比小畫家還要簡單。但也並非全然如此,如果這套編輯器被企畫付予太多的功能,恐怕再厲害的設計師也不一定做得出簡單好用的編輯器系統。但唯一能夠給予肯定的,是它仍然比傳統的畫法要更為方便好用,光是這一點,就足以支援我們用地圖編輯器這個演演算法了。

  但我們也必須承認,如果光只是這個原因來驅使我們使用地圖編輯器,那也太小看地圖編輯器的「勇猛」了,它在其它功能的強大,似乎更使得我們不得不承認它存在的價值。

  

  第二節:地圖編輯器--地圖之外?

  前面談到地圖編輯器可以拿來節省繪圖的工時成本,這一點確實蠻吸引人的(至少對遊戲開發公司而言是如此),但我們也不得不趕緊將它更強大的功能給介紹出來,好讓大家知道在地圖之外,它所代表的地位依然也是無可取代的。

  相信玩過《魔法門英雄無敵》的人都知道,每次玩家在控制英雄行動時,他的速度經常是時快時慢的,譬如當英雄行走的是一條路面時,一回合下來,就可以走的很遠;如果行走的是草原的話,一個回合下來,走得就慢了一些;如果經過的是沙漠區的話,速度更是慢了下來;甚至當英雄經過沼澤區時,能走到三步就已經很偷笑了。這類形的遊戲其實很多,通常戰略遊戲都有作這樣的設定,即便是《三國志》,也沒有例外。

  這樣的設定其實必須歸功於地圖編輯器的功效,它是怎麼做到這樣一件事的?其實也不難,只要程式設計師在製作編輯器時,順便設定一個值,然後讓這個值跟著一個Tile跑,這樣一來,每一個Tile就會帶有一個值,而這個值所代表的就是該Tile所消耗的步數。

  還不通嗎?再詳細一些你可能就曉得了,假設今天已經設計好一套地圖編輯器讓美工去繪背景地圖:

  a. 此美工先開啟地圖編輯器和一張背景地圖,這張背景地圖因為還沒貼圖,所以是空的。

  b. 地圖編輯器要求美工選取Tile,美工便將自己先前畫好備用的圖案選進地圖編輯器中,這些圖案應該是一些沙漠,草原之類的,先假定該美工已畫好了十五種沙漠圖案跟二十種草原圖案,所以美工將這些圖案選進來當作 Tile。

  c. 編輯器要求美工針對每一個Tile給定一個數值,由於美工不知道每個Tile的數值是多少,所以跑去問企劃,於是企劃跟他說只要是草原數值就給 2,沙漠的Tile就給4。(這一個步驟非常重要,因為這一個步驟,先前所述各遊戲的效果才能顯現出來)

  d. 數值給定之後,美工開始將這些Tile貼進整張地圖編輯器中,貼完之後,整張背景地圖於焉完成。這是一張有沙漠跟草原參雜的背景地圖。

  e. 美工將做好的背景地圖交給程式師,再來就是程式師的功夫了,理論上,程式會寫一個程式讓一個假人在這張地圖上跑,假定這個假人的行走能力是每回合8步,所以當假人往前走到草原區的Tile時,程式會判斷該地區的數值是2,所以會消耗掉2步的能力(還記得草原給定的數值是2嗎),剩下6步,照這樣看來,如果這個假人一直都在草原區行走的話,算算每一回合應該可以走4格Tile的長度(8步÷2步=4);但如果該假人是在沙漠區行走的話,由於程式判斷該地區每一個Tile的長度會消耗掉4步,所以假人一回合只能走兩個Tile的長度,相形之下,這種因地形不同而有速度快慢的效果,就可以做出來了。當然啦!如果經過兩個草原和一個沙漠的話,也是剛好能在一回合走完喔(2個2步+1個4步=8步)

  從上述的例子,我們就不難發現,地圖編輯器甚且具有地形標示的功效呢!

  

  第三節:地圖編輯器之事件處理

  談到事件處理,恐怕有很多人不知道它是幹什麼的,這裡我們希望能夠先聊聊這個東西。

  事件處理,顧名思義,就是用來處理事件的,不

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-951497/,如需轉載,請註明出處,否則將追究法律責任。

相關文章