• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Unidy3D的角色扮演游戲設(shè)計(jì)與實(shí)現(xiàn)

      2019-10-15 02:21:53袁科高啟文閆永航
      軟件導(dǎo)刊 2019年8期
      關(guān)鍵詞:該游戲抽獎(jiǎng)角色扮演

      袁科 高啟文 閆永航

      摘 要:目前應(yīng)用商店中的PRG類游戲有很多種,但往往存在人物單一等問(wèn)題。針對(duì)該問(wèn)題,旨在開(kāi)發(fā)一款既包含其它PRG類游戲元素,又不缺乏多樣性的PRG類游戲?;赨nity3D游戲引擎組件與腳本、怪物智能導(dǎo)航及AssetBundle加載技術(shù)等,采用SQLite輕量級(jí)數(shù)據(jù)庫(kù),在Visual Studio2017開(kāi)發(fā)平臺(tái)上設(shè)計(jì)并實(shí)現(xiàn)了一款角色扮演游戲。首先進(jìn)行功能與性能需求分析,然后給出游戲背景故事與游戲流程,闡述了游戲界面與游戲場(chǎng)景設(shè)計(jì)思想,最后詳述了游戲關(guān)鍵開(kāi)發(fā)技術(shù),并展示了游戲?qū)崿F(xiàn)效果。

      關(guān)鍵詞:Unity3D;Asset Bundle加載;SQLite輕量級(jí)數(shù)據(jù)庫(kù);角色扮演游戲

      DOI:10. 11907/rjdk. 191239 開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):

      中圖分類號(hào):TP319 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2019)008-0075-05

      The Design and Implementation of Role Play Game Based on Unity3D

      YUAN Ke,GAO Qi-wen,YAN Yong-hang

      (School of Computer and Information Engineering, Henan University, Kaifeng 475004, China)

      Abstract: At present, there are various kinds of PRG games in application stores, but there are many problems such as single characters. Aiming at this problem, this paper aims to develop a PRG game which contains other PRG elements and does not lack diversity. Based on Unity3D game engine components and scripting technology, monster intelligent navigation, AssetBundle loading technology, this paper designs and implements a role-playing game on Visual Studio 2017 development platform using SQLite lightweight database. Firstly, the functional and performance requirements are analyzed. Then, the background story and the game flow are given, and the design idea of the game interface and scene is elaborated. Finally, the key development technologies of the game are described in detail, and the effect of the game implementation is shown.

      Key Words: Unity3D; AssetBundle loading; lightweight database of the sqlite; role-playing game

      基金項(xiàng)目:國(guó)家自然科學(xué)基金項(xiàng)目(61802111);河南省高等學(xué)校重點(diǎn)科研項(xiàng)目基礎(chǔ)研究計(jì)劃項(xiàng)目(18A413004)

      作者簡(jiǎn)介:袁科(1982-),男,博士,河南大學(xué)計(jì)算機(jī)與信息工程學(xué)院副教授、碩士生導(dǎo)師,研究方向?yàn)槊艽a學(xué)與信息安全;高啟文(1995-),男,河南大學(xué)計(jì)算機(jī)與信息工程學(xué)院學(xué)生,研究方向?yàn)檐浖こ?閆永航(1981-),男,博士,河南大學(xué)計(jì)算機(jī)與信息工程學(xué)院副教授、碩士生導(dǎo)師,研究方向?yàn)榫W(wǎng)絡(luò)安全。本文通訊作者:閆永航。

      0 引言

      角色扮演游戲(Role-playing Game,PRG)是網(wǎng)絡(luò)游戲類型之一[1],在游戲中,用戶負(fù)責(zé)扮演特定角色在一個(gè)寫(xiě)實(shí)或虛構(gòu)世界中活動(dòng)。目前,國(guó)內(nèi)外諸多研發(fā)人員開(kāi)展了關(guān)于PRG的研究與開(kāi)發(fā)工作,如朱道真等[2]開(kāi)發(fā)了基于DirectX的PRG類游戲;佟振明等[3]開(kāi)展了大型多人在線角色扮演游戲的下一地點(diǎn)預(yù)測(cè)研究;高少文[4]研究了大型多人在線角色扮演游戲特定玩家類別抽取問(wèn)題;Dickey[5]針對(duì)大量在線角色扮演游戲如何培養(yǎng)內(nèi)在動(dòng)機(jī)問(wèn)題進(jìn)行推測(cè)分析;Mcconville等[6]利用角色扮演游戲進(jìn)行工程教育研究;Billings[7]研究如何利用角色扮演模擬游戲促進(jìn)系統(tǒng)性思考。

      根據(jù)第一手游網(wǎng)2019年1月中國(guó)手游曝光度數(shù)據(jù)報(bào)告,該月百?gòu)?qiáng)手游曝光度排名Top 1的為PRG類游戲;在Top100游戲中,PRG類游戲占50%;在1月份新游戲中,PRG類游戲占68.75%[8],可見(jiàn)PRG類游戲在網(wǎng)絡(luò)游戲中的重要地位。目前PRG游戲開(kāi)發(fā)商有很多,國(guó)內(nèi)有騰訊、網(wǎng)易等,國(guó)外有拳頭、藍(lán)洞、任天堂等,社會(huì)上也存在著規(guī)模不同的開(kāi)發(fā)團(tuán)隊(duì),因此PRG游戲的風(fēng)格和質(zhì)量也參差不齊。有些游戲質(zhì)量較高,但存在操作復(fù)雜的問(wèn)題,有些游戲趣味性十足,玩法卻過(guò)于單一。

      隨著第四代移動(dòng)網(wǎng)絡(luò)技術(shù)的逐漸成熟與虛擬現(xiàn)實(shí)技術(shù)的快速發(fā)展,出現(xiàn)了很多新型網(wǎng)絡(luò)游戲開(kāi)發(fā)技術(shù),如近幾年熱門(mén)的Unity3D等[9]。Unity3D是由Unity Technologies開(kāi)發(fā)的一個(gè)可讓用戶輕松創(chuàng)建如三維視頻游戲與實(shí)時(shí)三維動(dòng)畫(huà)等類型互動(dòng)內(nèi)容的多平臺(tái)綜合型專業(yè)游戲引擎[10]。目前,國(guó)內(nèi)外諸多研發(fā)人員開(kāi)展了基于Unity3D平臺(tái)的研究與開(kāi)發(fā)工作。如張陽(yáng)等[11]基于Unity3D技術(shù)與VR頭盔開(kāi)發(fā)了虛擬現(xiàn)實(shí)體感游戲;吳晶晶等[9]基于Unity3D技術(shù)進(jìn)行多人在線網(wǎng)絡(luò)游戲設(shè)計(jì)與開(kāi)發(fā);劉桂元等[12]基于Unity3D技術(shù)開(kāi)發(fā)了教育類游戲;董春俠等[13]基于Unity3D技術(shù)開(kāi)發(fā)了一款虛擬校園APP;潘俊浩等[14]提出一種基于Unity3D的工業(yè)機(jī)器人示教系統(tǒng)設(shè)計(jì)方法;杜猛等[15]基于Unity3D技術(shù)開(kāi)發(fā)了斷路器教學(xué)系統(tǒng);Guo等[16]研究了基于Unity3D的虛擬博物館展示模型;Wang[17]在可視化環(huán)境中通過(guò)Unity 3D進(jìn)行游戲化學(xué)習(xí)研究;Othman等[18]利用Unity3D引擎開(kāi)發(fā)了基于反射的智能體。

      雖然目前應(yīng)用商店中的PRG類游戲種類很多,但一般都存在人物單一等問(wèn)題。針對(duì)該問(wèn)題,本文采用C#語(yǔ)言,基于Unity3D技術(shù)與Visual Studio2017平臺(tái)開(kāi)發(fā)了一款PRG類游戲。該游戲既包含其它PRG類游戲元素,又不缺乏多樣性,可實(shí)現(xiàn)人物升級(jí)、副本通關(guān)、裝備購(gòu)買(mǎi)、抽獎(jiǎng)等功能。

      1 需求分析

      1.1 功能需求分析

      該游戲功能需求包括:

      (1)角色選擇與登錄:用戶在運(yùn)行游戲時(shí)首先選擇自己想要玩的角色(3個(gè)角色),然后進(jìn)入游戲。

      (2)人物移動(dòng)與技能釋放:用戶在游戲中可以控制角色移動(dòng),通過(guò)按下技能鍵可以釋放若干不同技能。

      (3)怪物巡邏與人工智能(Artificial Intelligence,AI)化:怪物在用戶未進(jìn)入視野時(shí)可以自行巡邏,在用戶進(jìn)入視野或受到用戶傷害時(shí)可對(duì)用戶進(jìn)行攻擊。

      (4)用戶界面(User Interface,UI)邏輯:包含商品買(mǎi)入與賣(mài)出、裝備使用與棄用、藥物使用、抽獎(jiǎng)及聲音控制。

      (5)游戲控制類:人物過(guò)關(guān)與否判定,怪物生成及死亡。

      (6)非玩家控制角色(Non-Player Character,NPC)交互:用戶可通過(guò)觸發(fā)場(chǎng)景中的NPC進(jìn)行操作,包括打開(kāi)關(guān)卡、選擇界面等。

      1.2 性能需求分析

      該游戲性能需求包括:

      (1)運(yùn)行需求分析:要求游戲運(yùn)行流暢,不會(huì)出現(xiàn)閃退或電腦內(nèi)存占用過(guò)大等現(xiàn)象。

      (2)最終生成游戲大小:1G以內(nèi)。

      (3)魯棒性:針對(duì)不同分辨率的屏幕,UI界面都應(yīng)能夠適配,不能出現(xiàn)UI界面消失甚至變形等對(duì)用戶不友好的現(xiàn)象。

      (4)場(chǎng)景跳轉(zhuǎn)相應(yīng)時(shí)間需求:配合進(jìn)度條,游戲場(chǎng)景加載完成后,2s內(nèi)應(yīng)完成跳轉(zhuǎn)。

      2 游戲背景與流程設(shè)計(jì)

      2.1 游戲背景故事設(shè)計(jì)

      《九州百靈傳》是一個(gè)由同名小說(shuō)改編的冒險(xiǎn)類RPG。游戲背景故事如下:天變地異,遠(yuǎn)古邪靈再度降臨,手持弓箭的少年為拯救大陸與同伴一起踏上修行旅程。修行中,古怪精靈的她,和心中的他究竟會(huì)有怎樣的結(jié)局?劍之道,迷惘的他又能否找回持劍的理由?生或死,他又將作何抉擇?此刻前往屬于你的冒險(xiǎn)世界一探究竟吧!

      2.2 游戲整體流程

      該游戲整體流程包含游戲用戶選擇人物、進(jìn)入場(chǎng)景,以及與NPC交互,如圖1所示。其具體流程為:①用戶選擇人物,完成選擇后則進(jìn)入用戶出生城鎮(zhèn);②出生地有兩個(gè)NPC:關(guān)卡NPC和當(dāng)鋪NPC,用戶可以在出生城鎮(zhèn)隨意走動(dòng),選擇是否觸發(fā)NPC;③用戶如果觸發(fā)NPC進(jìn)入關(guān)卡,則彈出選關(guān)界面。如果確認(rèn)進(jìn)入則進(jìn)入游戲副本,否則選關(guān)界面關(guān)閉,用戶待在原地;④用戶如果觸發(fā)NPC進(jìn)入當(dāng)鋪,則彈出出售界面,確認(rèn)后可將裝備出售,否則出售界面關(guān)閉,用戶待在原地;⑤所有界面都有退出按鈕,用戶可在任意時(shí)刻退出并結(jié)束游戲。

      圖1 游戲整體流程

      3 游戲界面與場(chǎng)景設(shè)計(jì)

      3.1 游戲界面設(shè)計(jì)

      該游戲界面設(shè)計(jì)主要包括6個(gè)方面:設(shè)置界面、背包界面、商城面板界面、抽獎(jiǎng)界面、商品出售界面、副本NPC界面。

      (1)設(shè)置界面。系統(tǒng)設(shè)置界面包括音效增減按鈕、結(jié)束游戲按鈕與返回按鈕。其中音效增減按鈕包括系統(tǒng)與游戲音效增減按鈕,分別用于控制系統(tǒng)與游戲音效,結(jié)束游戲按鈕用于提前結(jié)束游戲,返回按鈕用于關(guān)閉設(shè)置界面。

      (2)背包界面。背包界面中,用戶可看到已購(gòu)買(mǎi)的物品與使用這些物品(藥品或裝備)時(shí)用戶屬性值的變化。用戶可通過(guò)點(diǎn)擊右鍵使用裝備或藥品,也可在裝備欄上點(diǎn)擊右鍵脫掉裝備。

      (3)商城面板界面。用戶可在商城中購(gòu)買(mǎi)需要的裝備和物品,以強(qiáng)化自身屬性。在商城面板界面中,用戶點(diǎn)擊購(gòu)買(mǎi)按鈕進(jìn)行物品購(gòu)買(mǎi),當(dāng)用戶鼠標(biāo)指向?qū)?yīng)物品時(shí)會(huì)顯示物品基本信息(包括用途和屬性);用戶點(diǎn)擊購(gòu)買(mǎi)時(shí)會(huì)對(duì)用戶金幣數(shù)量進(jìn)行判定,若金幣不足,則提示購(gòu)買(mǎi)失敗,反之提示購(gòu)買(mǎi)成功,并將物品放入用戶背包;點(diǎn)擊左上角返回按鈕即可退出商城。

      (4)抽獎(jiǎng)界面。抽獎(jiǎng)界面中,如果用戶點(diǎn)擊抽獎(jiǎng)按鈕,則首先對(duì)用戶金幣數(shù)量進(jìn)行判定,若不足則提示用戶不能抽獎(jiǎng);抽獎(jiǎng)時(shí)先更新獎(jiǎng)池(包括對(duì)上一輪抽獎(jiǎng)結(jié)果重置),之后隨機(jī)給出初始獎(jiǎng)品位置(即抽獎(jiǎng)是從哪一個(gè)獎(jiǎng)品開(kāi)始)和輪盤(pán)輪詢結(jié)束時(shí)間;抽獎(jiǎng)結(jié)束后,會(huì)根據(jù)抽獎(jiǎng)結(jié)果將獎(jiǎng)品放入用戶背包;抽獎(jiǎng)過(guò)程中將取消按鈕的各種交互,直到抽獎(jiǎng)結(jié)束,之后用戶可根據(jù)需要選擇繼續(xù)抽獎(jiǎng)或離開(kāi)。

      (5)商品出售界面??拷麼PC(當(dāng)鋪)按下空格鍵后出現(xiàn)當(dāng)鋪面板,用戶用左鍵點(diǎn)擊裝備后,當(dāng)鋪中會(huì)出現(xiàn)將要出售的裝備,輸入出售數(shù)量、點(diǎn)擊出售按鈕后會(huì)返還用戶一半的金幣。若此時(shí)用戶輸入數(shù)量大于用戶擁有該物品的最大數(shù)量,系統(tǒng)會(huì)自動(dòng)修改為該物品最大數(shù)量。

      (6)副本NPC界面。靠近NPC(副本或游戲關(guān)卡)按下空格鍵后出現(xiàn)關(guān)卡選擇界面,用戶可按照自己等級(jí)選擇想要玩的關(guān)卡(每五級(jí)開(kāi)一個(gè)關(guān)卡),點(diǎn)擊確定進(jìn)入相應(yīng)關(guān)卡。

      3.2 游戲主要場(chǎng)景設(shè)計(jì)

      該游戲主要場(chǎng)景設(shè)計(jì)包括4個(gè)方面:人物選擇場(chǎng)景、資源加載場(chǎng)景、主場(chǎng)景與副本場(chǎng)景。

      (1)人物選擇場(chǎng)景。在人物選擇場(chǎng)景中,用戶可通過(guò)點(diǎn)擊角色姓名選擇想要玩的角色,點(diǎn)擊顯示人物后會(huì)出現(xiàn)選擇詳情。用戶可以給英雄命名,若沒(méi)有輸入名字,游戲會(huì)使用系統(tǒng)默認(rèn)命名。點(diǎn)擊右下角對(duì)號(hào)則進(jìn)入游戲主場(chǎng)景。

      (2)資源加載場(chǎng)景。游戲運(yùn)行過(guò)程中場(chǎng)景跳轉(zhuǎn)不可或缺,此時(shí)游戲需要準(zhǔn)備一些資源,用戶無(wú)法進(jìn)行相關(guān)操作,這對(duì)用戶來(lái)說(shuō)是十分不友好的。為解決該問(wèn)題,游戲中設(shè)計(jì)了資源加載場(chǎng)景。資源加載場(chǎng)景由背景圖和進(jìn)度條組成,并引入強(qiáng)制內(nèi)存釋放方法,以減輕用戶電腦負(fù)擔(dān)。本場(chǎng)景中用戶不需要進(jìn)行任何操作,只需等待加載完成即可。

      (3)主場(chǎng)景。用戶在經(jīng)過(guò)短暫等待后會(huì)進(jìn)入游戲主場(chǎng)景。主場(chǎng)景中包括英雄屬性、功能面板、技能面板、小地圖、背包、商城、設(shè)置,以及用戶在角色選擇場(chǎng)景選擇的角色等。

      (4)副本場(chǎng)景。該場(chǎng)景是用戶進(jìn)行游戲的主要場(chǎng)景。在游戲過(guò)程中,用戶可以控制人物移動(dòng)、釋放技能,并使用裝備和藥品;怪物會(huì)自動(dòng)巡邏,其受到攻擊后也會(huì)對(duì)用戶進(jìn)行追蹤和打擊。另外,用戶需要考慮戰(zhàn)場(chǎng)形式并作出有利于自己的判斷,也可以根據(jù)自身狀態(tài)更換裝備,以滿足不同需求。

      4 關(guān)鍵技術(shù)與游戲?qū)崿F(xiàn)

      4.1 游戲開(kāi)發(fā)關(guān)鍵技術(shù)

      游戲涉及的關(guān)鍵開(kāi)發(fā)技術(shù)包括:Unity3D游戲引擎組件與腳本技術(shù)、怪物智能導(dǎo)航、AssetBundle加載技術(shù)等。

      4.1.1 Unity3D游戲引擎組件與腳本技術(shù)

      Unity3D是目前市面上一款較為主流的游戲開(kāi)發(fā)引擎,可以讓開(kāi)發(fā)者輕松創(chuàng)建游戲,并使游戲在一定程度上具有可視化性開(kāi)發(fā)引擎。其可以便捷地創(chuàng)建游戲場(chǎng)景,并通過(guò)Bundle使游戲資源和游戲運(yùn)行程序分離,從而減少運(yùn)行程序體積。Unity3D可提供諸如資源導(dǎo)入、場(chǎng)景創(chuàng)建、系統(tǒng)開(kāi)發(fā)及發(fā)布等一系列流程,用戶使用起來(lái)非常方便。該游戲涉及的Unity3D游戲引擎技術(shù)包括組件、腳本及其生命周期。

      (1)Unity3D組件技術(shù)。Unity3D與傳統(tǒng)面向?qū)ο缶幊膛c面向過(guò)程編程不同的是,Unity3D會(huì)為開(kāi)發(fā)者帶來(lái)一種全新編程思想——面向組件編程。在面向組件編程過(guò)程中,游戲中的物體包括人物、UI界面、敵人、圖片等都可看作游戲世界中的物體,其位置、大小與旋轉(zhuǎn)度等信息都是通過(guò)組件控制的。例如控制游戲物體位置、旋轉(zhuǎn)度及大小的Transform組件如圖2所示。

      圖2 Transform組件

      除Transform組件外,還會(huì)用到其它組件,其中最重要的是UI組件。UI組件主要包括Image組件、Button組件、Text組件、InputField輸入組件、Slider滑動(dòng)條組件等。Image組件是在UI搭建中用于展示圖片的組件,可以通SourceImage屬性選擇開(kāi)發(fā)者想要使用的圖片,Color可以更改圖片顏色,F(xiàn)ill將圖片按照各種方式進(jìn)行填充,Material是組件材質(zhì),ImageType可設(shè)置圖片填充方式等信息;Button組件即按鈕組件,是用于與玩家交互的組件。Button組件中的Interactable屬性用于設(shè)置其交互性,不勾選則會(huì)失去與用戶的交互。TargetGraphic用于更改按鈕按下時(shí)的圖片顯示,onClick可以設(shè)置按鈕被點(diǎn)擊時(shí)的事件。其它屬性包括設(shè)置按鈕正常顏色、被點(diǎn)擊時(shí)顏色、不可點(diǎn)擊時(shí)顏色,以及淡入淡出時(shí)間等;Text組件是游戲中用于顯示文本的組件。在Text屬性中輸入要顯示的值可更改其顯示內(nèi)容,Character可更改其設(shè)置以滿足人們需求,Paragraph可用來(lái)設(shè)置對(duì)齊方式、擺放位置等信息,Color可用來(lái)更改顏色,BestFit可使當(dāng)前輸入的文字默認(rèn)變?yōu)檫m應(yīng)當(dāng)前輸入框,RaycastTarget 用于設(shè)置其交互性(即用戶是否可點(diǎn)擊);InputField組件是玩家用于輸入的組件,用于游戲登錄;Slider滑動(dòng)條組件用于顯示加載進(jìn)度,也可用于制作怪物血量、人物血量、人物經(jīng)驗(yàn)值、人物生命值和人物魔法值,還可以進(jìn)行用戶交互,也具有onValueChanged事件,在玩家改變其Value時(shí)可進(jìn)行Slider長(zhǎng)度變換。

      (2)Unity3D腳本技術(shù)。腳本與組件一樣可通過(guò)掛載方式添加到游戲?qū)ο笊砩?,但與組件不同的是,組件中的值可以修改,但結(jié)構(gòu)不可修改,因此限制了其使用范圍。鑒于此,本文通過(guò)腳本技術(shù),對(duì)游戲?qū)ο髮?shí)現(xiàn)了組件無(wú)法提供的細(xì)粒度控制。另外,腳本繼承了MonoBehavior類,其有自己的生命周期,由9大回調(diào)方法組成:Start方法(腳本開(kāi)始時(shí)執(zhí)行)、Update方法(每一幀執(zhí)行)、Awake方法(腳本喚醒時(shí)執(zhí)行)、OnEnable方法(物體由不激活轉(zhuǎn)到激活狀態(tài)時(shí)執(zhí)行)、FixedUpdate方法(固定幀速率執(zhí)行)、LateUpdate方法(在update之后執(zhí)行)、OnGUI方法(每一幀執(zhí)行兩次)、OnDisable方法(物體不激活時(shí)執(zhí)行)、OnDestory方法(物體銷毀時(shí)執(zhí)行)。通過(guò)以上9大回調(diào)方法可以幫助開(kāi)發(fā)者操作游戲?qū)ο螅蛊錆M足游戲設(shè)計(jì)需求。

      4.1.2 怪物智能導(dǎo)航技術(shù)

      該游戲中怪物巡邏是基于Unity3D的Navigation導(dǎo)航系統(tǒng)實(shí)現(xiàn)的,當(dāng)用戶進(jìn)入游戲場(chǎng)景,觸發(fā)某一觸發(fā)器,會(huì)吸引附近怪物對(duì)玩家進(jìn)行追蹤與攻擊。怪物智能導(dǎo)航算法偽代碼如下:

      該游戲資源加載采用AssetBundle方式,而未采用Resourse加載方式。Resourse加載是一種以犧牲產(chǎn)品可維護(hù)性為代價(jià)的方式,雖然較為方便,且有時(shí)是必要的,但一味將資源打包進(jìn)安裝包是不可取的。Unity3D官方雖然提供了Resources加載方式,但并不推薦開(kāi)發(fā)者使用,而是推薦使用AssetBundle加載這種具有較高可維護(hù)性的方式。以加載資源“scene04”為例,AssetBundle加載流程為:①確定包的依賴信息:public string manifestAssetBundleName = “Window”;②添加要加載的AssetBundle名稱:public string assetbundleName = “scene04”;③加載包含依賴關(guān)系的AssetBundle:AssetBundle manifestAssetBundle = wwwmanifestAssetBundle.assetBundle;④從bundle中提取.manifest文件,以獲得所有bundle的依賴信息:AssetBundleManifest manifest = (AssetBundleManifest)manifestAssetBundle.LoadAsset(“AssetBundleManifest”);⑤獲取依賴關(guān)系列表:manifestAssetBundle.Unload(false);⑥獲取“scene04”bundle 的依賴并返回string[]數(shù)組:string[] dependAssetBundles = manifest.GetAllDependencies(“scene04”);⑦加載所有依賴;⑧加載目標(biāo)bundle:WW www2 = WWW.LoadFromCacheOrDownload(assetbundlePath + “scene04”, 0)。

      4.1.4 SQLite輕量級(jí)數(shù)據(jù)庫(kù)

      SQLite是一款輕量級(jí)嵌入式數(shù)據(jù)庫(kù),體量較小,占用資源較少,并且支持Windows/Linux/Unix/Android等一系列主流操作系統(tǒng)。其處理數(shù)據(jù)快且支持C#、PHP、Java等多種語(yǔ)言,也同樣具有ODBC接口,使用比較方便。鑒于SQLite數(shù)據(jù)庫(kù)的特點(diǎn),本游戲數(shù)據(jù)庫(kù)選用SQLite,并將玩家信息諸如金幣、經(jīng)驗(yàn)、裝備等存入SQLite輕量級(jí)數(shù)據(jù)庫(kù)中?;贑#語(yǔ)言使用SQLite數(shù)據(jù)庫(kù)的具體方式為:①使用System.Data.SQLite.DLL語(yǔ)句添加引用;②使用SQLiteConnection.CreateFile(fileName)語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)文件;③使用var connection = new SQLiteConnection(connectionString)語(yǔ)句連接數(shù)據(jù)庫(kù);④從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù),讀取語(yǔ)句為:Database(SQLite) -> DataAdapter -> DataSet -> DataGridView,寫(xiě)入語(yǔ)句為:Database(SQLite) <- DataAdapter <- DataSet <- DataGridView。

      4.2 游戲開(kāi)發(fā)運(yùn)行環(huán)境及實(shí)現(xiàn)效果

      該游戲開(kāi)發(fā)使用的操作系統(tǒng):Windows 10 64位,內(nèi)存4GB;游戲開(kāi)發(fā)語(yǔ)言:C#;游戲開(kāi)發(fā)工具:Unity3D 2017-3.1與Visual Studio2017;游戲運(yùn)行環(huán)境需求:無(wú)特殊配置需求。游戲?qū)崿F(xiàn)效果如圖3所示。

      (a) 系統(tǒng)設(shè)置界面? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (b)? 背包界面

      (c)? 商城面板界面? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (d)? 抽獎(jiǎng)界面

      (e) 商品出售界面? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (f) 副本NPC界面

      (g) 資源加載場(chǎng)景? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (h) 游戲主場(chǎng)景

      (i) 游戲場(chǎng)景

      圖3 游戲?qū)崿F(xiàn)效果

      5 結(jié)語(yǔ)

      本文基于Unity3D游戲引擎組件與腳本、怪物智能導(dǎo)航、AssetBundle加載技術(shù)等,采用SQLite輕量級(jí)數(shù)據(jù)庫(kù),在Visual Studio2017開(kāi)發(fā)平臺(tái)上開(kāi)發(fā)了一款PRG類游戲。該游戲?qū)ν婕胰骈_(kāi)放,且具備RPG游戲的基本元素。該游戲內(nèi)部包含了打怪、升級(jí)、抽獎(jiǎng)、商城等多種玩法,游戲UI界面美觀大方,場(chǎng)景華麗優(yōu)美,為用戶提供了較好的游戲體驗(yàn)。

      雖然本游戲?qū)崿F(xiàn)了最初確定的項(xiàng)目需求,但也存在一些問(wèn)題,比如有些角色能力過(guò)于強(qiáng)大,但有些技能偏弱等,在一定程度上影響了游戲的公平性和趣味性,因此本游戲在該方面還有較大改進(jìn)空間。

      參考文獻(xiàn):

      [1] 田野. 角色扮演類游戲中的游戲系統(tǒng)與游戲參與研究[J]. 文化創(chuàng)新比較研究,2018(5):132-133.

      [2] 朱道真,彭緒山,宋揚(yáng),等. 基于DirectX的角色扮演類游戲設(shè)計(jì)與應(yīng)用[J]. 軟件導(dǎo)刊,2014,13(11):100-104.

      [3] 佟振明,劉志鵬. 大型多人在線角色扮演游戲的下一地點(diǎn)預(yù)測(cè)[J].? 計(jì)算機(jī)科學(xué),2018,45(z2):453-457.

      [4] 高少文. 大型多人在線角色扮演游戲特定玩家類別抽取問(wèn)題研究[D]. 杭州:浙江大學(xué),2018.

      [5] DICKEY M D. Game design and learning: a conjectural analysis of how massively multiple online role-playing games (MMORPGs) foster intrinsic motivation[J].? Educational Technology Research & Development, 2007,55(3):253-273.

      [6] MCCONVILLE J R,RAUCH S,HELGEGREN I,et al. Using role-playing games to broaden engineering education[J].? International Journal of Sustainability in Higher Education,2017,18(4):594-607.

      [7] BILLINGS D M,KOWALSKI K,YOUNG J. Using a role-play simulation game to promote systems thinking[J].? The Journal of Continuing Education in Nursing, 2018, 49(1):10-11.

      [8] 第一手游網(wǎng). 第一手游網(wǎng)2019年1月手游曝光度數(shù)據(jù)報(bào)告 騰訊五款游戲進(jìn)入百?gòu)?qiáng)Top10[EB/OL]. http://3g.163.com/news/article_cambrian/E835O0MS05269VS7.html.

      [9] 吳晶晶, 戴智超. 基于Unity3D的多人在線網(wǎng)絡(luò)游戲設(shè)計(jì)與開(kāi)發(fā)[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用, 2017(10):133-138.

      [10] 百度百科. Unity3D [EB/OL]. https://baike.baidu.com/item/Unity3D/3064002?fr=aladdin.

      [11] 張陽(yáng),楊長(zhǎng)強(qiáng),鄭慧平. 基于Unity3D與VR頭盔的虛擬現(xiàn)實(shí)體感游戲開(kāi)發(fā)[J]. 軟件導(dǎo)刊,2017(8):123-126.

      [12] 劉桂元,曾志遠(yuǎn),楊書(shū)新. 基于Unity3d引擎的教育類游戲設(shè)計(jì)與實(shí)現(xiàn)[J]. 軟件導(dǎo)刊,2017(1):50-53.

      [13] 董春俠,司占軍. 基于Unity3D的虛擬校園App設(shè)計(jì)與開(kāi)發(fā)[J]. 軟件導(dǎo)刊,2017,16(2):94-96.

      [14] 潘俊浩,卓勇,侯亮,等. 一種基于Unity3d的工業(yè)機(jī)器人示教系統(tǒng)設(shè)計(jì)方法[J]. 組合機(jī)床與自動(dòng)化加工技術(shù),2017(7):110-115.

      [15] 杜猛,王大虎. 基于Unity3D的斷路器教學(xué)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J/OL]. 軟件導(dǎo)刊:1-4[2019-03-19]. http://kns.cnki.net/kcms/detail/42.1671.TP.20190125.1414.032.html.

      [16] GUO D,SHANG S Y,CENTER C I. Research on exhibition model of virtual museum based on Unity3D[J]. Journal of Beijing Institute of Clothing Technology, 2017, 37(2):63-68.

      [17] WANG D. Gamified learning through unity 3D in visualizing environments[J]. Neural Computing & Applications, 2017, 29(2):1-6.

      [18] OTHMAN M N M, HASAN H, HARON H. Developing reflex-based agent with Unity3D game engine[J]. Advanced Science Letters, 2018, 24(2):1071-1075.

      (責(zé)任編輯:黃 ?。?/p>

      猜你喜歡
      該游戲抽獎(jiǎng)角色扮演
      開(kāi)學(xué)大抽獎(jiǎng)
      角色扮演游戲
      幼兒園(2021年7期)2021-08-09 12:48:22
      “角色扮演”拯救荷蘭艦隊(duì)
      大抽獎(jiǎng)
      航空模型(2016年8期)2017-05-03 12:17:21
      抽獎(jiǎng)
      剖析角色扮演在初中英語(yǔ)會(huì)話教學(xué)中的應(yīng)用
      新課程研究(2016年4期)2016-12-01 05:55:02
      一道2014年上海高考題的探究
      角色扮演教學(xué)法在營(yíng)養(yǎng)專業(yè)人才培養(yǎng)中的應(yīng)用
      抽獎(jiǎng)
      弥渡县| 韶关市| 佛坪县| 怀安县| 太仆寺旗| 砚山县| 新乡市| 天峻县| 铁岭县| 白城市| 松桃| 昌宁县| 仙居县| 康马县| 望江县| 和平区| 南溪县| 安吉县| 新邵县| 阳江市| 乾安县| 东辽县| 滕州市| 余庆县| 静乐县| 扎兰屯市| 萨嘎县| 招远市| 岳阳市| 嘉黎县| 五莲县| 舒城县| 西乌珠穆沁旗| 康定县| 周至县| 会泽县| 蓝山县| 巴林右旗| 马边| 枣阳市| 修水县|