平安京的地圖

作為一個比較喜歡moba類游戲的玩家,我以前玩過dota、lol、300英雄、三國殺英雄傳、王者榮耀等多款moba游戲,僅從地圖的角度來看,這些游戲可以分為兩大類。

第一類是以dota、lol為首的比較傳統(tǒng)的moba游戲,dota分天輝夜魘,lol分紅藍(lán)色方。除了戰(zhàn)爭迷霧以外,雙方的地圖并沒有其它的區(qū)別,也就是說,如果你是夜魘方或者紅色方,那么在你看來,你的出生點都位于地圖的右上角,你的敵人在你的左下角。由于人類的生理構(gòu)造,所以大多數(shù)人在藍(lán)色方會獲得更好的操作體驗,不過這些游戲是使用鼠標(biāo)和鍵盤來操作,非常靈活,所以即使有統(tǒng)計說藍(lán)色方勝率高于紅色方,我們也不能貿(mào)然認(rèn)定這個勝率差距來自操作習(xí)慣,畢竟地圖構(gòu)造以及bp順序也都會影響雙方的勝率。

第二類自然就是以王者榮耀為首的手游moba游戲,這類游戲需要占用一部分手機屏幕用來給方向盤以及技能鍵提供空間,而通常方向盤和技能鍵放在屏幕下方比較方便操作。如果王者榮耀依然像lol一樣,不對地圖作任何處理,那么紅色方的游戲體驗將會變得極差,因為與他們對線的英雄都被自己的手指擋住了。所以如果你是紅色方,那么在你看來,地圖會被做一點小小的處理,也就是旋轉(zhuǎn)180°,這樣紅色方也在下方了,操作上保證了雙方的基本公平,所以有一個有趣的現(xiàn)象是,有時候大龍在上路,有時候在下路,但是下路的buff卻總是紅buff。

決戰(zhàn)平安京則是第三類,一種我以前從來沒有見過甚至剛開始不能理解的模式,不僅能保證玩家的出生點永遠(yuǎn)在下方,而且還能保證大龍永遠(yuǎn)在上路,小龍永遠(yuǎn)在下路。當(dāng)然,大龍在上路,小龍在下路這對游戲體驗沒有太多實際意義,真正的意義是,在保證玩家出生點永遠(yuǎn)處于下方的同時,讓玩家的下路,同時也是敵方的下路,這樣就不會出現(xiàn)我方上路1打2的尷尬局面。當(dāng)我第一次在網(wǎng)上見到有人說平安京有這個機制的時候,我還沒有激活碼,覺得這簡直不可思議,后來親自進(jìn)入游戲體驗了一番,發(fā)現(xiàn)確實是這樣,然后我自己想了想,總結(jié)出了這種機制的實現(xiàn)原理,并寫了個小程序來模擬,接下來就分析下三種類型的具體實現(xiàn)。

首先是傳統(tǒng)模式,這種模式下,紅藍(lán)雙方從服務(wù)器接受到的各種坐標(biāo)(基地、英雄、野怪)完全一致,只是戰(zhàn)爭迷霧不一致而已:

決戰(zhàn)平安京地圖原理分析 設(shè)計地圖很牛逼

(左方的窗口為藍(lán)色方,右邊的窗口為紅色方,紅色大方塊表示敵方基地,藍(lán)色大方塊表示我方基地,紅藍(lán)小方塊分別表示紅藍(lán)buff,紫色表示大龍,棕褐色表示小龍,天藍(lán)色表示我方英雄,粉紅色表示敵方英雄,其它模式也一樣)

對比上下兩幅圖(當(dāng)然,不要吐槽這個圖很簡陋,我只是嘗試從安裝包中提取地圖文件失敗),我們可以發(fā)現(xiàn),當(dāng)藍(lán)色方英雄朝著地圖的上方移動的時候,紅色方的視角里,他也是朝著上方移動,這是所謂的不對地圖本身作任何處理,如果沒有戰(zhàn)爭迷霧,雙方的眼中的地圖是完全一致的。

第二種模式則是王者榮耀的模式,這種模式下,紅色方的視角中,整個地圖被旋轉(zhuǎn)了180°,當(dāng)然這個旋轉(zhuǎn)操作發(fā)生在服務(wù)器上還是紅色方的客戶端上我們就不得而知了(我選擇的是讓它發(fā)生在服務(wù)器上):

決戰(zhàn)平安京地圖原理分析 設(shè)計地圖很牛逼

同樣對比上下兩幅圖,我們發(fā)現(xiàn),當(dāng)藍(lán)色方的英雄朝著上方移動時,紅色方的視角中,他卻在往下方移動,同時,紅色方的視角中,大龍位于下路。這樣,藍(lán)色方的上路實際上就是紅色方的下路。

這個旋轉(zhuǎn)操作是非常簡單的,比如藍(lán)色方英雄的位置,在紅色方的眼里,處于其實際位置的中心對稱的位置,當(dāng)然這個中心對稱的點是地圖的中點。

如果藍(lán)色方英雄的位置是(x,y),那么換算到紅色方的視角中就是(w-x,w-y),w是地圖的大小,假設(shè)地圖是正方形。

這個換算公式的正確性是可以以數(shù)學(xué)手段證明的,即:中心對稱的兩個點連線經(jīng)過對稱中心且被對稱中心平分,證明過程比較簡單,這里省略證明過程。

第三種模式則是平安京的模式,紅色方的視角中,地圖被做了如下處理:首先將地圖旋轉(zhuǎn)180°,然后以中路為對稱軸,將所有的物體的坐標(biāo)轉(zhuǎn)換為其對稱點的坐標(biāo):

決戰(zhàn)平安京地圖原理分析 設(shè)計地圖很牛逼
 

同樣對比兩幅圖,當(dāng)藍(lán)色方英雄朝上方移動時,紅色方的視角中,他卻在朝左方移動。同時,藍(lán)色方的上路,對于紅色方來說依然是上路。雙方眼中的大龍都在上路,小龍都在下路。

游戲中有這么幾個現(xiàn)象:

1.下路野區(qū)是隨機刷新,該野怪buff的缺口位置有時候朝向左下,有時候又朝向右下。

2.對于中路英雄來說,有個不能還手的野怪,永遠(yuǎn)在左手方的位置。

3.中路一塔有時候貼著左邊的墻,有時候貼著右邊。

4.lol和王者榮耀中,大龍小龍的位置實際上都屬于其中一方的半場,而平安京中大小龍則是絕對中立的,處于一條中線上(只有這樣才能保證每次大小龍的位置都是不變的)。

可以看出,這種模式能保證兩條邊路,單人線對上單人線,雙人線對上雙人線。不過這種做法到底好不好,現(xiàn)在還不好說,一切看最終測試結(jié)果。

前面我們討論了中心對稱的坐標(biāo)計算方式,現(xiàn)在我們說一說軸對稱如何計算:

假設(shè)原坐標(biāo)是(x,y),以中路為對稱軸,那么其對稱點的坐標(biāo)是(w-y,w-x),這個計算公式的合理性同樣可以利用軸對稱的性質(zhì)來進(jìn)行數(shù)學(xué)上的證明,這里同樣不展開討論。

我們說過,地圖處理分兩步,先中心對稱,再軸對稱,首先中心對稱:

x1=w-x

y1=w-y

然后軸對稱:

x2=w-y1

y2=w-x1

兩組公式加起來就是:

x2=y

y2=x

也就是說,紅色方的地圖處理時,直接交換x和y坐標(biāo)即可。

總結(jié)一下,在已知平安京的這種地圖處理方式的情況下,將其實現(xiàn)特別簡單。不過能想到這種處理方式,真的是非常天才。我不知道這是不是第一款這樣處理地圖的游戲,但是我確實是從來沒見過。希望網(wǎng)易的設(shè)計師能繼續(xù)表現(xiàn)他們天才的一面,為我們帶來一個更好玩的手游moba游戲,用自己的實力來改變目前王者榮耀一家獨大的局面。

決戰(zhàn)!平安京優(yōu)秀視頻欄目
重做姑獲鳥細(xì)節(jié)教學(xué) 平安京的100種死法 吸血姬魅羅皮膚對比 食夢貘S9賽季皮膚對比
沙雕操作集錦:大蛇五殺 五殺集錦 扒雞大事件:S9新式神 捧杯時刻:絲血翻盤
一反木棉攻略教學(xué) 平安京版“淡黃的長裙” 鐵鼠17殺高能視頻 S9鐵鼠賞金皮值得嗎?

相關(guān)攻略

平安京6月19日更新什么?平安京6月19日更新內(nèi)容匯總 平安京6月4日更新了什么?平安京6月4日更新內(nèi)容匯總 平安京5月29日更新了什么?平安京5月29日更新內(nèi)容匯總 平安京5月22日更新內(nèi)容匯總 平安京5月22日更新了什么? 平安京新式神鈴鹿御前技能怎樣?新式神鈴鹿御前技能介紹 覺OPL系列皮膚什么時候上線 平安京覺OPL皮膚上線時間 新式神鈴鹿御前什么時候上線?平安京鈴鹿御前上線時間 平安京覺技能重做怎么樣?2020平安京覺技能重做介紹 平安京5月15日更新了什么?平安京5月15日更新內(nèi)容匯總 平安京5月8日更新了什么?平安京5月8日更新內(nèi)容匯總

相關(guān)閱讀

新聞熱榜

游戲評測

熱門攻略

熱門游戲