个人总结

  • 游戏展示

    • Gaple
    • FishFarm
  • 工作内容

    • 将 Android 项目工程从 Support 全面升级到 AndroidX
    • 接入广告、数据分析 SDK,Tradplus、Adjust 等
    • 将 Spine Runtime 从 v2.1 升级到 v3.8,支持最新的二进制格式,使文件占用更小,解析速度更快
    • PackManV2(使用 PyQt 开发的可视化打包、调试工具)
      • 新增项目同步助手,助力同类 App 项目的代码同步,大幅提高同步效率
      • 新增 BMFontTool 工具,可直接通过拖拽散图到工具中,一键合成图片字
      • 新增 Lua 语法检查和嵌套层级检查,方便 bug 定位和代码优化
      • 新增 Lua 文件编码转换工具
      • 新增 Android 打包时同时导出 .aab 包的功能
    • 集成轻量级 web 服务器 mongoose
      • 启用 mongoose 的 http 功能作为本地文件服务器,监视 App 的可读写路径,可以通过浏览器查看日志、文件等,使 bug 定位更加方便
      • 启用 mongoose 的 websocket 功能,在 2d-x 项目中使用 webview 展示 cocos creator 制作的活动页面,通过 websocket 实现 js 和 lua 的交互
    • 集成 Fmod 作为默认音频播放引擎,使得音频播放更加稳定
      • SimpleAudioEngine 播放音效数量过多时会出现丢失问题
      • AudioEngine 在 Android 上频繁切换音频时有概率出现 App 闪崩
      • API 向 AudioEngine 看齐,使音频切换代价接近最小
    • bugly 追踪和定位 bug
    • creator 框架建设
      • 弹窗管理、强弹管理、红点管理、大厅转场管理
      • drawcall 优化
        • 使用静态合图
        • UI 层级拆分和调整,分离图像节点和文本节点
        • 文本使用 BMFont 或开启 char 缓存模式
        • 需要使用一个 Spine 文件创建多个节点时,开启 Spine 的合批
        • 尽量减少使用 shader 和更换材质,因为它们都会打断合批
      • 性能优化
        • 使用静态合图
        • 按照从大到小的顺序加载合图
        • 使用对象池
        • 减少音频文件大小
        • 使用极少的内容使用完毕后立即释放
        • 切换场景时释放无用资源
        • 使用 Spine 骨骼动画替换序列帧动画
        • 使用预制体,且单个预制体不宜过大
        • 使用 BMFont
        • 使用异步/分帧加载等多种方式,避免内存激增,导致性能下降
        • 减少 Mask 组件的使用
    • 棋牌子游戏
      • 龙虎斗
      • 百家乐