国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于unity3D的塔防游戲開發(fā)

2018-12-13 01:56仲曉慶蔡朝暉
科技創(chuàng)新與應(yīng)用 2018年29期

仲曉慶 蔡朝暉

摘 要:塔防游戲作為一個在休閑游戲愛好人群中經(jīng)久不衰的玩法類別,憑借多樣的玩法與超高的游戲體驗始終保有相當(dāng)數(shù)量的忠實玩家。文章根據(jù)游戲的開發(fā)思路,使用unity3D引擎開發(fā)了一款塔防游戲。本游戲主要分為三個模塊,一是系統(tǒng)設(shè)置,包括游戲的各種設(shè)置,二是防御塔的功能設(shè)計,包括對防御塔的操作以及防御塔的攻擊,三是敵人的功能設(shè)計,包括敵人的各種行為設(shè)計。結(jié)果表明敵人與防御塔的屬性設(shè)置很合理,游戲體驗良好。

關(guān)鍵詞:unity3D;塔防;游戲開發(fā)

中圖分類號:TP391 文獻標(biāo)志碼:A 文章編號:2095-2945(2018)29-0014-03

Abstract: Due to its variety of playing methods and the super experience, the tower defense game, as an unduring playing class in the leisure game lover groups, has been always retaining a considerable number of loyal players. According to game concept, a tower defense game, which is based on C#, is designed and realized in this paper. This game system mainly consists of three modules. The first one is system settings, including the various settings of the game. The second one is the function design of the defense tower, including the operation and attack of the defense tower. The third part is the function design of the enemy, including the various behaviors designs of enemies. The result shows that the properties of enemies and towers are reasonable and the game experience is great.

Keywords: unity3D; tower defence; game development

引言

近年來,迅速發(fā)展的手機游戲、網(wǎng)頁游戲和PC游戲已經(jīng)成為游戲行業(yè)主流。隨著玩家對游戲的沉浸感和體驗感的要求逐漸增加,3D游戲成了當(dāng)前游戲發(fā)展的主要熱點[1]。unity3D游戲引擎為開發(fā)者提供了創(chuàng)建高質(zhì)量3D游戲和真實視覺效果的核心技術(shù),為3D游戲的開發(fā)提供了強大的推動力[2]。

塔防,炮塔防御(Tower Defence,TD)的簡稱。作為一個經(jīng)典的休閑游戲類別,塔防游戲從來沒有過成為真正的主流游戲,但卻始終都保有相當(dāng)數(shù)量的忠實玩家,塔防游戲從產(chǎn)生到現(xiàn)在20余年,用不溫不火來形容完全不為過。不過,隨著現(xiàn)在整個游戲行業(yè)在玩法上的細化與創(chuàng)新,塔防類游戲也迎來了又一個春天,一些玩法和類別更多樣的塔防游戲開始問世——如手游市場上的《保衛(wèi)蘿卜》,客戶端網(wǎng)游領(lǐng)域的《植物大戰(zhàn)僵尸》等等。而塔防這一經(jīng)典的游戲玩法類型或許將在這一趨勢當(dāng)中迎來前所未有的發(fā)展機遇。本文使用unity3D引擎開發(fā)的這款3D塔防游戲內(nèi)容豐富,游戲體驗良好,這類策略游戲不僅可以使玩家娛樂,還能使玩家的智力得到很好的提升。

1 游戲分析

此款塔防游戲的玩法規(guī)則是地圖的一端自動出兵攻擊地圖的另一端,在敵人行動路線的兩邊玩家可按照自己的思路放置防御塔來阻止敵人的攻擊,一旦防御塔的放置位置不對,或者所選擇的防御塔攻擊速度不夠快,就阻止不了敵人的攻擊,那么敵人就很容易攻入玩家大本營,玩家便輸了。所以要求這類策略游戲要給玩家盡量大的個人發(fā)揮空間[3]。要達到這一點,可以從多方面著手:1.地圖;2.防御塔;3.敵人;4.玩家血量;5.游戲金幣。下面分別介紹。

地圖:游戲設(shè)計要控制敵人從出生點開始,按照事先設(shè)計好的路線到達終點,路線越不固定越多樣化越好,這就要求設(shè)計一個更為合理的敵人路線,來改變敵人原有的最短路線,或者把敵人到達終點的路線變得更長,為防御塔的攻擊提供更長的時間,從而達到消滅敵人的目的。

防御塔:可以設(shè)置不同的防御塔來供玩家選用,防御塔的不同可以從攻擊速度、攻擊范圍,還有購買和升級防御塔所消耗的游戲金幣、賣掉防御塔和所獲得的游戲金幣的不同而定。

敵人:從敵人的角度看,在設(shè)計敵人的時候可以根據(jù)敵人的種類,移動速度、攻擊力、數(shù)量、生命值以及敵人被擊殺后玩家可以獲得金幣數(shù)量的不同而定,一般來說,敵人所攜帶的金幣數(shù)量與士兵的生命值是成正比的,敵人等級越高,生命值就越高,同樣,攻擊力、攻擊速度、移動速度也就越高。

玩家血量:即當(dāng)玩家設(shè)置防御塔,無法阻擊敵人到達目的地時,有多少敵人到達目的地,攻擊力是多少,玩家血量就會減少多少,直到零為止,此時玩家就輸了,因此玩家血量的多少可根據(jù)游戲的難易程度而設(shè)置相應(yīng)的數(shù)量。

游戲金幣:游戲中的金幣,是支撐玩家繼續(xù)游戲的源泉,金幣越多,完成游戲的速度就越快,游戲就越簡單;反之,游戲就越難,因此,合理設(shè)置游戲中金幣的數(shù)量是非常重要的。設(shè)置金幣是要從以下幾個方面入手,游戲初始金幣,擊殺敵人獲得的金幣,拆除防御塔獲得的金幣,建造防御塔損失的金幣和升級防御塔損失的金幣。

2 游戲設(shè)計

本次設(shè)計主要體現(xiàn)在防御塔的功能、敵人的功能、防御塔與敵人的交互以及各種UI界面的設(shè)計上。游戲開始時通過一段動畫進入場景,在開始場景主畫面中有5個按鈕,分別是開始游戲、游戲難度、音量設(shè)置、游戲介紹和退出游戲,通過點擊不同的按鈕實現(xiàn)相應(yīng)的功能。游戲開始時進入游戲場景,場景中有玩家血量的顯示、玩家金幣的顯示和暫停按鈕。點擊暫停按鈕彈出暫停界面,暫停界面中有繼續(xù)游戲,重新開始,音量調(diào)節(jié)和退出游戲按鈕。游戲過程中敵人會一直生成并按照路線移動,此時玩家需要建造防御塔來攻擊敵人,所有敵人都死亡,游戲勝利,彈出勝利界面;如果有敵人進入玩家大本營,并且使玩家總血量降為零,游戲結(jié)束,彈出失敗界面。

整個游戲分成系統(tǒng)、防御塔、敵人三大模塊。每個模塊進一步又可以細分為若干個子模塊。塔防游戲的功能結(jié)構(gòu)圖如圖1所示。

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

3.1 防御塔

防御塔在塔防游戲中的作用是為了阻止敵人的入侵,其屬性有攻擊速度、價值和攻擊范圍。攻擊速度越快擊殺敵人的速度越快,攻擊速度會根據(jù)塔的類型來決定,本次設(shè)計共有三種防御塔,分為1、2、3三種等級。首先設(shè)出防御塔的擺放位置,添加一些unity3D自帶的圓柱體,調(diào)整大小后放置在地圖的合適位置上,通過點擊圓柱體就可以放置防御塔了,因為圓柱體的作用只是為了觸發(fā)事件,所以需要關(guān)掉圓柱體的MeshRenderer組件,這樣在游戲過程中就不會看見這些圓柱體了。

游戲中,通過點擊塔的底座來建立防御塔。當(dāng)玩家擁有的金幣數(shù)量大于建立防御塔花費的金幣并且判定點擊的是防御塔的標(biāo)簽時,系統(tǒng)通過Resources.Load(“Prefabs2/Arrowtower1”)動態(tài)加載防御塔的模型,并刪除掉防御塔的底座。

3.2 敵人

敵人生成后,加入到enemyList列表,再設(shè)計出敵人在地圖上行走的路線,使用transform.LookAt()方法使敵人的每一幀運動都是面朝著目標(biāo)點的,然后按照自己的屬性獲取移動速度,再使用移動方法transform.Translate()來使敵人移動,在移動的過程中,為防止敵人一直朝著目標(biāo)點的反向運動不停止,會有一個距離限制,當(dāng)敵人距離目標(biāo)點小于0.1時會停下來。實現(xiàn)方法是創(chuàng)建出一些空物體點作為敵人移動的目標(biāo),按地圖位置擺放好,其中enemyposition和monserposition是敵人的生成點,homeposition是玩家大本營。

因為游戲目的是讓敵人一直運動直到死亡或是到終點也就是玩家大本營,所以要讓敵人繼續(xù)向著下一個目標(biāo)點運動。當(dāng)敵人距離上一個目標(biāo)點位置小于等于0.1時,就可以讓敵人朝著下一個目標(biāo)點移動,方法與上一個目標(biāo)點一樣,這樣敵人就可以朝著目的地一直移動了。

3.3 玩家

玩家主要是對屬性的設(shè)置,包括血量和金幣。玩家的總血量是游戲的一個重要的屬性,玩家游戲的目的就是要在游戲結(jié)束前,保證自己的血量大于0,就可以獲得游戲的勝利。在游戲過程中,如果有敵人進入玩家大本營,玩家就會損失一定的血量,血量只可以減少,不可以增加。

金幣是游戲中的貨幣,是建設(shè)防御塔的前提,在游戲中可以通過擊殺敵人來獲得相應(yīng)的金幣,還可以通過拆除防御塔來獲得金幣。當(dāng)在游戲中建立防御塔時,金幣會相應(yīng)的減少,所以合理規(guī)劃金幣的使用是游戲獲勝的關(guān)鍵。

3.4 UI

在unity3D中設(shè)計UI有3種方法:一種是NGUI,通過插件創(chuàng)建;一種是UGUI,通過游戲自帶的組件,一種是OnGUI,在unity3D的生命周期OnGUI中編寫代碼。本次設(shè)計使用OnGUI。根據(jù)游戲的需求需要設(shè)計5個UI界面,分別是游戲運行時的初始菜單界面、游戲運行時的界面、暫停界面、游戲勝利界面和游戲失敗界面。限于篇幅,只給出游戲開始和暫停界面。

4 結(jié)束語

本文使用unity3D引擎開發(fā)了一款內(nèi)容豐富的塔防游戲,實現(xiàn)的主要功能有敵人的生成、敵人的移動、創(chuàng)建防御塔、防御塔的攻擊。結(jié)果表明游戲?qū)傩栽O(shè)置合理,敵人與防御塔的交互良好,玩家的游戲體驗良好,可玩性很高。

參考文獻:

[1]盧金浩,張帥,伍傳敏.基于unity3D三維游戲場景與AI系統(tǒng)的設(shè)計與實現(xiàn)[J].三明學(xué)院學(xué)報,2013,30(6):31-35.

[2]劉俊,郭祖江.基于unity3D的塔防游戲設(shè)計與實現(xiàn)[J].科技傳播,2015(5):152-154.

[3]張鵬飛,江岸.基于Android系統(tǒng)的塔防類游戲開發(fā)[J].信息與電腦(理論版),2014(3):47-50.

[4]胡蓉.淺談現(xiàn)代手機游戲制作[J].科技創(chuàng)新與應(yīng)用,2017(17):297.

[5]趙明明,王明時.基于用戶體驗的觸屏手機游戲界面設(shè)計研究[J].科技創(chuàng)新與應(yīng)用,2012(12):50.

[6]談嗣徽,溫彥茹.關(guān)于手機游戲設(shè)計的研究--如何設(shè)計一款成功的手機游戲[J].科技創(chuàng)新與應(yīng)用,2015(18):9-10.

阿鲁科尔沁旗| 阳信县| 临海市| 嘉定区| 扶余县| 乐业县| 松原市| 钦州市| 连南| 宝应县| 稻城县| 苗栗县| 鄂托克前旗| 靖边县| 和政县| 新巴尔虎右旗| 苍梧县| 赤壁市| 恩施市| 平舆县| 宜兴市| 镇江市| 元氏县| 三穗县| 仙游县| 玉田县| 那曲县| 日喀则市| 南岸区| 汤阴县| 大石桥市| 白玉县| 双鸭山市| 安塞县| 长兴县| 德庆县| 雅安市| 浦北县| 都昌县| 盘锦市| 孟村|