李雷+劉軍君
摘 要:使用Unity設計并實現(xiàn)了一款名為“漂移酷跑”的酷跑手機游戲,提出了多人競速酷跑玩法。從游戲規(guī)則、總體設計、模型建立、UI界面設計、數(shù)學模型建立、關卡設計、多人實時PK等方面,完整介紹了酷跑游戲的開發(fā)流程,包括力學系統(tǒng)、碰撞檢測、UNET系統(tǒng)等關鍵技術。
關鍵詞:Unity;游戲開發(fā);酷跑;手機游戲;多人競速
DOIDOI:10.11907/rjdk.171113
中圖分類號:TP319
文獻標識碼:A 文章編號:1672-7800(2017)007-0059-02
0 引言
21世紀,計算科學、計算機技術、智能手機的發(fā)展日益改變著人們的生活。虛擬現(xiàn)實、體感檢測等技術的發(fā)展更為游戲產(chǎn)業(yè)的發(fā)展提供了良好的技術支持[1]。游戲是新興行業(yè),幾十年的發(fā)展突飛猛進,一躍成為國民經(jīng)濟的重要力量。盡管一些垃圾游戲造成了社會輿論對游戲的誤解,但是健康游戲還是給人們帶來了很多正能量。綠色競技游戲能鍛煉人們的思維、智力、心理素質(zhì)和男子漢氣質(zhì),培養(yǎng)人的競爭意識。人們在生活工作之余,拿起手機娛樂幾分鐘已經(jīng)越來越常態(tài)化。經(jīng)典健康的手機游戲如《神廟逃亡》、《天天酷跑》等很受歡迎。
1 Unity游戲引擎
Unity是由Unity Technologies公司開發(fā)的一個綜合型游戲開發(fā)工具,是目前全球最火爆的游戲引擎,非常方便好用,在游戲、虛擬現(xiàn)實、增強現(xiàn)實等行業(yè)廣泛應用。玩家可以輕松創(chuàng)建3D或2D游戲、三維視頻游戲、建筑可視化軟件、三維動畫等互動內(nèi)容,適配各種主流平臺,是一個全面整合的專業(yè)游戲引擎。
Unity相對3Dmax、Maya等建模軟件來說,強調(diào)的是交互性和程序。Unity一般不用來建模,它是把模型、UI、音頻等資源進行整合,然后編寫代碼腳本生成一個可交互的執(zhí)行程序。Unity類似于Unreal、Director、Blender game engine、Virtools 或 Torque Game Builder等開發(fā)工具,這些都是以交互的圖型化編輯為首要方式。Unity與這些游戲引擎相比,主要優(yōu)點是支持多平臺,而且引擎價格便宜,只有約1 500美元,所以Unity成為越來越多的游戲和虛擬現(xiàn)實公司的首選[2]。
Unity游戲引擎是開發(fā)高品質(zhì)手機游戲的重要工具,目前全球大多數(shù)的3D手機游戲通過Unity開發(fā),其最大的優(yōu)點是通用性很強,能夠發(fā)布到幾乎所有的硬件平臺。通過Unity開發(fā)的游戲或軟件,能夠非常方便地移植到網(wǎng)頁、PC、主機甚至手機上。
長期以來,平臺移植都是一個棘手的問題,現(xiàn)在通過Unity開發(fā)的游戲,幾個小時就可順利地移植到另一個平臺上,優(yōu)化起來也非??旖莘奖悖缺WC了游戲的通用性,又獲得了更多的收益。
2 游戲規(guī)則與設計
2.1 “漂移酷跑”游戲規(guī)則
以前酷跑游戲規(guī)則通常是單人無盡圖型,玩家控制一個角色然后在場景中不斷躲避障礙,如果撞到障礙則游戲結束。這種玩法規(guī)則對玩家雖然有一定的新鮮感,但是時間長了容易厭倦,游戲性和競技性不夠強,所以現(xiàn)在市面上這種酷跑游戲基本無人問津。
“漂移酷跑”摒棄這種游戲規(guī)則,提出一種“多人競速酷跑”的創(chuàng)新玩法,讓多個玩家在一個游戲場景中比拼速度,看誰跑得快。地圖是有終點的,比拼到達終點的時間,誰的時間短誰就獲勝。游戲中設置一系列操作技巧,以此決定速度的快慢,比如漂移、沖刺、短沖、連沖、風力等技巧,實現(xiàn)3v3實時PK的電子競技游戲。
2.2 游戲總體設計
游戲采用Q版中國風的設計風格,部分借用西游主題,分單人游戲和多人游戲。單人游戲主要是闖關卡,目前設置40關,每一關不同的玩法不同的任務,玩家過了上一關才能闖下一關。如果3次過不了關,會送一個隨機道具來幫助玩家過關,如果連續(xù)10次都過不了關,則直接通過這一關,如果想快速過關,也可以在商店購買道具幫助過關。多人游戲是3v3實時PK,玩家之間通過WiFi或者熱點進行局域網(wǎng)對戰(zhàn)。如果自己一人玩,也可添加電腦對手進行對戰(zhàn),電腦對手的水平會根據(jù)自己的水平自動匹配,大大增加了游戲的競技性和可玩性。
3 實現(xiàn)流程
3.1 人物與場景模型
人物和場景模型采用3Dmax進行建模。人物有孫悟空、豬八戒、沙和尚、白龍馬等,需要先設計出人物的基本形象。由于“漂移酷跑”是Q版中國風風格,所以人物頭部較大,身體較小,頭身比例為1∶1。建模人員根據(jù)原畫建模,構建出基本框架,然后拆分UV,最后進行貼圖。由于是橫版游戲,所以場景分為背景和跑道兩個部分。背景直接采用平面原畫,放在攝像機最后一層。跑道先根據(jù)競技性設計跑道的基本形狀,然后設計貼圖,最后優(yōu)化成最終跑道。人物和場景模型建好后導出帶貼圖的FBX格式文件,導入到Unity中。
3.2 UI界面設計
UI界面采用繪圖板、PS進行設計,仍然采用Q版中國風風格,所以會有水墨元素。設計完成后導出jpg或者png格式圖片,導入到Unity中。
3.3 游戲數(shù)學模型建立
游戲軟件的本質(zhì)是一套數(shù)據(jù)和指令的集合,屬于計算科學,所以游戲數(shù)學模型的建立尤為重要。游戲行業(yè)中,游戲數(shù)學模型工作應該由游戲策劃人員來做,但由于很多國內(nèi)的游戲策劃人員邏輯能力不是很強,所以經(jīng)常采用現(xiàn)成的游戲源代碼,經(jīng)過換皮和加工制作而成,導致國內(nèi)游戲的核心玩法創(chuàng)新性不強。
“漂移酷跑”基于多人競速玩法,重新建立了一套科學的數(shù)學模型,實現(xiàn)加速、減速、彈跳、漂移、沖刺、短沖、連沖、風力等操作技巧,體現(xiàn)玩家操作水平。想要水平更高就需要更多的思考和練習,這是競技游戲的本質(zhì)和精華,也是“漂移酷跑”最核心的技術和創(chuàng)新點。
3.4 關卡設計
游戲設40道關卡。關卡設計是一個繁瑣、復雜的工作,需要細心和耐心,每一關的核心玩法都要慎重考慮,每一個障礙的設計都關系到玩家對游戲的評價。玩法要多但不能過于重復,關卡中設置NPC敵人與玩家互動。NPC在游戲中如何獲得分析、判斷能力,游戲主控者相應的行為能力等都是人工智能研究的問題[3]。
開始幾關是游戲操作的教學關卡,這樣能幫助玩家快速熟悉游戲操作,避免出現(xiàn)不知所措的情況,降低游戲門檻。玩家在游戲中最怕的就是迷茫,如果玩家不知道游戲如何進行下去,很容易放棄這個游戲。雖然可以帶有一定的解謎設計,但不能過難,過難只能吸引小眾的高端玩家。
中間關卡主要是幫助玩家提高操作水平。通過不同的任務,鍛煉玩家的各種操作技巧。每一關的難度設計很有講究,既不能過難,也不能過于簡單,最好讓玩家都是差一點過關,然后玩幾次之后能過關。目前設計的有吃金幣、吃蝴蝶、踩小怪、Boss戰(zhàn)、超越對手等玩法,豐富多樣的玩法可大大增加游戲的樂趣。
后面關卡難度較大,玩家需要一定的思考和練習才可過關。如果10次都過不了關,則直接解鎖下一關,如果想直接過關,也可通過買道具來幫助過關。當然難度的設計也不是漫無邊際的,最難的關卡通過思考和練習也可以通過。
3.5 多人PK實現(xiàn)
既然是多人競速酷跑玩法,就要解決多人PK的實時通信問題。一般實時通信會用Socket網(wǎng)絡通信來解決, Unity提供了UNET網(wǎng)絡通信模塊,實現(xiàn)了一系列多人游戲所需要的底層功能,游戲開發(fā)人員只需要調(diào)用相應的UNET接口即可實現(xiàn)多人游戲功能。調(diào)節(jié)網(wǎng)絡參數(shù)也是一項重要工作,要將各項參數(shù)調(diào)整到一種相對流暢、和諧、穩(wěn)定的運行狀態(tài)。
多人實時PK,進入場景前先進入游戲大廳,玩家創(chuàng)建房間,其他玩家尋找房間并加入,然后一起開始游戲。
如果現(xiàn)實中沒有玩家和你一起游戲,還可同機器人對手進行PK。游戲中設置了各種水平的機器人對手,會根據(jù)玩家水平自動匹配。
Unity的UNET模塊雖然好用,但是也有局限性。UNET更適合局域網(wǎng)對戰(zhàn),不適合互聯(lián)網(wǎng)對戰(zhàn)。Unity官方雖然提供了Unity Cloud來實現(xiàn)付費的游戲服務器功能,但國內(nèi)沒有對應的服務器,如果想使用的話只能將游戲發(fā)布到國外,而中國連接國外的網(wǎng)速較慢,所以基本上不采用這種方法。
4 測試發(fā)布
游戲制作完成后進行了全面測試,各項數(shù)據(jù)表現(xiàn)良好,沒有出現(xiàn)異常,各種蘋果安卓設備基本都運行流暢,運行截圖如圖1、圖2所示。
5 結語
本文游戲已經(jīng)發(fā)布到AppStore、360手機助手、應用寶、百度手機助手等各大應用平臺,市場反應良好,是一種創(chuàng)新玩法的競技游戲。當然游戲還有一些不足,主要是無法進行互聯(lián)網(wǎng)對戰(zhàn),社交功能薄弱,與市面上的大型網(wǎng)絡游戲相比顯得有些單薄,還需要繼續(xù)改進和優(yōu)化。
參考文獻:
[1] 李慎亮,司占軍.基于Unity平臺的三維坦克游戲設計與實現(xiàn)[J].軟件導刊,2015,14(8):152-154.
[2] 張典華,陳一民,李磊.基于Unity3D的多平臺三維空戰(zhàn)游戲的開發(fā)[J].計算機技術與發(fā)展,2014,24(1):192-195.
[3] 王龍,任步春,趙宸立.基于Unity3D的FPS教育游戲研究與設計[J].軟件導刊,2016,15(11):79-81.