• <nav id="yisao"><rt id="yisao"></rt></nav>
  • Cocos 技術派 06 | 重度小游戲《三國封魔傳》技術實現方案

    在 3 月 29 日結束的 Cocos 開發者沙龍北京站的現場,來自北京飯團網絡科技有限公司的工程師凌風,以公司旗下卡牌策略重度小游戲《三國封魔傳》為案例,從游戲產品架構設計、產品本身戰斗機制、開發過程中遇到的技術難點及解決方案三個方面,向與會開發者分享了重度小游戲產品的技術實現方案,引起了在場開發者的熱烈討論。


    今日,Cocos 將凌風的演講內容整理成文,沒有去到沙龍現場的開發者也可以了解技術干貨啦!除此之外,凌風還接受了 Cocos 的專訪,一起來了解看看吧!

    一、游戲介紹

    《三國封魔傳》采用卡牌回合對戰的玩法,三國題材寫實畫風,經典武將和裝備養成系統,游戲內置豐富的劇情和資源副本,另外還有世界BOSS、爬塔、剿匪、工會戰、跨服戰等特色玩法,武將搭配,陣容布置,技能克制等重要技巧都是勝負的所在,十分考驗玩家對游戲的理解和認知。

    目前已在微信小游戲等平臺上線,獲得許多玩家喜愛。在當前版號難得的情況下,這款小游戲版號資質齊全,這也就意味著,游戲除了廣告變現之外,還可以開啟內購付費變現。

    根據游戲制作人的介紹,目前游戲內自然增長渠道的付費用戶 ARPU(ARPPU)截至目前已突破 70 元,且仍在不斷攀升,用戶付費滲透率較高,隨著產品質量的不斷打磨精進、后期運營的不斷深入,上述數據有望再提升 3-5 倍。

    二、技術實現方案

    工程師:凌風

    《三國封魔傳》是一款基于 Cocos Creator 制作的卡牌回合制游戲,產品類型和市面上前兩年流行的卡牌回合制游戲很相似。預計主要發行于各廠家的小游戲平臺和各種快應用平臺,目前在微信小游戲和頭條小游戲可見。游戲的特點:融合了推本,爬塔,PVP,BOSS 戰,剿匪以及眾多的養成鏈。

    傳統的卡牌游戲,很多使用 CocosStudio + lua 開發,本產品則是使用 Cocos Creator+ts 制作。

    這樣完美實現跨平臺,支撐運營方針對于各種平臺及快應用都能得到推廣。

    產品在技術上的立意是:

    (1)產品在技術上需要保證在微信小游戲平臺上和 H5 平臺上流暢運行;

    (2)產品需要在技術上達到和手游相近的體驗;

    (3)產品需要有足夠多的承載力,就要求產品功能做的足夠多,對程序提成的支撐也更重要。

    基于此,我們從以下幾個幾點進行分析:

    • 架構設計
    • 戰斗機制
    • 技術難點及解決方案

    架構設計

    本產品采用 MVC 模式,數據層邏輯層控制嚴格分離。相互之間以觀察者模式進行消息通信。

    這個架構的優缺點:

    優點:耦合性低,重用性高,部署快,可維護性高,方便管理。提高開發效率,降低開發難度。

    缺點:增加了系統結構和實現的復雜性,需要額外花費精力維護,不適合小型程序,易影響運行效率。

    注意:如果是一個代碼量有限的小型休閑游戲,不建議使用,直接回調+單例生寫效率會更高。


    在組件式的 Creator 中應用 MVC:

    • 表現層(View):游戲畫面,UICreator 的表現層主要由各種 Scene 和 Prefab 組成。各節點可以掛在多個腳本,消息的監聽掛載到各個組件的腳本上面。組件銷毀的時候同時銷毀監聽的消息,組件上各種掛載的節點邏輯盡量分離,這樣相對比較清晰。
    • 邏輯層(Controller):數據接口,操作控制,AI
    • 數據層(Model):數據保存,圖片、聲音等資源

    基礎類模塊:

    (1)網絡層

    長鏈接采用 websocket + protobuf,短鏈接采用 Http,具體自己封裝就好。

    (2)通信消息層

    用于游戲內部各模塊之間的通信。值得注意的是 Creator 組件式開發的特點,當組件銷毀的時候,最好同時清除這個組件上監聽的消息,以防止不必要的麻煩。

    (3)UI 管理層

    游戲內部的 UI 實太多,各個創建和銷毀如果任由工程師去隨意創建和銷毀,那將是一場災難,因為你不知道你的內存什么時候就爆掉了,所以這個管理很重要,處理的時機方式也很重要。

    (4)模塊工具包

    包含各種基礎的算法和工具方法以及一些基礎的程序管理及加密、SDK 的嵌入方式等等。

    戰斗機制

    回合制卡牌游戲的開發核心是戰斗,這個處理起來還是很繁瑣的。

    這種游戲有幾個共性,分別是:

    (1)戰斗場景,無論是玩家對玩家 或者是 玩家對 NPC 這些戰斗場景都是一個載體。

    (2)戰斗單元,玩家對手玩家 NPC 都是一個戰斗單元。

    (3)戰斗站位,不同的游戲有九宮站位、六宮站位等等。

    (4)行動順序,各戰斗單元的出手順序。

    (5)戰斗行為,普攻,奧義,還是其他的反擊格擋等等以及單元受到攻擊行為之后產生的被動行為。

    (6)各種減益/增益狀態的處理,中毒,燃燒,眩暈等等。

    (7)行為結果判定,各種傷害數值的顯示。

    戰斗機制的實現:

    戰斗機制分為兩種 :一種是服務器算好,客戶端根據戰斗流程去播放;一種是客戶端根據一些數據自己編寫戰斗邏輯并上報服務器。

    本產品從戰斗的流暢度來考慮,選擇戰斗機制在客戶端去實現,服務器參與數據的計算和驗證存儲等等。

    回合制的流程控制機制:

    包括輪詢刷新幀刷新兩種機制,這兩種方式的都是可以的,但需要注意幀刷新的控制,不要因為幀率過快影響戰斗單元的出手。

    輪詢刷新相對而言是比較可控。

    幀率刷新的時候需要對每個戰斗單元進行刷新。

    輪詢刷新的時候可以根據自己的主流程控制去設定戰斗單位的各種狀態。

    戰斗的流程控制:

    (1)回合制戰斗流程首先要確定出手順序,向策劃索取,并能動態更改。

    (2)每個戰斗單位的出手需要選擇相應的出手時機,出手技能,出手之后被攻擊方的反應以及己方是夠有協同等等。

    (3)戰斗單位表現形式,我們的產品并不是一張靜態的卡片,而是一個骨骼動畫。雖然占用的資源多一些,但是借助于 Creator 對于骨骼動畫的支持和性能的優化,在微信小游戲上運行非常的良好。

    骨骼動畫和幀動畫的區別相信大家大家都很清楚,而且卡牌游戲由一代向二代過度的時候也逐步的有靜態的圖片轉向更為生動的骨骼動畫。

    骨骼動畫氛圍龍骨和 spine,我們一般都使用的 Spine,在這里不一一贅述。

    (4)戰斗技能的選取以及技能形象的表現,這個需要由配置表來配置,這樣可以更加的靈活,不然后期就是一場災難。另外技能的使用的釋放不要頻繁的是創建和銷毀。會增加開銷和發熱量。這個地方一定要進行管理一下。

    每個戰斗單元和戰斗的技能也不是綁定的,要達到任意一個技能都可以通過配置綁定到任何一個人物身上,這樣如果發生變化通過配置表可以相當靈活的去調整。

    (5)戰斗技能的播放,同時指定的攻擊對象要做出相應的回饋受擊的動作,如果系統里面有協同性的動作還要考慮協同的動作。

    (6)攻擊之后就是各種動態數值的計算,這個和戰斗實現的機制有關系,如果你是服務器計算好的,客戶端負責按照固定的模式去播放,那么加上隨機因子去播放就好;如果你是客戶端根據相應的參數去計算,那就客戶端自己控制,這個需要自己把控。

    (7)各種傷害和效果的展示,以及加速和減速等特效的增強。

    技術難點及解決方案

    1.資源壓縮

    資源壓縮是做 H5 游戲或者微信小游戲一件重要的事情。

    在追求精品化的時代,保持產品精美話的同時又要保持資源的大小和流程度確實不是一件容易的事情。我們壓縮主要采用 pngquant,而后采用 pngout 再次壓縮。由于我們精細度很高,所以壓縮比不是很失真。

    我們的游戲壓縮之前大概 150m 以上,在壓縮之后我們成功降低到了 30+m,這樣在微信小游戲要求 50m 緩存的情況下,已經比較完美了。

    2.內存控制

    在控制完資源大小之后,內存大小也是需要特別注意的地方,微信小游戲畢竟是內嵌的游戲。由于游戲做的很重,所以勢必很吃內存,甚至可能在一些蘋果機上打不開游戲的現象也是存在的。

    所以在內存的優化處理上要特別注重,當前是我們處理的方式主要還是研發的時候加強控制和及時釋放已經不用的資源,不要讓一個東西長存太久。

    3.加載控制

    英雄骨骼動畫和配置文件以及 UI 的加載。

    配置文件是要提前加載到內存中的,這個是沒有辦法的,因為游戲里面隨時要用。骨骼動畫可以后加載,用到的時候再異步進行加載。

    當場景切換的時候可以適當析構掉不用的資源。

    另外延遲加載可以提高界面打開的效率,讓玩家體驗良好一些。

    分幀加載可以讓界面更加流暢,這些都是需要注重的。

    4.微信小游戲支付

    支付的錢一定要以微信存管賬戶為準,客戶端只通知查詢的時機,以防止外掛刷。

    5.探討技術點:首幀加速加載 

    小游戲在加載完成三個點的時候,進入首場景,有些平臺要求這個過程要很快,所以地方處理起來并不是很容易,這也是我們研究的一個點。

    5G 的發展和娛樂的多樣化,為我們提供了更廣闊的空間,希望我們能有更多的空間可以去開拓。在此感謝 Cocos 引擎團隊的支持和厚愛,感謝我的團隊所有伙伴。

    三、訪談內容

    與傳統 APP 游戲不同,輕量化、強社交的游戲體驗更容易獲得了小游戲用戶的青睞,同時小游戲用戶也具有粘性低、留存率不高的特點?!度龂饽鳌纷鳛橐豢钇囟鹊男∮螒?,對小游戲用戶又有著怎樣不同的理解,是如何通過游戲內容去把用戶“留下來”并讓用戶“掏錢”的呢?在分享技術實現方案的同時,技術團隊還接受了 Cocos 的專訪。

    編輯|整理:Cocos C 姐

    受訪者:凌風

    C 姐:貴團隊目前有多少成員又是如何分工的呢?

    凌風:我們團隊成員構成比較精簡,包括 2 個策劃、2 個服務器人員和 3 個客戶端端人員,策劃在提出方案的同時還兼職做一些測試工作。成員分工上服務器人員采用 Go 語言開發,客戶端采用 Cocos Creator?,F在正在推行前后端一體化,讓每個團隊成員能最大限度地融入進去。

    C 姐:團隊從 2017 年建立之初,就致力于做小游戲項目,是基于什么樣的市場考量呢?

    凌風:小程序是一個全新的生態,相對于傳統的手游運營模式,小游戲的渠道和發行被重新打散洗牌,在微信、頭條、抖音、百度、快手等數億級產品生態下,可以觸達到一些傳統游戲發行方式無法觸達到的用戶。在小游戲這個領域里,對游戲的策劃、發行、運營以及技術手段都有區別于手游,所以盡早進入盡早積累,會對未來有一定的幫助。

    C 姐:當前微信小游戲還是輕度休閑游戲產品居多,貴團隊為什么會考慮做一款重度卡牌策略小游戲呢?《三國封魔傳》最初的立項契機是什么?

    凌風:我們認為,小游戲這個領域會和端游、頁游、手游的發展規律一樣,都是由輕到重的這么一個過程。輕度游戲由于自身變現能力和耐玩性有限,一旦裂變方式受到限制,就很難獲取和沉淀用戶。重度游戲是發展趨勢,只要自身的數據模型較好,流量就會集中過來。

    C 姐:為什么會考慮三國題材呢?

    凌風:首先三國這個題材耳熟能詳的,在游戲界有相當的成熟用戶。再次這個題材是沒有 IP 的,所以感覺這個題材在推廣時比較方便,受眾的群體也更容易獲得。

    C 姐:《三國封魔傳》的核心小游戲用戶群體是怎么確定的呢?游戲的玩法有些類似于手游《放開那三國》系列及衍生游戲,那么為了迎合核心小游戲用戶群體,游戲有因此放棄了哪些手游上常見的玩法嗎?

    凌風:用戶畫像主要 20-35 歲男性為主,之前很少接觸到這類游戲的用戶。相對于手游,我們把付費點拆的更細,盡量放棄一些占用用戶大塊時間的玩法,更貼合小游戲用戶的習慣。

    C 姐:作為一款重度策略小游戲,《三國封魔傳》對于提升用戶的留存率,有什么比較好的經驗可以分享嗎?

    凌風:我們的游戲還沒有完全做完,這方面我們也還在探索階段。根據測試階段的一些表現,我們發現小游戲用戶中,游戲小白還是占大多數,那么在游戲前期盡量減少一些復雜操作,用一鍵裝備,一鍵強化這樣的方式更容易讓用戶度過懵懂期,減少一些理解障礙還是對前期留存幫助比較大的。

    C 姐:為什么會選擇 Cocos Creator 這款引擎呢?在實際的開發使用過程中,Cocos Creator 有哪些優勢,又存在哪些不足呢?

    凌風:目前做微信小游戲或者 H5 游戲主要采用三個引擎,但是身邊的人大部分都是做 Cocos 的,所以我們最終選擇了 Cocos Creator。選擇 Cocos Creator 的主要原因在于第一對 Cocos 比較熟悉,引擎自身具有良好的易用性,第二身邊做 Cocos 的人比較多,易于團隊組建和問題交流,第三社區維護良好,問題能得到及時的反饋,第四多平臺能力也很強,第五組件式開發比較友善,美術和策劃能分擔不少的界面工作。不足之處在于在實際的開發中引擎感覺編輯器有時候比較卡,這個時候會比較煩躁。

    C 姐:游戲目前主要有哪幾種變現方式呢?擁有版號的優勢情況下,什么時候會考慮開放內購呢?另外據介紹,貴團隊擁有直播公會資源,游戲是否有打算利用這塊的資源來創收?

    凌風:安卓內購方式已經開放了,iOS 由于平臺的限制原因還沒有提供。我們的另外一家公司是做直播公會和 MCN 的,擁有一萬多名娛樂主播,同時還是抖音最大的游戲品類 MCN。娛樂主播的粉絲大多以男性為主,并且有較強的付費能力,這和游戲用戶非常貼合。同時由于小程序這種方式,極大地減少了用戶轉化過程中的損耗。我們相信,就像“網紅+電商”一樣,“MCN+小游戲”也有很大的發展空間。我們會先用自己的產品來探索,之后我們希望和友商一起發掘這個領域。

    C 姐:《三國封魔傳》后續會布局更多的小游戲平臺,比如 OPPO、vivo、華為小游戲等嗎?方便透露一下游戲或者是團隊后續的規劃嗎?

    凌風:這款游戲目前處于開發階段的中后期,只上了微信和頭條兩個平臺。不過各平臺的使用技術方案基本一致,對接成本非常低,未來我們會對接所有能夠支撐的平臺。

    凌風:任何一款優質產品都需要經歷反復的打磨跌打,我們的產品也正在進行逐步打磨和優化,希望引擎團隊越做越好,也希望我們的游戲越做越好。良好的業績離不開好的合作,在此,我們也希望能夠與各位做渠道和投資的朋友能有更多的接觸,如有合作意向,歡迎聯系!

    C 姐:感謝凌風接受 Cocos 的專訪!也祝愿游戲能夠取得越來越好的戰績。歡迎各位開發者掃描下方二維碼體驗這款重度小游戲《三國封魔傳》。


    技術派,是 Cocos 全新推出的專欄,我們將不定期邀請知名的游戲制作者,為廣大開發者分享來自真實項目的實用的開發技術和實戰經驗。歡迎大家推薦想要學習的游戲產品和想要了解的技術知識,也誠邀有技術分享意愿的開發者聯系我們噢~

    Cocos 技術派 | 實時競技小游戲技術分享

    Cocos 技術派 |《野蠻人大作戰》從開發到上線

    Cocos 技術派 |  推薦一款可查看節點樹的插件 CC_inspector +

    Cocos 技術派 | Cocos Creator 2.0 攝像機的靈活運用

    Cocos 技術派 | Camera 攝像機詳解

    創意小游戲專訪 | 《蛇它蟲》

    創意小游戲專訪 | 《五子大作戰》

    創意小游戲專訪 | 《甜蜜糖果屋》


    女人脱裤子让男生桶爽免费看,久青草无码视频在线播放,精品国产人成亚洲区,久久精品国产亚洲一区二区