萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> ios >> ios雙搖桿射擊游戲的設計原理

ios雙搖桿射擊游戲的設計原理

  今天就給大家介紹一篇關於iOS游戲開發的文章。本文原作者是用戶體驗工作室Vertical Slice的主管雷格漢姆·麥卡裡斯特(Graham McAllister),他以一些雙搖桿射擊游戲為例,詳細解析了開發者針對iOS觸摸屏移動設備創建這類游戲時需注意的事項。

  什麼是雙搖桿射擊游戲?

ios雙搖桿射擊游戲的設計原理 三聯

  圖:左側VJR控制移動方式,右側VJR執行射擊任務

  雙搖桿射擊游戲是一種需使用手指操縱兩種控制方式的游戲類型,其中一個搖桿負責控制游戲角色的移動,另一個搖桿的作用則是執行射擊任務。

  這類游戲的攝像視角一般都是直接向下俯視,或者從一個略為傾斜的視角向下俯視。它們基本上是2D游戲,沒有前進(或者Z軸線)的動作。

  控制方式的布局

  動作控制搖桿一般是分布在左側,但也有些游戲考慮到了左撇子玩家的需求,也會支持玩家對該設置進行調整。這種布局與Xbox 360和PS3平台的雙搖桿射擊游戲相同。

  下圖是iPhone游戲《迷你戈爾》(Minigore)的控制設置方式。

圖:minigore

  圖:minigore

  不同游戲設置存在區別

  雖然觸摸屏上僅有兩個控制系統,但並非所有的雙搖桿射擊游戲運行效果都完全相同,游戲設計中的細微差別可能會極大地影響用戶體驗。

  專用術語

  目前還沒有標准的術語來定義這種觸摸控制方式,所以我們盡量用可描述的語言來形容相關操作。

  下文將介紹的四個組件都有一個共同的功能,那就是虛擬搖桿區(游戲邦注:the virtual joystick region ,以下簡稱VJR)。

  只要手指接觸了這個區域,就算是輸入了一個控制動作,如果手指接觸的是這個區域外的屏幕,那就不算執行控制操作。

圖:紅色的核心代表手指在屏幕上的接觸點,外圍圓圈代表VJR的有限控制區

  圖:紅色的核心代表手指在屏幕上的接觸點,外圍圓圈代表VJR的有限控制區

  四個組件

  在開發iOS雙搖桿射擊游戲之前,有四種主要的控制系統設計可供選擇:

  1.靜態或動態控制方式

  2.一直可視的VJR

  3.VJR之外的活躍控制方式

  4.靠近屏幕邊緣的控制方式

  這四個組件可以混搭形成不同的控制設置方式,在介紹它們的各種混搭效果之前,要先分別描述這四者的特點。

  首先要強調的是,本文主要以動作控制系統為例進行說明,但射擊控制系統的操作也同此理。每一個組件都是針對動作、射擊這兩個選項的綜合設計,下文將分別對此進行說明。

  組件1:動態或靜態控制方式

  靜態控制:觸摸屏控制系統會設置在iOS設備的固定角落(如下圖所示),之後我們還將解釋第三種組件“VJR之外的活躍控制方式”是如何延伸靜態控制方式的可用性。

圖:靜態控制:VJR僅顯示在屏幕固定位置

  圖:靜態控制:VJR僅顯示在屏幕固定位置

  動態控制:無論玩家的手指觸摸到屏幕的哪個位置,該控制系統都會自動以手指接觸面為中心,形成一個VJR。

  這正是動態控制方式最為重要的一個特點,這裡就會涉及到第二個組件“一直可視的VJR”。

圖:動態控制:玩家接觸零屏幕任意一點均可形成VJR

  圖:動態控制:玩家接觸零屏幕任意一點均可形成VJR

  組件2:一直可視的VJR

  動態控制方式有兩種顯示選項:一直可視方式,或者僅接觸可視方式。

  一直可視方式:只要玩家動過手指,屏幕上就會一直顯示VJR,即使玩家隨後松手也是如此。

  系統將根據玩家手指接觸屏幕的位置,決定是否畫出一個新的VJR,還是顯示原來的VJR(游戲邦注:我們將在下文中舉例詳述)。

  將VJR設置為一直可視方式時一定要考慮周全,因為玩家松手的時候,屏幕上的VJR仍然存在,他們過後還得將手指准確無誤地按在原點,方可避免出現不自然的人物動作,或者攝像角度偏位等現象。

  現在就來詳細說明玩家手指接觸屏幕、松開手指,再次接觸屏幕的操作情況。

  步驟1:首次接觸

  假設游戲剛剛開始,玩家的手指是第一次點擊屏幕,VJR也是首次顯示在屏幕上。

圖:以手指接觸點為中心畫出一個VJR

  圖:以手指接觸點為中心畫出一個VJR

  步驟2:松開手指

  玩家的手指離開屏幕後,VJR會以一直可視方式顯示在屏幕上。

圖:松開手指後VJR仍在屏幕顯示

  圖:松開手指後VJR仍在屏幕顯示

  步驟3:再次接觸

  當玩家的手指第二指接觸 屏幕時,會有兩種情況發生。

  (注:尤其要注意的是第二種情況,它是影響用戶體驗雙搖桿射擊游戲的重要原因)

  步驟3出現的第一種情況——觸摸到VJR之外的區域

  如果玩家手指點到了原VJR以上的區域,屏幕就會以手指接觸點為中心,形成一個新的VJR。

  換句話說,只要新的接觸點與原來的VJR之間的距離超過了其半徑(如下圖所示),那麼屏幕上就會自動生成一個新的VJR。

圖:接觸原VJR以外的區域,會形成一個新的VJR

  圖:接觸原VJR以外的區域,會形成一個新的VJR

  步驟3出現的第二種情況——觸摸到原VJR范圍

  在這種情況中,玩家的手指會接觸到原VJR范圍,會讓游戲角色朝相應的方向移動。當然玩家手指也有可能准確無誤地觸摸到原來的VJR中心點,這時候游戲角色就不會移動,但這種概率非常之低。

  這種位置偏移給微調控制帶來了極大的困難,同時也是很讓玩家抓狂的一個原因。游戲角色的任何一個動作,都導致游戲中的攝像鏡頭移位。也就意味著這種控制結合方式,不但給微調控制帶來了麻煩,而且還會造成攝像鏡頭的抖動。

  玩家想轉移方向時經常會遇到這種攝像鏡頭抖動、無意的動作等煩人的問題,例如,他們原來想往左移,結果手指點觸到的卻是VJR的右側。

圖:手指接觸到偏離VJR中心的區域,可能導致計劃外的移動或攝像鏡頭抖動

  圖:手指接觸到偏離VJR中心的區域,可能導致計劃外的移動或攝像鏡頭抖動

  僅接觸可視方式:這是一種使用更為普遍的方式,只有手指接觸到屏幕時,系統才會顯示VJR。

  所以假如玩家松開手指時,屏幕上的VJR就會隱藏消失,當他們再次接觸時,才會看到一個新的VJR。

  這種方式可以保證玩家的手指永遠處於VJR的中心,可以為他們提供更舒心和人性化的控制方式。

  接下來要說明這種方式的具體操作情況,步驟同上:

  步驟1:首次接觸

  第一次接觸時,VJR在屏幕上的顯示情況與一直可視方式相同(如下圖)。

圖:以手指接觸點為中心畫出一個VJR

  圖:以手指接觸點為中心畫出一個VJR

  步驟2:松開手指

  這個步驟正是它與一直可視方式的最大區別,當玩家手指離開屏幕時,VJR就會隱藏起來。

圖:松開手指後VJR就會在屏幕隱藏起來

  圖:松開手指後VJR就會在屏幕隱藏起來

  步驟3:再次接觸

  由於原來的VJR已被隱藏,所以當玩家手指再次點觸時,屏幕上會出現一個以手指接觸點為中心的新VJR。這確實是一種更為人性化的控制方式。

圖:接觸屏幕任意一點均可形成一個新的VJR

  圖:接觸屏幕任意一點均可形成一個新的VJR

  以下是一直可視VJR和僅接觸可視VJR的優劣對比圖:

圖:兩種可視VJR的優劣比較

  圖:兩種可視VJR的優劣比較

  組件3:VJR之外的活躍控制方式

  對動態控制來講,當玩家

copyright © 萬盛學電腦網 all rights reserved