李政蓬 張美娜 蔣新宇 郝俊杰 賈子健
摘要:該文介紹了基于Unity3D的多消游戲的設(shè)計(jì)和開發(fā)。游戲使用C#語(yǔ)言實(shí)現(xiàn),采用了海洋為背景,功能包括了游戲開始頁(yè)面Logo顯示,游戲主界面,游戲界面,游戲關(guān)卡選擇功能,物理屬性和游戲商店購(gòu)買金幣,功能游戲,保存游戲數(shù)據(jù)等。該三消游戲由于關(guān)卡道具的多樣性,讓玩家每次都充滿了新的體驗(yàn)和挑戰(zhàn),同時(shí)結(jié)合了海洋知識(shí),在每次游戲失敗時(shí)能夠給出海洋百科知識(shí),讓玩家在玩游戲的同時(shí)能夠更好地了解海洋。
關(guān)鍵詞:UNITY3D;多消游戲;C#
中圖分類號(hào):TP37? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)18-0059-03
1 緒論
我國(guó)游戲產(chǎn)業(yè)正朝著健康、規(guī)范的方向高速發(fā)展。因此,在可預(yù)見的未來,參與手機(jī)游戲的研發(fā)將具有廣闊而光明的前景。本文設(shè)計(jì)和實(shí)現(xiàn)的這款游戲是經(jīng)典的“泡泡龍”游戲,具有三消游戲的特色。它在原有的游戲模式中引入了新的功能,并以海洋知識(shí)為背景,包括道具和體力的購(gòu)買和與卡通人物的互動(dòng),闖關(guān)失敗后的海洋百科知識(shí),給游戲增添了一些樂趣。游戲采用的闖關(guān)模式,隨著關(guān)卡的不斷進(jìn)行,這個(gè)游戲模式的發(fā)展,玩家可以接觸到更多的新鮮和有趣的游戲內(nèi)容,挑戰(zhàn)游戲的難度級(jí)別,激動(dòng)人心的和令人興奮的,讓人在游戲的過程中了解更多的海洋生物的知識(shí)。本游戲采用了C#語(yǔ)言編寫,基于Unity3D進(jìn)行開發(fā)設(shè)計(jì)實(shí)現(xiàn)的,分別為Windows、Linux和Android系統(tǒng)提供安裝包,可以讓不同的系統(tǒng)的玩家參與游戲,體驗(yàn)海洋類多消游戲帶來的樂趣。
2 游戲功能設(shè)計(jì)
本游戲根據(jù)發(fā)光屏標(biāo)志展示界面,游戲開始界面,檢查選擇界面,游戲的主界面,游戲界面的設(shè)置管理器聲音界面,同時(shí)游戲玩家和游戲錯(cuò)誤信息測(cè)試的設(shè)計(jì)為本游戲設(shè)計(jì)的難點(diǎn),本游戲,尤其在故事的關(guān)卡編輯器功能的開發(fā),并擁有所見所得,即可視化編輯關(guān)卡的內(nèi)容的能力。
2.1 游戲功能分析
1)每個(gè)游戲界面必須呈現(xiàn)給玩家。游戲界面可以根據(jù)玩家的動(dòng)作跳躍和改變。在進(jìn)入游戲的主界面后,程序生成游戲場(chǎng)景,包括游戲背景、氣泡發(fā)射器和原始的氣泡。
2)氣泡創(chuàng)造:在游戲操作的主要場(chǎng)景中,原始的水平氣泡和可用的氣泡需要隨機(jī)生成,氣泡的數(shù)量是固定的,顏色和類型是隨機(jī)的。通過對(duì)游戲界面的更新,發(fā)出的氣泡可以沿著路徑不斷移動(dòng)。當(dāng)氣泡與現(xiàn)場(chǎng)氣泡接觸時(shí),如果不能消除氣泡,氣泡就會(huì)吸附在連接的氣泡中,停止移動(dòng)。在氣泡檢測(cè)后,如果符合要求,氣泡將會(huì)下降并進(jìn)入游戲底部的氣泡收集系統(tǒng)。氣泡落在不同的籃子里,根據(jù)籃子得到不同的分?jǐn)?shù)。
3)碰撞檢測(cè):在氣泡運(yùn)動(dòng)中實(shí)時(shí)檢測(cè)碰撞。與極限碰撞的氣泡會(huì)產(chǎn)生反彈,與其他氣泡的碰撞決定它們是否可以被移除或吸附。
4)游戲音效的管理和控制:背景音效對(duì)于游戲的執(zhí)行是必要的,啟動(dòng)、下降、關(guān)機(jī)、調(diào)試和失敗需要不同的音效。此外,開關(guān)還可以用來控制游戲的背景音效,以及打開和關(guān)閉音效。
5)點(diǎn)擊和更新統(tǒng)計(jì):玩家數(shù)量和太陽(yáng)數(shù)的實(shí)時(shí)統(tǒng)計(jì),并在界面上顯示。
6)實(shí)物金幣的管理:管理玩家身體能力的增加和減少,以及金幣的數(shù)量。游戲的結(jié)果表明,不管游戲的成功與否,程序都需要給玩家提供相應(yīng)的信息。
2.2 游戲系統(tǒng)用例流程圖
1)當(dāng)參與游戲的玩家只有一個(gè)時(shí),其用例圖如圖1所示。
2)道具體力與金幣充值流程圖如圖2所示。
3)氣泡運(yùn)動(dòng)規(guī)律活動(dòng)如圖3所示。
3 游戲總體設(shè)計(jì)開發(fā)
3.1 游戲閃屏場(chǎng)景設(shè)計(jì)與開發(fā)
游戲的flash屏幕是由Unity engine提供的flash屏幕工具制作的。將需要在flash屏幕上顯示的Logo放入隊(duì)列中,點(diǎn)擊文件設(shè)置右側(cè)的Inspector面板,選擇Splash Image選項(xiàng),然后將時(shí)間調(diào)整到2秒左右。單擊Preview預(yù)覽閃屏效果。
3.2 游戲場(chǎng)景的設(shè)計(jì)開發(fā)
游戲場(chǎng)景中的背景上的名字是游戲描述:游戲屏幕上有一個(gè)按鈕,點(diǎn)擊后會(huì)選擇的游戲水平,游戲的主要場(chǎng)景是在操作界面,部分玩家將發(fā)射泡泡,可以調(diào)整該局域網(wǎng)觸摸屏操作,開的位置,以控制飛行軌跡和發(fā)展的氣泡運(yùn)動(dòng)的任務(wù),并最終消除。游戲中的場(chǎng)景和檢查站的主要選擇的地方,你可以調(diào)用該接口定義的游戲選擇的游戲,游戲的背景音樂,游戲音效開關(guān)或按鈕,退出游戲,繼續(xù)游戲等等。
3.3 游戲聲音設(shè)計(jì)
為了便于統(tǒng)一管理環(huán)境音樂、音響效果和游戲中的其他音頻游戲,使用了一個(gè)模塊化的聲音管理器,如Singleton Mode。
3.4 數(shù)據(jù)庫(kù)連接設(shè)置
用戶的基本數(shù)據(jù),及游戲存檔情況均存放在MYSql數(shù)據(jù)庫(kù)中。利用開發(fā)工具M(jìn)icrosoft Visual Studio 2013進(jìn)行調(diào)用使用。
3.5 游戲界面
游戲主界面,玩游戲界面和闖關(guān)失敗界面如圖4-6所示。
4 游戲測(cè)試
4.1 游戲意外錯(cuò)誤測(cè)試
1)錯(cuò)誤檢測(cè)單元在游戲中,例如UI錯(cuò)誤。
2)檢察用戶在游戲過程中的輸入錯(cuò)誤。
3)需要測(cè)試網(wǎng)絡(luò),及它的穩(wěn)定性和連接性。
4)游戲測(cè)試的數(shù)據(jù)安全及運(yùn)行安全的。
5)程序應(yīng)該正常的運(yùn)行測(cè)試。
6)游戲因?yàn)槟承┮馔猱a(chǎn)生BUG。
4.2 具體運(yùn)行測(cè)試
1)測(cè)試和檢查游戲中的每個(gè)接口是否有錯(cuò)誤的位置和樣式,以及是否存在諸如按鈕和不可點(diǎn)擊的失效顯示等問題。
2)UI和接口是否每個(gè)游戲中有錯(cuò)誤顯示。
5 總結(jié)
通過對(duì)本游戲的功能分析、設(shè)計(jì)、開發(fā)和測(cè)試,實(shí)現(xiàn)了一款以海洋為背景的三消游戲。本游戲可以面向不同年齡段的用戶,不同的用戶在玩游戲的同時(shí)既放松了心情又增長(zhǎng)了知識(shí),這是本游戲與同類三消游戲的顯著區(qū)別。
參考文獻(xiàn):
[1] 張美娜, 張玉軍. 項(xiàng)目驅(qū)動(dòng)的《軟件工程》教學(xué)改革與實(shí)踐研究[J]. 教育現(xiàn)代化, 2015(15): 75-77.
[2] 田翠華, 許立燦, 彭奕翔, 等. 基于Unity 3D異星大冒險(xiǎn)游戲的設(shè)計(jì)與開發(fā)[J]. 中國(guó)現(xiàn)代教育裝備, 2019(1): 6-11.
[3] 段薛孔, 李潼, 朱旭東, 等. Unity3D游戲場(chǎng)景中人物角色動(dòng)畫的設(shè)計(jì)[J]. 電腦知識(shí)與技術(shù), 2019(9): 199-200.
[4] 王永寶. 精通Cocos2d-x游戲開發(fā)(基礎(chǔ)卷)[M]. 北京: 清華大學(xué)出版社, 2016.
[5] 蔡升達(dá). 設(shè)計(jì)模式與游戲完美開發(fā)[M]. 北京: 人民郵電出版社, 2017.
[6] 黃宇. 基于移動(dòng)設(shè)備的三消類游戲的設(shè)計(jì)與實(shí)現(xiàn)[D].武漢: 華中科技大學(xué), 2015.
[7] 軟件開發(fā)技術(shù)聯(lián)盟. C# 開發(fā)實(shí)例大全(基礎(chǔ)卷)[M]. 北京: 清華大學(xué)出版社, 2016.
【通聯(lián)編輯:謝媛媛】