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