<tbody id="suqa6"></tbody>
  • <acronym id="suqa6"><kbd id="suqa6"></kbd></acronym>
    <acronym id="suqa6"></acronym>
  • Cocos 技術派第13期:3D 小游戲《歡樂貪吃龍》關鍵技術盤點

    ?《歡樂貪吃龍》是由 SK2GAME 基于 Cocos Creator v2.2 研發的一款 3D 休閑小游戲,游戲畫面卡通精美,玩法簡單,玩家將扮演一只“貪吃龍”,在 3D 大場景中,捕食各種可愛又兇殘的怪物,享受毀滅敵人的快感。

    今日,《歡樂貪吃龍》項目的客戶端主程  作客 Cocos 技術派,為廣大開發者帶來這款 3D 小游戲的開發經驗分享,內容涵蓋場景地圖生成、關卡設計、分包分階段加載資源以及性能優化等,以下為技術派正文:

    一、項目概述

    1.團隊介紹

    SK2GAME 團隊成員共 20 人,主要來自原七道神曲項目組,包括原博雅,騰訊等。在積累了相對深厚的手游研發運營經驗后,于 2019 年正式進軍小游戲研發領域,目前我們也在摸索各大小游戲平臺的核心用戶玩法,團隊擅長跑酷,音樂,休閑動作類,模擬經營類,rougelike 等游戲品類的研發和制作。目前團隊資本結構相對純凈,屬于天使輪。

    2.游戲介紹

    《歡樂貪吃龍》這款游戲玩法很簡單,進入游戲主界面后,玩家可以在形態各樣的貪吃龍中選擇一條喜歡后進入副本,通過捕食各種怪物即可積累能量,能力積累到一定程度,可以噴射高能量的龍炎,進入無敵狀態,毀滅一切敵人,順利通關副本。

    不同的貪吃龍除了有體態有迷你、小、中、大的區別之外,不同的皮膚也會在比如吞噬距離、速度、爆發沖刺、承傷等方面有著不同的 Buff 加成。

    3.游戲結構

    游戲的結構主要包括登錄、主界面、副本、結算四個場景。

    玩家進入到登錄場景,將進行微信 sdk 登錄,游戲服務器注冊/登錄,資源預加載流程,這個階段的流程需要盡量快且失敗后提示重試邏輯要做好,卡登錄流程對新玩家是極不友好的,將導致用戶直接流失。

    主場景是玩家對龍的周邊系統的認識及選擇。

    點擊開始游戲打開任務界面,任務界面是當前副本的過關要求,全部任務完成,才能過關。

    副本場景主要包括 3D 場景、玩家操作的龍、場景中的怪物、場景中的各種 buff 及收集物。各模塊的交互判斷主要是碰撞檢測,例如龍和怪物的碰撞檢測,龍的處理邏輯:

    怪物的處理邏輯:

    結算場景主要是對副本場景的一些游戲行為進行總結,游戲資源的獎勵發放。

    二、開發過程

    1.開發引擎選擇

    開發立項是在 2019 年 11 月份,由于當時主要的任務,是替另一個項目接入新的渠道 SDK 以及一些零碎的工作,所以我有空就會對本項目一些可能遇到的難點就行預研,包括寫了一個簡單的 Cocos Creater 3D 版本的 Demo??紤]到 Cocos Creator 3D 當時的版本只支持微信小游戲,所以忍痛放棄了(個人對于 Cocos Creator 3D 很是喜歡)。

    Cocos Creator 2.2.0 版本對性能提升較大,預見本項目性能是個大瓶頸,所以我們果斷使用了 Cocos Creator 當時的最新版本 2.2.2。

    Cocos 官方最近發了新版本 2.3.0,其中的 3D 粒子我們需要用到,對于其他內容則沒有很高的需求,所以暫時還不考慮升級。

    2.開發周期

    項目正式制作始于 2019 年 12 月初,第一周用一些測試 3D 模型,做了個簡單的 3D 場景,一條龍在其中漫游,順便測試了 3D 模型+物理場景性能的峰值。達到 3 萬多面時,iphone6 就只有不到 20 幀,安卓低端機 30 幀左右。后續開發過程中,每個功能都會考慮到性能的問題。

    2020 年 1 月 17日,我們第一個版本上線微信小游戲,從無到有僅花了一個半月的時間(無良老板壓榨),這個版本的定義只是一個基礎功能版本,周邊系統缺少,中期目標太弱,更別說后期了。值得開心的是,在年初的 Cocos 官方直播中,Cocos Creator 技術總監 Panda,在直播中推薦了我們的游戲。視頻地址:https://www.bilibili.com/video/av86788767,時間定位 64 分 30 秒。

    微信小游戲的大家都在玩

    3.開發人員配置

    《歡樂貪吃龍》項目由 1 個策劃+2 個前端開發+1 個原畫+1 個 UI+1 個特效(技術美術)組成,游戲中場景配置優化,怪物和龍的動畫及其他游戲特效效果,都由前端開發和技術美術一起配合完成。

    過程只有一句話:技術美術真香!

    前端只要提供好一些掛載組件和 prefab,效果由美術在編輯器中調整測試效果,效率提高不止一個檔次。

    三、幾個重點

    1.場景地圖生成

    當前版本只有1個場景,但是設計時,有考慮到場景變化可配置,將地圖分塊,如圖所示:

    場景地圖分成 n 個小塊,每個 block 節點都是地圖的位置節點,上面掛載著一個地圖塊加載組件 MapBlock。

    每個 block 節點顯示掩藏是受父節點 RootNode 上的 ActiveState 控制。這個腳本的主要工作是對子節點遍歷,定時 updateTime(毫秒)計算 3D 攝像機相對上次移動了多少距離,當大于 updatePosStep 時,計算子節點是否在 3D 攝像機視線中,進行掩藏顯示操作。block 節點顯示,就會加載顯示對應的地圖塊,掩藏將顯示的地圖塊掩藏(優化性能)。

    因為是 3D 場景,所以需要獲取當前 3D 攝像機去計算。上面的代碼是當前屏幕的尺寸 viewRect 與當前 block 節點在 3D 攝像機中映射到屏幕上的 rect 比較是否相交。相交就是需要顯示。UIHelp.getRectInView 方法:

    2.關卡設計

    關卡過關條件的任務,是每一關配置一個任務庫,隨機生成。怪物的配置是配置在如下的 prefab 中。怪物節點也是受 ActiveState 組件控制,實現動態顯示加載。

    這里用 prefab 配置關卡的怪物生成,是為了方便策劃,后期會寫一個插件,將此 prefab 轉換成配置文件,這樣數據會小很多,畢竟 prefab 里面的數據有很多沒用的。

    怪物創建有一個管理類管理,里面對怪物的創建、銷毀用了對象池。同樣怪物的顯示掩藏邏輯也在里面處理,原理同地圖生成。

    3.分包分階段加載資源

    游戲中的資源按照各個階段需要,分成 1 個主包,2 個子包。主包包括代碼文件及登錄場景的背景圖,分包 1 的資源主要是整個游戲的必要資源,分包 2 的資源是副本場景必要的資源。

    登錄時加載分包 1,進入主場景后,開始下載分包 2,進入副本時的加載界面也會加載分包 2,如果前面下載好了,此處可以更快點。這些處理對新玩家首次進入游戲,起到一定優化作用。

    進入副本的加載界面,不只是加載分包 2,還做了當前關卡中地圖塊和會出現怪物的預加載。雖然這樣會讓加載時間變長,但是玩家游戲體驗會好很多??吹降臇|西不會延遲顯示。

    4.性能優化

    drawcall 優化:UI 的所有圖片文件夾都配置了自動圖集,并且分模塊,每個模塊一個圖集。節點層級按照合批邏輯優化(3D 模型的合批,本項目沒有開啟,合批的性能在iOS 的微信小游戲上,是負提升)

    字體盡量用 bmfont:系統字體的文本設置緩存類型(游戲中獲得 buff 時,會創建一個 buff 圖標和 buff 描述文字 lab,安卓上會出現卡頓,后面修改成 bmfont 解決)

    對于可能重復出現的效果,盡量用對象池。

    上面對于地圖塊,怪物的動態顯示掩藏,對于物件比較多,又可能不在屏幕范圍之內的游戲,是一個很好的剪裁優化方案。

    模型的面數需要把握好,太高的面數,扛不住。


    結語:

    以上就是我今天帶來的技術分享,歡迎大家進入微信搜一搜搜索《歡樂貪吃龍》體驗游戲。

    非常感謝 小濤 帶來的技術實現分享,《歡樂貪吃龍》目前已上線微信小游戲,受到許多玩家的喜愛, 歡迎大家體驗!最后,?!稓g樂貪吃龍》取得更好的成績,期待 SK2GAME 有更多好玩的游戲上線!

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

    【技術派】專欄往期文章

    技術派01 |《野蠻人大作戰》H5項目從開發到上線

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

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

    技術派04 | 3D 人物渲染詳細教程

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

    技術派06 | Camera 攝像機詳解

    技術派07 | 重度小游戲《三國封魔傳》技術實現方案

    技術派08 | 3D 小游戲《飛躍地平線 Plus》開發分享

    技術派09 | 暢銷 SLG《亂世王者》深度優化方案

    技術派10 | 3D小游戲《快上車》技術分享

    技術派11 | 極限開發創作筆記

    技術派12 | 競技對抗小游戲《單挑籃球》開發歷程 

    国产亚洲精品视觉盛宴,日韩 精品 综合 丝袜 制服,一个添下面两个吃奶把腿扒开,国产真实露脸乱子伦