真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何不用服務(wù)器來開發(fā)一個(gè)小游戲-創(chuàng)新互聯(lián)

我是代長新,來自上海享物說,主要負(fù)責(zé)游戲客戶端研發(fā)。

公司主營業(yè)務(wù):成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出寶安免費(fèi)做網(wǎng)站回饋大家。

如何不用服務(wù)器來開發(fā)一個(gè)小游戲

享物說是一個(gè)大家可以互相贈(zèng)送物品,有趣、不花錢的社區(qū)平臺(tái)。為了創(chuàng)造更好的社區(qū)氛圍,我們決定通過小游戲來增加社區(qū)的趣味性和互動(dòng)性。

《樂享花園》是我們?cè)谛∮螒蝾I(lǐng)域的第一個(gè)實(shí)踐。這個(gè)游戲,從立項(xiàng)到做完,準(zhǔn)確的說是客戶端做完,我們一共用了3天的時(shí)間。

但是,當(dāng)時(shí)我們種花澆花、領(lǐng)水滴任務(wù)都是通過瀏覽器緩存實(shí)現(xiàn)的,如果要上線還要等服務(wù)端人員到位,否則玩家清理一下手機(jī),自己種的花就沒了。但等我們服務(wù)端人員到位,再到游戲上線,就是幾周以后的事情了。

小游戲開發(fā)之痛:無法擺脫對(duì)服務(wù)端的依賴


相信,這也是大部分小游戲開發(fā)時(shí)會(huì)遇到的問題 —— 功能很簡單,但就是擺脫不了對(duì)服務(wù)端的依賴。如下圖:

如何不用服務(wù)器來開發(fā)一個(gè)小游戲

具體來說,小游戲?qū)Ψ?wù)端的依賴主要有以下兩個(gè)方面:

1、微信接口只支持在服務(wù)端調(diào)用

這就意味著,我們必須為這些接口架設(shè)一個(gè)中轉(zhuǎn)服務(wù)器。如果沒有這個(gè)中轉(zhuǎn)服務(wù)器,我們就沒法做用戶登錄,沒法獲取用戶頭像、名稱信息,也拿不到access_token,更沒有辦法調(diào)用其他微信接口,如內(nèi)容審查。

2、游戲功能實(shí)現(xiàn)需要服務(wù)器開發(fā)

對(duì)于很多小游戲來說,我們唯一用到服務(wù)端的地方就是,儲(chǔ)存當(dāng)前的關(guān)卡進(jìn)度,展示一個(gè)世界排行,就可以了。而想要實(shí)現(xiàn)這么一個(gè)簡單的需求時(shí),你會(huì)發(fā)現(xiàn),隔行如隔山。

如何用云開發(fā)解決小游戲在服務(wù)端痛點(diǎn)?


1、云函數(shù)實(shí)現(xiàn)微信接口調(diào)用

曾經(jīng),我想過繞開服務(wù)器,直接通過客戶端請(qǐng)求微信接口,結(jié)果踩了一個(gè)坑。

當(dāng)時(shí)做的是聊天功能,需要對(duì)玩家發(fā)送的消息進(jìn)行內(nèi)容審查。我看完了接口文檔,就跑過去跟服務(wù)器同學(xué)說,內(nèi)容審查我這邊全部做掉就可以,他那邊不需要做額外的處理。

如何不用服務(wù)器來開發(fā)一個(gè)小游戲

等我們調(diào)通,上了體驗(yàn)版,一打開報(bào)錯(cuò),我才想起來,這個(gè)接口文檔的上面,有一行小字,而且顏色是灰色的,上面寫著:此接口應(yīng)在后端服務(wù)器調(diào)用。

第一次看到這句話,還以為它只不過是一個(gè)警告,所以根本沒把它放在心上,哪知道它居然是一個(gè)error!而在這之前,我還特意做了一些我認(rèn)為比較人性化的設(shè)計(jì),比如使用這個(gè)接口需要一個(gè)密鑰,這個(gè)密鑰是有有效期的,當(dāng)密鑰過期的時(shí)候,我會(huì)把玩家發(fā)送的內(nèi)容保存起來,向后端拉取新的密鑰后,再發(fā)送出去,這樣對(duì)于玩家來說,整個(gè)過程是無感知的。而現(xiàn)在則意味著所有這些都要服務(wù)器去實(shí)現(xiàn)了。

后來,我通過云開發(fā)來實(shí)現(xiàn)多有接口調(diào)用,事情就簡單多了。

如何不用服務(wù)器來開發(fā)一個(gè)小游戲

就拿登錄來說吧。

由于云函數(shù)具有微信天然鑒權(quán)的能力,可以直接返回openid,這一點(diǎn)對(duì)做登錄確實(shí)很方便。樂享花園需要和享物說平臺(tái)打通小紅花積分?jǐn)?shù)據(jù),所以需要用戶的unionid信息,這一步也是在云函數(shù)中實(shí)現(xiàn)的。

還有access_token,就是剛才用到的密鑰,為什么要單獨(dú)說這個(gè)密鑰呢?因?yàn)樗鼤?huì)用到云函數(shù)特別有意思的功能,那就是定時(shí)觸發(fā)器。由于這個(gè)密鑰是有兩個(gè)小時(shí)有效期的,我們?cè)O(shè)定一個(gè)小時(shí)間隔定時(shí)刷新,保存到數(shù)據(jù)庫中,用的時(shí)候直接從數(shù)據(jù)庫中取出來就可以了,這樣可以保證密鑰永遠(yuǎn)是不過期的。

如何不用服務(wù)器來開發(fā)一個(gè)小游戲

通過云開發(fā),為微信接口準(zhǔn)備的中轉(zhuǎn)服務(wù)器就不需要了;更重要的是,服務(wù)端與微信接口分離,無需關(guān)心客戶端場景。不管這個(gè)客戶端,是來自h6游戲,還是來自小游戲環(huán)境,對(duì)于服務(wù)端來說,都是一樣的,再也不需要為客戶端提供這樣那樣的權(quán)限接口。

2、云函數(shù)+數(shù)據(jù)庫,實(shí)現(xiàn)全局排行榜功能

正如前面提到的痛點(diǎn),小游戲開發(fā)對(duì)服務(wù)端的另一個(gè)依賴是游戲功能的實(shí)現(xiàn)。對(duì)于大部分小游戲來說,我們唯一用到服務(wù)端的地方就是:保存用戶數(shù)據(jù),展示一個(gè)世界排行榜。而如果用傳統(tǒng)服務(wù)器實(shí)現(xiàn)這些功能的話,你會(huì)發(fā)現(xiàn)需要了解的后端架構(gòu)知識(shí)非常龐大。

有次,我到服務(wù)端同學(xué)的旁邊,原本是打算diss他的,因?yàn)槲夜δ芤呀?jīng)寫完了,他還不知道在忙些什么東西。這時(shí)我看到他在做什么呢 —— 一邊寫dockfile文件,一邊寫linux命令,一邊打開Postman調(diào)試,完了后發(fā)郵件給運(yùn)維說要執(zhí)行幾個(gè)mysql語句。

而所有這些都還沒有涉及到他要開發(fā)的游戲功能!

所以說,一門后端語言從會(huì)寫,到可以放到生產(chǎn)環(huán)境中,是兩個(gè)完全不一樣的概念。

云開發(fā)提供了數(shù)據(jù)庫、云函數(shù)、云存儲(chǔ),通過這些能力,我們完全可以取代服務(wù)器來實(shí)現(xiàn)游戲功能。

在《樂享花園》里,我們通過云開發(fā)實(shí)現(xiàn)了全民成語接龍這個(gè)游戲功能,并且只用了2個(gè)云函數(shù)就實(shí)現(xiàn)了我們對(duì)服務(wù)器的全部需求。這里簡單介紹一下這兩個(gè)云函數(shù):

第一個(gè)云函數(shù)是用來展示世界排行榜。由于云函數(shù)拉取數(shù)據(jù)庫的條目是有限制的,大是100條,其實(shí)這個(gè)已經(jīng)足夠滿足需求了;當(dāng)然了,你要說我們的客戶端很牛,性能不是問題,數(shù)據(jù)什么的先給我來個(gè)2000條,也不是不可以,這里做個(gè)處理就可以了。

另外在檢索數(shù)據(jù)庫數(shù)據(jù)時(shí),這個(gè)過程會(huì)很慢,一定要記得,在后臺(tái)添加數(shù)據(jù)庫索引,可以把這個(gè)過程理解為通過磁盤換取CPU計(jì)算。這樣速度會(huì)快很多。

如何不用服務(wù)器來開發(fā)一個(gè)小游戲

第二個(gè)云函數(shù)是用來上報(bào)玩家數(shù)據(jù)。這個(gè)比較簡單,一行代碼搞定。

如何不用服務(wù)器來開發(fā)一個(gè)小游戲

就這樣從微信接口調(diào)用,到游戲功能開發(fā),一款不需要服務(wù)器的小游戲就全部開發(fā)完成了。

小結(jié)


其實(shí),云開發(fā)可以使用的業(yè)務(wù)場景,還有很多,比如,

繞過微信https域名請(qǐng)求限制

存放游戲的全局設(shè)置

保存玩家的個(gè)性化數(shù)據(jù)

。。。

作為開發(fā)者,也希望云開發(fā)未來,可以提供更多的業(yè)務(wù)場景支持,比如

websocket,剛才說的聊天服務(wù)器,就可以省掉了;

幀同步,實(shí)時(shí)對(duì)戰(zhàn)類游戲的實(shí)現(xiàn),就不再有壓力;

日志服務(wù),方便統(tǒng)計(jì),和排查玩家的行為,方便游戲迭代優(yōu)化;

大數(shù)據(jù)統(tǒng)計(jì)分析,可以做一些事件漏斗等等~

這樣小游戲的研發(fā)門檻,就降得很低很低了!

如果你有關(guān)于使用云開發(fā)TCB相關(guān)的技術(shù)故事/技術(shù)實(shí)戰(zhàn)經(jīng)驗(yàn)想要跟大家分享,歡迎留言聯(lián)系我們哦!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


名稱欄目:如何不用服務(wù)器來開發(fā)一個(gè)小游戲-創(chuàng)新互聯(lián)
當(dāng)前鏈接:http://weahome.cn/article/diisgo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部