2D游戲地圖的設(shè)計(jì)思路

2D游戲一般按玩家視角可以分為:側(cè)視、俯視、斜45度。橫軸游戲一般都屬于側(cè)視;俯視一般常見于一些小游戲,號(hào)稱上帝視角;斜45度就是所謂的2.5D,又稱為偽3D,用2D的技術(shù)產(chǎn)生3D的效果,主要是看美術(shù)繪制的貼圖。視角不同,游戲場景的設(shè)計(jì)是有所差異,今天主要總結(jié)下前一周使用Tiled制作地圖的一些思路,想了想這些視角應(yīng)該都是適用的。

2.5D示例

設(shè)想一下游戲場景中的元素:

  • 草地、沙灘、湖泊。
  • 高大的樹木、房子。
  • 橋梁、城墻。
  • 白云、雨、雪。
  • 可以訪問的商人或功能性NPC。
  • 地上跑來跑去的小怪物。
  • 天空中飛鳥。
  • 等等。

如何設(shè)計(jì)一個(gè)支持上述元素的地圖結(jié)構(gòu)?下面給一個(gè)簡單的思路。

元素分類:

  • 地表(Tile):使用地表(Terrian)鋪成的,位于物件之下或之下。一般位置都是固定的,可以靜態(tài)也可以動(dòng)態(tài)。如:草地、沙灘等,湖泊等。湖泊往往要顯示為水波動(dòng)的效果。
  • 物件(Object):在地表上面或下面、規(guī)則或不規(guī)則、位置固定或不固定的東西。如:樹木、房子、NPC、怪物、飛鳥等。物件的顯示需要根據(jù)其位置決定它們的遮擋。如:角色走在一棵大樹的后面,就需要先繪制大樹然后角色;角色移動(dòng)到大樹的前面,則需要先繪制角色。

地圖分層:

為了支持豐富的場景元素,2D地圖一般會(huì)采用分層結(jié)構(gòu)。下面是一種簡單的分層設(shè)計(jì),可自行根據(jù)需求進(jìn)行調(diào)整。

地表分層:

  • 底層地表(Lower Tile Layer):用來放置最底層的地表元素,如:草地、沙灘。物件一般會(huì)繪制于其上。
  • 中層地表(Middle Tile Layer):放置一些細(xì)節(jié)性的地表元素用來豐富地表,如:地圖銜接、邊界、裝飾地表之類的。
  • 上層地表(Up Tile Layer):可以用來實(shí)現(xiàn)一些煙霧效果,或者高大的城墻。上層地表繪制在所有物件之上。

物件分層:

  • 地上物件(Ground Object Layer) :依附在地表之上的,如高大的樹木、房子、NPC、怪物等。
  • 通過物件(Pass Object Layer):繪制在地上物件之上或之下,為了實(shí)現(xiàn)特殊的一類需要穿越的元素,如橋梁、城墻的門洞等。
  • 天空物件(Sky Objects):繪制在所有物件和地表之上,如:天空中的飛鳥。

繪制順序:

  1. 底層地表
  2. 中層地表
  3. 地上物件 (第一層)
  4. 通過物件
  5. 地上物件 (第二層)
  6. 上層地表
  7. 天空物件

通過以上這樣的分層和元素劃分,基本上能滿足RPG類游戲的各種地圖需求。當(dāng)然也可以簡化下,比如3,4,5簡化為地上物件一層即可。3,5的存在是為了支持,站在城墻上和城墻下。當(dāng)然每一個(gè)物件層,遇到位置變化的游戲元素,若角色,跑來跑去的怪物,需要根據(jù)位置決定其繪制順序。對(duì)于2D游戲,最簡單的判定方式就是根據(jù)Y坐標(biāo)。

制作游戲地圖的工具,我選擇Tiled,一個(gè)免費(fèi)開源的工具??梢詽M足各種各樣的需求,當(dāng)然技術(shù)牛逼,時(shí)間充裕,陣容較大的團(tuán)隊(duì)自行開發(fā)也未嘗不可。后續(xù),會(huì)整理下Tiled的用法,和代碼層面使用Tiled地圖的方法。

以上是對(duì)2D分層設(shè)計(jì)的一些粗略想法,記錄自己的思考,并供參考。

2018.05.21 于上海

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容