關(guān)于怎么開(kāi)發(fā)一款自己的大聯(lián)盟搭建游戲項(xiàng)目(目前只說(shuō)大聯(lián)盟客戶端),就說(shuō)說(shuō)自己的個(gè)人觀點(diǎn),
首要,要做一款游戲,如果你要做一款有網(wǎng)絡(luò)的大聯(lián)盟搭建游戲,有用戶數(shù)據(jù)保存的,那么首要就要有一個(gè)服務(wù)器,然后我們才能基于unity開(kāi)發(fā)的這個(gè)大聯(lián)盟客戶端去跟服務(wù)器通訊,(如果是做單機(jī),那么 就請(qǐng)忽略這步)我們運(yùn)用unity跟服務(wù)器通訊這個(gè)機(jī)制,叫做網(wǎng)絡(luò)通訊,一款游戲剛開(kāi)始時(shí),會(huì)定好預(yù)備運(yùn)用的是什么網(wǎng)絡(luò)協(xié)議,基于什么網(wǎng)絡(luò)協(xié)議,一般來(lái)說(shuō)都是socket通訊,然后PB包,如果 有才能的話,是能夠把這一套網(wǎng)絡(luò)通訊的代碼從項(xiàng)目中單獨(dú)分離開(kāi)來(lái),這樣今后其他項(xiàng)目能夠直接運(yùn)用,所以,定好寫好一個(gè)網(wǎng)絡(luò)通訊是一款需聯(lián)網(wǎng)大聯(lián)盟搭建游戲的步。
第二步,一款好的大聯(lián)盟搭建游戲,大聯(lián)盟搭建游戲的容量不能很大,并且為了今后能讓用戶在不用從頭下載游戲的情況下更新客戶端(熟稱熱更新),一般公司都會(huì)將一些美術(shù)資源做成AssetBundle,這樣既減 少游戲自身巨細(xì),又能夠動(dòng)態(tài)去改動(dòng)我們需求加載的美術(shù)資源,達(dá)到更新美術(shù)資源的效果,除了美術(shù)資源外,還有策劃配的表格,程序?qū)懙拇a,把這一些東西都做成能夠動(dòng)態(tài)修正的,就能達(dá)到不修 改代碼的情況下更新客戶端,而這種動(dòng)態(tài)加載的完成,便是一款游戲規(guī)劃時(shí)第二步需求做的。
第三步,已然第二步將大聯(lián)盟搭建游戲中的一些資源規(guī)劃成了能夠動(dòng)態(tài)去修正,然后動(dòng)態(tài)加載,那么在動(dòng)態(tài)更新大聯(lián)盟搭建游戲中的預(yù)制體上,就需求作出一些東西,比方,動(dòng)態(tài)加載一個(gè)圖片,動(dòng)態(tài)加載一個(gè)大聯(lián)盟 游戲物體,以及動(dòng)態(tài)更改動(dòng)作Animator,都是需求自己寫好一套加載的機(jī)制,寫好對(duì)應(yīng)的東西,這樣也便利今后的人運(yùn)用該東西。(這些東西包含加載圖片,加載游戲物體,加載動(dòng)作文件,加載特 效,加載表格和讀取表格,加載json和xml數(shù)據(jù)等等) 到目前為止,一款大聯(lián)盟搭建游戲的根本的一個(gè)結(jié)構(gòu)就算是搭建完成了。
第四步,便是根據(jù)自己的游戲類型,擬定一個(gè)前端的wan法流程,開(kāi)始需求頂一個(gè)結(jié)構(gòu),結(jié)構(gòu)的概念便是,我們把很多的東西規(guī)范化,運(yùn)用某種通用的結(jié)構(gòu),來(lái)使我們的項(xiàng)目更易擴(kuò)展,并使代碼更易 閱讀,一起也為今后重構(gòu)項(xiàng)目時(shí)更易重構(gòu)。
第五步,擬定好一個(gè)結(jié)構(gòu)后,便是各方面的大聯(lián)盟搭建游戲邏輯部分,給不同部分的游戲邏輯,增加一格辦理類Manager,不同的辦理類辦理不同的功用,后一步一步完成不同功用就好。
第六步,在制作大聯(lián)盟搭建游戲的過(guò)程中,我們會(huì)用到一些插件,插件的效果便是,能夠減少我們自己的開(kāi)發(fā)周期,并且,正確運(yùn)用插件能使我們項(xiàng)目錦上添花。
第七步,當(dāng)我們大聯(lián)盟搭建游戲根本做完時(shí),我們還需求接入一些SDK。
第八步,大聯(lián)盟搭建游戲完成后,對(duì)游戲進(jìn)行緊縮,一起保證幀數(shù),熟稱優(yōu)化