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