從「坦克大戰」開始嘗試理解關卡設計
這大概是全世界最被熟悉的幾個標題畫面之一,登登登的開場音樂之後,伴隨而來的是一場鬥智鬥勇的廝殺。單打來回兼顧全面防守,雙打互相迫害樂趣無窮。這個遊戲最牛逼的地方在於他提供了一個遊戲地圖編輯器,讓玩家以極低的成本上手自制地圖。趁著2020這個特殊的春節,我探究了一番自編地圖的設計。(開始畫面第三項即可進入編輯模式)
遊戲規則
出兵點:ABC敵方目標:摧毀X點我方出生點:S1,S2玩家在出生之後,需要防禦住對方3個點的出兵進攻。敵方摧毀X點我方失敗,我方擊毀敵方所有坦克之後,我方勝利。
利敵設計要素——縱向通暢度
如圖所示三個紅色的道為敵方優勢路徑,這3個通道越暢通,敵方優勢越大。當3條通道完全暢通時我方很難防守。
通常,在坦克大戰關卡設計時候,會在敵方路徑中間放置不可破壞的鋼板來達到減弱敵方優勢的作用。如第一關標準關設計中,敵方3個優勢通路都放置了不可破壞的鋼板。
放置鋼板過後,敵方的執行軌跡會被迫改變到玩家所在的縱向通路上,就像一個放置在蟑螂巢前的漏斗,讓蟑螂從有限的幾個口湧出,玩家可以輕易拍死,對於初次上手的玩家,很容易就能理解這個遊戲的玩法。
利己設計要素——防守帶,防守帶遠近,防守帶通暢度
玩家的優勢是橫向通路的暢通性。橫向越暢通,玩家可以停在一個點進行防禦就會越便捷,越有可能成功防禦住敵方進攻。在初期關卡中,我們看到設計師給出了兩條明顯的橫向通路來給玩家使用。中間只需4~6發子彈即可打通磚牆,開出防禦通道。
如果需要增加玩家難度,可以使用降低敵方優勢同樣的思路,將防禦通道進行隔斷,讓玩家不能很快速的建立防禦通道。其需要在快速移動以及花時間開通道之間做出抉擇,來判斷哪個是對於當前局面更加優勢的策略。
設計實踐
1.給玩家無限優勢——多層暢通防守帶
這張圖堵死了所有的敵方優勢通路,給玩家無數防線,因此十分好打。在測試中,筆者女友輕鬆打過本關,遊戲陷入心流的無聊狀況
2.給敵方無限優勢——縱深直達
堵死我方所有防線,給敵方直接通路。玩下來是開局10s就掛。因為中間的敵人長驅直入,我甚至沒來得及去擋槍。無心流體驗
3.開始正常的設計
將敵方出生點分開。中路給到足夠的防禦,左側看似通常,但不可長驅直入。右側打破1道壁即可長驅直入,但在最下面有一塊鋼板防守,仍然給我方比較好的防守優勢。本圖中防線有意圖的給在了離我方很近的地方,另一條在很遠的地方。玩家如果衝上去利用遠端防守。其面臨的狀況是不能漏過一隻(尤其是右側)如果漏了基本追不上。因此玩家可耐心打通離基地近的防禦口防守。在女友測試中,她也是這麼幹的,打通了基地附近的防守帶。
4.迭代
這張地圖設計中,右側看似防禦充足,其實只需打通半塊磚牆即可下到我方底線。但是為了不讓電腦那麼容易得手,在底線部分放了半塊鋼板,因此需要電腦稍微繞一點路。草皮在下面有一定的障眼法,玩家如果不注意的話,很容易漏1只過去,因而被擊毀基地。防禦帶留在了地圖正中間,如果聰明的話應該先於電腦,衝到中間打通進行防守。實測中女友輸掉了,但是玩得饒有興致,有心流。
5.迭代2
右側是大坑,擊破1堵牆即可直達基地。並且有大量草掩護,很容易漏,因此需要十分小心右側。左側本圖的設計,看起來十分好防守。玩家會被左側的容易防守迷惑到,從而盯著左邊打忘記了右邊。實測中,基地被從右側擊破。
設計方法寫總結:
1.平衡勢力:不讓敵我雙方佔據絕對優勢
2.暗示策略:設計出明確能感知到的防守帶以及遊玩策略,讓玩家使用(可以埋坑)
3.針對埋坑:基於策略暗示的基礎上埋坑,讓玩家有出乎意料的緊張感,這個最好是能有稍微高的難度的突發事件
心流的拉起:
從心流模型來看,明確的策略暗示能夠起到拉動心流的作用,當玩家已經感知到你給的策略,並且有效防禦的時候,心流會被拉平,此時如果你埋的坑剛好起作用的話,心流又將再次被拉起。玩到中後期,如果玩家持續保持適度的緊張的話,即使輸掉比賽,玩家也會表達出一種愉悅的心情。
坦克大戰中不可控的情況是,敵方AI並不一定按照你所預想的設計路徑去進攻,因此帶來一定的不可知性。也是樂趣的一種。
思考:
幾圈玩下來,遊戲被玩成了簡略版本馬造。元素少而簡單成為了這個遊戲的優勢。簡單的幾個元素,結合設計策略可以很好的來測試設計所帶來的的心流拉動效果。設計的好壞直觀的反映在了被測試的玩家身上(因此,我沒少挨女友揍)。大家如果手邊有能玩的FC模擬器,或者Timi充電寶,儘可以拿出來嘗試一番,在這個特殊的春節中,和家人享受一下出題與解題的樂趣。
作者:木寸哥
來源:機核網
原地址:https://www.gcores.com/articles/119529
相關文章
- 從零開始理解 Laravel 的設計哲學Laravel
- 【遊戲關卡設計集】從平面佈局到遭遇戰設計遊戲
- C++實用程式設計——坦克大戰小遊戲C++程式設計遊戲
- 從0開始的數值設計實戰(一)
- 遊戲關卡設計之<遭遇戰設計>遊戲
- 聊聊boss戰設計(一):從只狼的櫻龍戰開始
- python 坦克大戰原始碼Python原始碼
- Python_從零開始學習_(49) 飛機大戰_物件導向設計類Python物件
- 在遊戲裡做遊戲?從《坦克大戰》到DOTA遊戲
- 什麼才是好的關卡設計?使用空間度量法設計戰術性關卡
- unity 開發2D坦克大戰教程 系列二Unity
- 基於關卡設計維度的戰棋遊戲系統與關卡設計用例遊戲
- 如何磨練關卡設計師的“手藝”?從這個方向著手試試
- RPG遊戲“關卡”&“戰鬥”設計祕籍遊戲
- 遊戲設計淺析—《戰神4》關卡設計如何協調“探索”“戰鬥”“劇情”三大核心玩法遊戲設計
- 創造令人驚歎的遊戲關卡——從構圖開始遊戲
- 從今天開始挑戰 LeetCodeLeetCode
- FPGA程式設計從零開始 使用VerilogFPGA程式設計
- 從零開始設計一個部落格
- 學習程式設計從遊戲開始程式設計遊戲
- 戰鬥場景開發實用技巧:關卡設計和優化流程優化
- 深入理解Promise從這裡開始Promise
- Photon物聯網程式設計從零開始程式設計
- 從 React 架構開始講解 useState、useEffect 程式設計設計React架構程式設計
- 遊戲分析:從《雙點醫院》看關卡設計遊戲
- 設計模式(一) 動態代理初嘗試設計模式
- 開發指南:關卡設計概念 Level Design Concepts
- 風變程式設計,幫助你從零開始學習程式設計程式設計
- 從零開始學設計模式(七)—橋接模式設計模式橋接
- 併發程式設計從零開始(十一)-Atomic類程式設計
- 遊戲關卡設計文件遊戲
- “消失”的關卡設計師
- 戰國時代,從你開始!歷史回合制卡牌手遊《戰國紀》今日上線
- 從零開始的Java程式設計之抽象與介面Java程式設計抽象
- 併發程式設計從零開始(九)-ConcurrentSkipListMap&Set程式設計
- 併發程式設計從零開始(十四)-Executors工具類程式設計
- 關於網站開通付費文章的嘗試網站
- 5分鐘擁有自己的坦克大戰遊戲遊戲