開發(fā)者該如何抓住微信小游戲的風(fēng)口?

針對(duì)微信小游戲進(jìn)行了技術(shù)方面的介紹。此次課程主要介紹了微信小游戲的基本架構(gòu),并對(duì)相關(guān)開發(fā)知識(shí)、開發(fā)環(huán)境以及資源管理等方面進(jìn)行了干貨分享。

以下為課程內(nèi)容整理:
今天我們?cè)谙M虼蠹曳窒硪幌滦∮螒虻母耪?,主要包括一些入門的相關(guān)知識(shí)。我們將內(nèi)容分成了6個(gè)部分,分別是:
1.如何正確了解小游戲?
2.小游戲開發(fā)需要哪些知識(shí)?
3.小游戲開發(fā)環(huán)境
4.小游戲的資源管理
5.HTML 5發(fā)布為小游戲
6.小結(jié)

一、正確理解小游戲

圖片
為方便大家理解,第一部分先講一下小游戲到底是什么。
圖片
相信這個(gè)群里的所有聽眾基本上都不會(huì)對(duì)這幾款小游戲感到陌生。目前整體來(lái)看,第一波上線的小游戲更多以休閑類為主。例如《跳一跳》,應(yīng)該是目前最流行的產(chǎn)品,雖然它只是一款單機(jī)。
此外,除棋牌類游戲,能夠支持好友對(duì)戰(zhàn)功能的只有《歡樂(lè)坦克大戰(zhàn)》和《Q寵大樂(lè)斗》兩款產(chǎn)品。
當(dāng)然,對(duì)于棋牌來(lái)說(shuō),小游戲可能也會(huì)為其帶來(lái)一波新浪潮。近一段時(shí)間棋牌類游戲由于房卡棋牌等模式的興起也非常流行,小游戲上線后,大家拉個(gè)群,發(fā)一個(gè)小游戲的鏈接,就可以進(jìn)行游戲了。這種便利會(huì)給棋牌行業(yè)帶來(lái)很大的增益。
圖片
這張圖應(yīng)該可以反映目前所有的小游戲用戶入口,可以分成4類:
1.聊天入口。用戶可以將小游戲分享鏈接直接推到群聊或與朋友的會(huì)話中,直接將他們拉進(jìn)小游戲中。
2.搜索入口。玩家可以通過(guò)下拉微信聊天記錄,或在專門的小程序頁(yè)面對(duì)特定小游戲進(jìn)行搜索。若想利用這個(gè)入口,游戲需要有較好的口碑,當(dāng)然如果名字起得太長(zhǎng)太難,可能也會(huì)影響這個(gè)入口的使用效果。
3.微信小游戲列表入口。玩家可以去這個(gè)列表中去尋找、發(fā)現(xiàn)新的小游戲。
4.朋友圈。從我的直覺來(lái)看,這個(gè)入口與聊天入口將會(huì)是最重要的2個(gè)小游戲入口。但是通過(guò)群聊的聊天分享,我認(rèn)為是比朋友圈更重要的入口。也就是小游戲立項(xiàng)的時(shí)候務(wù)必、務(wù)必要做好通過(guò)社交拉新用戶進(jìn)入游戲的設(shè)計(jì)。
在小游戲里,除了游戲本身的邏輯開發(fā)和引擎使用外,對(duì)微信目前開放社交API的使用,以及怎樣去設(shè)計(jì)社交,都會(huì)對(duì)游戲的傳播效果造成影響。分享點(diǎn)的刺激是有講究的,在早期游戲里,游戲更多是以“戰(zhàn)力”、“等級(jí)”這些數(shù)值向的設(shè)計(jì)分享點(diǎn),而現(xiàn)在,游戲分享點(diǎn)則更多在于“情感之上”,這些都是在游戲設(shè)計(jì)過(guò)程中值得思考的內(nèi)容。提醒一點(diǎn),80后和90后觸發(fā)分享的情感點(diǎn)是不一樣的,我不能說(shuō)更多,但是游戲制作人自己應(yīng)該加以揣摩。
圖片
回到小游戲上,在講技術(shù)之前,我們要去理解小游戲的趨勢(shì)架構(gòu)是如何的。小游戲不等于原生游戲,也不等于HTML 5游戲。現(xiàn)在一些媒體經(jīng)常會(huì)講:“小游戲是H5游戲的春天?!眹?yán)格來(lái)說(shuō),這么講不是太準(zhǔn)確。
標(biāo)準(zhǔn)的 HTML 5 游戲是什么呢?標(biāo)準(zhǔn)H5游戲是Facebook Instant Games、愛微游、QQ空間的那些游戲 。這些是在瀏覽器里跑H5的游戲;但是小游戲本質(zhì)是Runtime游戲,它跟小程序類似,結(jié)構(gòu)是小程序+游戲庫(kù)API。
在這個(gè)架構(gòu)之上,他會(huì)有更多優(yōu)勢(shì)。首先它會(huì)比H5游戲更穩(wěn)定;其次小游戲跳出重進(jìn)后,用戶不用像在H5游戲里那樣進(jìn)行重新登錄;另外小游戲可以調(diào)用微信的原生用戶,在轉(zhuǎn)發(fā)、支付等方面也固定了接口,可以說(shuō)對(duì)整個(gè)微信生態(tài)建設(shè)是有很大幫助的。當(dāng)然對(duì)于我們來(lái)說(shuō)一定要注意的是,雖然小游戲的調(diào)試環(huán)境是在瀏覽器當(dāng)中,但這只是其 HTML 5 兼容性的體驗(yàn),它真正在微信當(dāng)中時(shí)是用 Runtime的。
我們自己很清楚H5和小游戲之間在技術(shù)結(jié)構(gòu)上的差異,但現(xiàn)在如果說(shuō)小游戲不是H5游戲又會(huì)被人噴,于是我們今天發(fā)明了一個(gè)新名詞:HTML 5 技術(shù)棧。它包含了所有純H5和類H5的技術(shù)解決方案。
圖片
《拳皇命運(yùn)KO不服》由國(guó)外引擎Createjs制作;《全民大樂(lè)斗》是目前唯一一款帶有成長(zhǎng)元素的小游戲,由Laya引擎制作
這張圖我想表達(dá)的是,在原生游戲中,可能還有一些游戲在用自研引擎來(lái)制作,但在小游戲中,已經(jīng)沒(méi)有自研引擎的身影了。所以不管是國(guó)內(nèi)的Cocos、Laya、Egret這些H5引擎,還是用國(guó)外的Phaser、Createjs,基本上都是可以直接用的。
需要注意,特別是小公司,大家最好使用已經(jīng)被微信適配證明過(guò)的引擎,特別是現(xiàn)在微信小游戲開發(fā)文檔只有中文版本,海外的引擎可能并不能幫助你多少,除非你的研發(fā)團(tuán)隊(duì)能吃透他們的英文文檔而且忍受帶時(shí)差的論壇技術(shù)支持。而且在這次上線的游戲中,除了華夏樂(lè)游與飛魚科技外,其他都是騰訊自研的,你不知道他們?cè)谘邪l(fā)過(guò)程中究竟踩了多少坑,改了多少東西。
圖片
對(duì)于3種游戲的對(duì)比,我來(lái)嚴(yán)格列舉一下他們之中區(qū)別。首先,他們的入口都不同,這也就代表了它們的用戶屬性是不同的。比如,可能很多小游戲用戶并不是原生游戲玩家,作為非玩家它們對(duì)于游戲產(chǎn)品的需求也會(huì)與玩家不太一樣,對(duì)于“VIP1-VIP15”、“首充大禮包”、“首充3倍”,它們或許就不會(huì)那么敏感。當(dāng)然,這些都是值得去繼續(xù)揣摩的事情。
在流量成本上,小游戲和HTML 5的崛起有一定原因源于其低于原生游戲的流量成本。實(shí)際上游戲品類沒(méi)有什么變化,變的是流量成本,當(dāng)某一模式的流量成本過(guò)高了,行業(yè)就會(huì)有動(dòng)力去挖掘一個(gè)新平臺(tái),去獲取一批新的游戲用戶。PC端游到PC頁(yè)游,PC頁(yè)游到手機(jī)原生、再到手機(jī)頁(yè)游,表面上看是一件技術(shù)驅(qū)動(dòng)市場(chǎng)變化的事情,但本質(zhì)上是流量成本驅(qū)動(dòng)技術(shù)迭代、進(jìn)而驅(qū)動(dòng)市場(chǎng)變化。這個(gè)本質(zhì)要理解清楚。
在開發(fā)的時(shí)候,CP也要注意性能的約束。純H5游戲在性能和占用內(nèi)存上都是約束性最高的,所以如果往往H5游戲做小游戲移植版本,不論用哪個(gè)引擎,適配工作都會(huì)進(jìn)展得相對(duì)順利。當(dāng)然需要注意,諸如CSS、DOM是不能用于小游戲開發(fā)的。但是反過(guò)來(lái),如果你移植一款手機(jī)原生游戲到微信小游戲,就得非常小心內(nèi)存使用的問(wèn)題了。
我出于個(gè)人技術(shù)傾向、項(xiàng)目歷史的原因,非常強(qiáng)烈地不喜歡那些通過(guò)編譯器去轉(zhuǎn)化不同編程語(yǔ)言的方案,因?yàn)檫@些方案并不「自然」,表面上看是省了很多移植開發(fā)量,但在調(diào)試和優(yōu)化階段會(huì)有無(wú)數(shù)的坑等著你。所以最優(yōu)的方案,我仍然建議大家用 JavaScript 重新移植游戲,不論你的原生游戲是Cocos C++, Lua還是Unity的。

二.小游戲開發(fā)商需要哪些知識(shí)?

圖片
接下來(lái)我來(lái)講述一下小游戲的相關(guān)知識(shí),希望能夠幫助大家能夠順利上手開發(fā)。
圖片
這張圖是小游戲目前可以使用的技術(shù)棧。最上層是各家游戲引擎,經(jīng)過(guò)微信驗(yàn)證后,都是可以提供給大家嘗試的。中間一層是小游戲的底層,是小游戲所借助的 HTML 5 的技術(shù)棧。
為什么說(shuō)它是 HTML 5 技術(shù)棧?因?yàn)樾∮螒虿](méi)有完全使用 HTML 5 標(biāo)準(zhǔn),它只是模擬這些的接口,從而更好地完成 HTML 5 向小游戲的移植工作。最下面這部分是微信自己的API,之后會(huì)對(duì)它進(jìn)行展開講解。
圖片
首先是底層的技術(shù),它包括JavaScript代碼和Canvas 2D、WebGL 1.0的API。這2個(gè)API都是和Web上的API是一致的,這也是微信想要拉攏H5開發(fā)者所作出的努力。微信同樣也很快地與國(guó)內(nèi)的幾個(gè)主要引擎商進(jìn)行了合作,讓各家引擎可以第一時(shí)間支持微信小游戲的發(fā)布。同時(shí)微信小游戲Runtime也開發(fā)了一個(gè)Adapter,并且移植了一些海外諸如Phaser, Three.JS, CreatreJS等H5引擎到小游戲環(huán)境里面。
圖片
上層我們建議大家通過(guò)游戲引擎來(lái)開發(fā),這是出于對(duì)成本的考量,因?yàn)橛螒蛞婵梢詾榇蠹冶M可能縮短研發(fā)周期、降低項(xiàng)目成本和風(fēng)險(xiǎn)?,F(xiàn)在微信所試驗(yàn)過(guò)的就是上圖所列出的6個(gè)引擎,這些大家都是可以去嘗試的。
圖片
除此之外還有微信小游戲的SDK,這些雖然是是微信所提供最底層的東西,但實(shí)際上是除去引擎外大家需要去關(guān)注的部分。在游戲玩法邏輯研發(fā)之外,這些接口都是要去研究的,這才能讓游戲擁有更好的社交玩法。具體這些接口的詳細(xì)功能大家可以參閱微信的文檔。目前可以看到,僅小游戲所擁有的直接分享功能和即點(diǎn)即玩的特性讓它在傳播和進(jìn)入門檻上都擁有極大的潛力。
圖片
這是《跳一跳》和《星途Go》好友排行榜的例子,包括游戲里的排行榜和每個(gè)關(guān)卡的排行榜。
圖片
這個(gè)例子是《坦克大戰(zhàn)》中的邀請(qǐng)對(duì)戰(zhàn),當(dāng)你把邀請(qǐng)發(fā)到群里后,進(jìn)入的玩家可以選擇陣營(yíng),形成3對(duì)3模式。
圖片
直接接受邀請(qǐng)是微信所做的最大創(chuàng)新。在原生游戲中,玩家點(diǎn)擊邀請(qǐng)鏈接后首先要下載安裝,之后還要互加好友,隨后才可以進(jìn)行匹配,整體流程路徑很長(zhǎng),流量轉(zhuǎn)化成本也很高。然而在小游戲場(chǎng)景下,當(dāng)你的好友點(diǎn)開你的分享鏈接后,可以直接進(jìn)入游戲,這是一個(gè)突破,大家需要在這方面考慮更多。
我剛剛仔細(xì)檢查了一下微信小游戲的API,有轉(zhuǎn)發(fā)邀請(qǐng),但是并沒(méi)有獲取其他微信好友昵稱、備注名、分?jǐn)?shù)的排行榜API。大家可以再檢查確認(rèn)一下,如果的確是在今天沒(méi)有這個(gè)公開的API,那么游戲設(shè)計(jì)為好友排行榜競(jìng)爭(zhēng)的玩法時(shí)候則需要注意一下。不過(guò)目前在騰訊游戲中都可以使用,未來(lái)這個(gè)API也有可能會(huì)出現(xiàn)。

三.小游戲開發(fā)環(huán)境

圖片
接下來(lái)我會(huì)進(jìn)入更加技術(shù)的一個(gè)環(huán)節(jié),讓大家更了解如何去適應(yīng)小游戲的開發(fā)環(huán)境。
圖片
這張圖是小游戲的運(yùn)行框架,它不是微信官方給出的,是我們自己分析得出的。首先,最底層是iOS安卓的硬件、系統(tǒng)等內(nèi)容,這些提供了系統(tǒng)層級(jí)別接口。微信在這基礎(chǔ)上開發(fā)了微信安卓版和iOS版,其中包含了包括用戶、支付、文件、多媒體等各種模塊。
然而在在這樣一個(gè)原生應(yīng)用中,沒(méi)有瀏覽器的加持H5程序又怎樣運(yùn)行JavaScript代碼呢?這是通過(guò)JS VM在安卓上集成V8引擎,在iOS上集成JavaScript Core引擎去執(zhí)行JS代碼的。
微信僅僅執(zhí)行JS代碼還不足以讓開發(fā)者的小程序運(yùn)行起來(lái),因?yàn)殚_發(fā)者所調(diào)用的用戶轉(zhuǎn)發(fā)文件系統(tǒng)這些接口都是不存在于JS VM中的。實(shí)際上,它是通過(guò)綁定的接口來(lái)講微信原生接口橋接到JS接口上的。當(dāng)你調(diào)用這些JS接口時(shí),實(shí)際上就是在調(diào)用原生接口來(lái)達(dá)成功能。如果大家對(duì)綁定技術(shù)感興趣,可以去關(guān)注我們開源的JSB技術(shù),這也是目前游戲引擎當(dāng)中唯一開源的實(shí)現(xiàn)技術(shù)。
這里我們就不深入細(xì)講了,繼續(xù)討論微信小游戲是怎樣提供接近于瀏覽器環(huán)境以及怎樣跟游戲引擎相結(jié)合。
圖片
圖片
圖片
總結(jié)一下,微信的三大接口:
1.渲染接口
2.微信功能接口
3.Adapter接口
圖片
除了抹除瀏覽器和小游戲之間的差異外,游戲引擎還可以帶來(lái)成本上的巨大降低。就像上圖寫的,成本降低主要來(lái)自于3個(gè)方面:
1.Framework中,當(dāng)我們游戲引擎封裝了更高層的API,開發(fā)游戲會(huì)更加便利,這就使得人力成本降低
2.編輯器層面中,一個(gè)好的編輯器可以明顯提高程序、美術(shù)、策劃之間的協(xié)同效率。
3.在兼容性層面中,游戲引擎帶來(lái)的設(shè)備兼容性和穩(wěn)定運(yùn)行效率可以降低大家的維護(hù)成本,加上剛才提到的跨平臺(tái)能力,可以給大家?guī)?lái)更強(qiáng)大的渠道和流量。
所有這些人力成本、維護(hù)成本的降低以及跨平臺(tái)所帶來(lái)的豐富流量,可以讓大家的項(xiàng)目以更低的開發(fā)成本完成游戲,繼而盈利。
圖片

四.小游戲的資源管理

圖片
第四個(gè)部分,我想分享的是小游戲的資源管理,這是小游戲目前和瀏覽器環(huán)境差異最大的另一個(gè)方面。
圖片
首先為大家介紹一下小游戲資源管的分布方式。大家如果使用過(guò)開發(fā)者工具的話會(huì)注意到,當(dāng)你開發(fā)一個(gè)小游戲的時(shí)候,你如果點(diǎn)預(yù)覽,它會(huì)有一個(gè)上傳的過(guò)程,之后掃它提供的二維碼就可以測(cè)試這個(gè)小游戲。實(shí)際上這個(gè)上傳的過(guò)程就是將你的小游戲包上傳到CDN內(nèi)。在你的用戶掃這個(gè)二維碼時(shí),實(shí)際上是從微信的CDN下載這個(gè)小游戲包到他的手機(jī)上,并執(zhí)行。
這是最簡(jiǎn)單的版本,讓我們來(lái)看一下相對(duì)復(fù)雜一點(diǎn)的。
圖片
微信小游戲?yàn)榱四軌蛱嵘装虞d速度,將包體限制在了4M,這顯然對(duì)很多HTML 5 游戲來(lái)說(shuō)是不足夠的。所以大家就需要將一些資源文件放到自己的遠(yuǎn)程服務(wù)器中。也就是這張圖所體現(xiàn)的訪問(wèn)關(guān)系:當(dāng)用戶掃你二維碼的時(shí)候,會(huì)讓小游戲包下載到微信,然后微信內(nèi)小游戲包代碼在執(zhí)行過(guò)程中會(huì)請(qǐng)求遠(yuǎn)程服務(wù)器資源。
不同用戶會(huì)將不同的資源下載到他自己的沙河環(huán)境當(dāng)中,并且不同小游戲之間的資源緩存也是相互分割的。這樣就可以保障不同用戶和不同小游戲間的資源不會(huì)互相沖突。
圖片
H5開發(fā)者會(huì)非常在意首場(chǎng)景的加載體驗(yàn),微信小游戲也非常需要注意這一點(diǎn)。小游戲在下載過(guò)程中會(huì)將包首先完整下載,然后才會(huì)進(jìn)行詳細(xì)的代碼完整初始化。在初始化之后再去加載遠(yuǎn)程資源,再去啟動(dòng)場(chǎng)景。
這與瀏覽器有很大的區(qū)別。瀏覽器永遠(yuǎn)是按需加載,當(dāng)它需要一個(gè)資源的時(shí)候才會(huì)加載一個(gè)資源。所以大家一定要在小游戲當(dāng)中控制好自己的包體大小。
圖片
經(jīng)過(guò)一段時(shí)間研究并與微信團(tuán)隊(duì)進(jìn)行溝通后,我們得出了一個(gè)目前較好的資源解決方案。我們會(huì)將代碼包放在小游戲包內(nèi),所有的資源都放在開發(fā)者的Server上。這樣,當(dāng)代碼請(qǐng)求某個(gè)資源時(shí),就會(huì)動(dòng)態(tài)進(jìn)行動(dòng)態(tài)下載,這樣才能滿足按需加載的需求。
圖片
我們這樣做的原因是,小游戲環(huán)境是實(shí)際上是沒(méi)有類似瀏覽器的緩存和資源過(guò)期機(jī)制的。 在瀏覽器中,當(dāng)用戶請(qǐng)求一個(gè)頁(yè)面時(shí),第一次請(qǐng)求會(huì)下載所有資源,一段時(shí)間后,第二次請(qǐng)求時(shí)它會(huì)自動(dòng)檢查所有資源是否過(guò)期,如果沒(méi)有過(guò)期則會(huì)從本地緩存空間中下載該資源,這對(duì)于開發(fā)者和用戶都是透明的。但小游戲沒(méi)有這樣的機(jī)制,所以當(dāng)你的信息再去請(qǐng)求資源時(shí),每次都會(huì)重新下載該資源,不管你這個(gè)資源此前下載過(guò)多少次。所產(chǎn)生耗電量和加載時(shí)間對(duì)于用戶來(lái)說(shuō)都是不可接受的,所以我們?cè)贑ocos Creator當(dāng)中內(nèi)建了一個(gè)更完整的解決方案。
如何去處理資源過(guò)期的問(wèn)題呢?如果說(shuō)資源URL是完全一致的話,在邏輯當(dāng)中是不會(huì)下載新資源的,這就會(huì)導(dǎo)致Bug。我們所推薦的解決方案是,在Cocos Creator打包時(shí)會(huì)有一個(gè)“MD5 CASH”選項(xiàng),勾選后我們會(huì)為所有文件名打上MD5碼。這樣當(dāng)文件更新后,文件名就會(huì)變化,這就一款為服務(wù)端URL會(huì)變化,這時(shí)代碼包在請(qǐng)求時(shí)就會(huì)被認(rèn)定為一個(gè)新的資源,這樣就完成了資源緩存和更新機(jī)制。
同時(shí)我們還提供了API讓開發(fā)者刪除資源緩存,這樣在大版本更新時(shí),如果緩存資源過(guò)多,你就可以先去清除緩存,然后再去更新所有資源。
當(dāng)然,用戶如果覺得我們的資源管理方案不太適合你,你也可以去自己設(shè)計(jì)一個(gè)合適自己的資源管理方案。這些方案所以來(lái)的API微信都有提供,即微信文件API和微信網(wǎng)絡(luò)API。網(wǎng)絡(luò)API可以讓用戶將文件下載到緩存空間中;文件API可以支持文件的重命名、刪除等操作。

五.HTML 5游戲發(fā)布為小游戲

圖片
相信很多朋友關(guān)注的是,如果我已經(jīng)有H5游戲了,我怎樣把這個(gè)H5游戲發(fā)布到小游戲當(dāng)中。這個(gè)其實(shí)是微信團(tuán)隊(duì)非常關(guān)注的事情,他們希望大家的H5游戲可以去針對(duì)微信做了社交玩法后發(fā)布到微信小游戲環(huán)境當(dāng)中。我們繼續(xù)以Cocos Creator為例來(lái)看如何將已有游戲發(fā)布到小游戲。
圖片
這張圖是我們編輯器的截圖,在這里面可以去編輯場(chǎng)景、UI,可以進(jìn)行資源的管理、發(fā)布、打包。
圖片
用Cocos發(fā)布小程序需要這幾個(gè)步驟:
1.你可以從你的小程序公眾平臺(tái)上找到App ID并輸入,然后將發(fā)布平臺(tái)修改為WechatGame。
2.點(diǎn)擊右下角build構(gòu)建,你就會(huì)看到下面這個(gè)界面:
圖片
4.當(dāng)調(diào)起微信開發(fā)者工具之后,你就可以做預(yù)覽操作,在手機(jī)上測(cè)試微信小游戲了。

六.小結(jié)

圖片
總結(jié)一下知識(shí)點(diǎn)。
首先,微信提供游戲上的支持,并且提供了龐大用戶基礎(chǔ)和用戶分享API,這肯定會(huì)催生出完全不同的游戲體驗(yàn)。我認(rèn)為社交性玩法在微信上會(huì)有更大的發(fā)揮空間,會(huì)比以往的社交平臺(tái)都要大。
其次,我們講到了微信小游戲和瀏覽器環(huán)境的2大差異:API支持和資源加載。
另外,我們推薦大家使用游戲引擎,加速游戲的開發(fā)和迭代,從而降低產(chǎn)品風(fēng)險(xiǎn)。
同時(shí),小游戲、手機(jī)頁(yè)游、PC頁(yè)游其實(shí)都依賴于HTML 5 的技術(shù)棧,包括Cocos Creator原生發(fā)布也都依賴于此。HTML 5 引擎提供了基于HTLM 5技術(shù)棧的跨平臺(tái)發(fā)布,為大家提供了更多選擇和可能性。
圖片
今天我們所說(shuō)的HTML 5技術(shù)棧包括手機(jī)頁(yè)游、手機(jī)原生和PC頁(yè)游。手機(jī)頁(yè)游包括QQ空間、微信小游戲、厘米秀這些Runtime方案,F(xiàn)acebook Instant Games這種純H5方案以及愛微游、瘋狂游樂(lè)場(chǎng)這些H5渠道等。手機(jī)原生包括各種JSB、Runtime打包游戲、微端游戲等。第三個(gè)是PC頁(yè)游,因?yàn)镕lash之前宣布2020年停止更新,所以很多PC頁(yè)游上的Flash游戲現(xiàn)在也在轉(zhuǎn)成HTML 5 游戲。
簡(jiǎn)單計(jì)算一下,我用手機(jī)原生游戲市場(chǎng)規(guī)模除以PC端游規(guī)模,再乘以PC頁(yè)游規(guī)模,粗略算出手機(jī)頁(yè)游的市場(chǎng)空間可以打到每年280億人民幣。如果說(shuō),手機(jī)頁(yè)游和PC頁(yè)游互為此消彼長(zhǎng)的話,向上取整則可能會(huì)有500億的市場(chǎng)空間。中國(guó)游戲產(chǎn)業(yè)規(guī)模占全球游戲市場(chǎng)的25%,當(dāng)然這個(gè)數(shù)還在上升,算上這一方面,H5技術(shù)棧可以支撐全球手機(jī)頁(yè)游 + 部分手機(jī)原生 + PC頁(yè)游市場(chǎng),理論市場(chǎng)容量上限可以達(dá)到2000億人民幣。所以說(shuō),現(xiàn)在做這方面的技術(shù)儲(chǔ)備其實(shí)是非常有價(jià)值的。

Q&A環(huán)節(jié)

1.作為個(gè)人開發(fā)者,利用微信的用戶和支付功能,而不是將微信作為一個(gè)引流工具,能否從游戲中獲得較好的收益?另外,Cocos和微信支付對(duì)接中是否有坑?
關(guān)于支付:微信小游戲目前還沒(méi)有與iOS打通,具體什么時(shí)候打通我也不太清楚。所以說(shuō)能否從游戲中獲得較好的收益,這個(gè)問(wèn)題應(yīng)該由微信來(lái)回答,因?yàn)檫@些數(shù)據(jù)如今都是保密的,包括DAU、留存率、安卓目前的收益率、用戶畫像,像用戶畫像是需要你們?nèi)プ约鹤聊サ摹?/div>
關(guān)于引流:我不確認(rèn)微信是否允許這么做。但這肯定不是微信小游戲團(tuán)隊(duì)希望看到的結(jié)果
2.微信小游戲的優(yōu)勢(shì)和劣勢(shì)有哪些?如何繞開劣勢(shì)?
當(dāng)前劣勢(shì)可能還是在于對(duì)非游玩家特點(diǎn)的理解上。我認(rèn)為大部分微信小游戲用戶很可能原來(lái)并不是傳統(tǒng)意義上的游戲玩家。這些玩家的游戲化需求、情感、樂(lè)趣,都和我們以往理解的手游玩家不一樣。當(dāng)然我認(rèn)為也不能把這一點(diǎn)完全看成劣勢(shì),因?yàn)榫退闶欠怯螒蛲婕乙彩怯杏螒蚧枨蟮?。?wèn)題關(guān)鍵在于怎樣正確理解、切入、服務(wù)這些大量的非游戲用戶?,F(xiàn)在小游戲剛剛起步,所有人都在摸索這件事情,誰(shuí)能先利用好這個(gè)平臺(tái)的用戶特點(diǎn),誰(shuí)就能成為這個(gè)新領(lǐng)域的巨頭。
3.目前包括已上線的十幾款小游戲都是以輕度休閑為主,處于試水階段,如何看待重度網(wǎng)游在小程序的發(fā)展?jié)摿颓熬埃?/div>
我從2個(gè)方向來(lái)講。
首先,其實(shí)在PC頁(yè)游發(fā)展上也可以看到,都是從休閑游戲(偷菜搶車位、抓奴隸)開始的,再將用戶培養(yǎng)到一定程度后才慢慢出現(xiàn)重度頁(yè)游。手機(jī)頁(yè)游也是如此,不要想著第一天就可以直接跳躍到重度游戲。行業(yè)發(fā)展規(guī)則必然是要先去培養(yǎng)和教育用戶,然后再過(guò)渡到做中度、重度游戲,我認(rèn)為不會(huì)有非常快的跳躍。
其次,微信小游戲很多玩家都是非游戲玩家,他們目前對(duì)于重度游戲可能并不會(huì)很感冒。如果是重度游戲玩家,他為什么要去玩小游戲?到底小游戲用戶里有多少是重度玩家?重度玩家為什么要玩微信小游戲,而不是已有的《傳奇霸業(yè)》《奇跡MU覺醒》等重度的微信精品游戲,理由是什么?這現(xiàn)在都是需要去摸索和探討的問(wèn)題。其實(shí)就算是Facebook Instant Games目前也是主要由輕度休閑游戲組成的。
其實(shí)就現(xiàn)在PC平臺(tái)來(lái)看,目前很多PC端游的品類也沒(méi)有完全移到頁(yè)游上面,典型如FPS、MOBA游戲,在PC頁(yè)游上是看不到的。平臺(tái)屬性還是天然就決定了的。端游和PC端游的用戶場(chǎng)景是不同的,像之前很多掛機(jī)類頁(yè)游之所以能崛起,就是因?yàn)樵诤芏鄨?chǎng)景下用戶不具備安裝客戶端的條件,同時(shí)也無(wú)法投入過(guò)多精力去進(jìn)行端游,比如在辦公室中。目前來(lái)看,手機(jī)原聲游戲和手機(jī)頁(yè)游的用戶場(chǎng)景確實(shí)有所重疊,但這都需要進(jìn)一步地探討并優(yōu)化。
4.小程序?qū)Τ跏及笮∠拗票容^嚴(yán)格,目前看官方的《四川麻將》感覺很粗糙,如何突破這個(gè)限制?
初始包大小限制就是4M。粗不粗糙和初始包大小是沒(méi)有關(guān)系的,你可以首場(chǎng)景加載4M初始包 + 10M資源,只不過(guò)加載速度會(huì)慢而已,你的代碼加載更多也沒(méi)有問(wèn)題。我認(rèn)為可能《四川麻將》粗糙的原因可能在于開發(fā)者更多考慮了用戶的等待時(shí)間體驗(yàn)。我們也是建議盡量控制首場(chǎng)景的大小,在之后的游戲中逐漸加載更多資源,為用戶提供一種漸進(jìn)加載的游戲體驗(yàn)。
5.微信小游戲不支持熱更新了嗎?
熱更新在 HTML 5 游戲中是不存在的,因?yàn)槭菦](méi)有本地文件的,你永遠(yuǎn)可以更新自己的服務(wù)器內(nèi)容,讓用戶得到更新的資源。對(duì)于小游戲來(lái)說(shuō)最關(guān)鍵的是,你能不能熱更新你的代碼包。你的代碼包會(huì)存儲(chǔ)在微信CDN中,你必須向微信CDN提交更新申請(qǐng),至于具體的審核過(guò)程,還需要看后面微信官方所給出的具體方案。
6.小游戲內(nèi)存控制在多少比較合適?
這需要看用戶手機(jī)的硬件情況,開發(fā)者可以做的就是盡量控制不要讓內(nèi)存占用持續(xù)增長(zhǎng),維持在某一個(gè)峰值以下。我認(rèn)為控制在100M以下比較安全。H5游戲一般是控制在150M以內(nèi),200M也是可以跑,但不安全。安卓一般內(nèi)存會(huì)比蘋果手機(jī)要大,所以在測(cè)試的時(shí)候優(yōu)先測(cè)試蘋果手機(jī),尤其是 iPhone 6,如果沒(méi)有崩潰現(xiàn)象,基本上就是可以了。