今年6月2日,HarmonyOS 2宣布正式商用。同月23日,Cocos团队宣布其Cocos Creator3.2正式支持HarmonyOS 2,成为全球首家支持 HarmonyOS的游戏引擎。 作为一款轻量高效的跨平台游戏开发工具,为了助力游戏开发者轻松开发出具备多设备协同能力的游戏,Cocos creator 3.2率先打通了支持HarmonyOS系统的游戏开发流程。 整体工作流是先在 Cocos Creator 中完成内容开发,选择针对HarmonyOS操作系统的工程构建,然后将构建完毕的工程导入到HarmonyOS的DevEco Studio里编译/打包/部署调试。整体工作流与开发者发布到其他原生手机平台类似,熟悉这类开发的开发者操作起来非常简单。 HarmonyOS分布式技术,提升游戏魅力 充分利用HarmonyOS “分布式技术”带来的设备流转和协同的便利性,Cocos引擎带来了支持HarmonyOS的多设备协同的游戏模板,让开发者可以通过该模板,快速创建支持多设备协同的游戏或者应用。 在HarmonyOS中,经过发现、配对、连接、组合、验证后,两个设备就能进行连接,创造更多有趣应用和游戏体验场景,带来全新的互动模式。基于这个特点,Cocos想到可开发一款“随时可玩,多人参与”的Party Game。 现今的主机、PC机上已诞生很多优秀的Party Game,但受限于手柄数量、便携性等问题,玩家无法实现想玩就玩、多人互动的游戏体验。使用HarmonyOS分布式能力,充分利用玩家已有设备,能很好解决这些问题,让更多朋友能随时加入游戏,享受Party Game的魅力。 视频展示的游戏《抢金币》就是基于Cocos引擎的HarmonyOS多设备协同游戏模板制作的。该游戏可快速实现HarmonyOS上的设备发现和连接功能,利用手机充当游戏手柄来进行大屏上的操控,游戏玩法简单且直接。从玩法到体验都突出了呆萌、欢快的游戏感受。 在这款游戏的场景里,游戏端会被放置在智慧屏中运行,而手机只是作为手柄实现操控。当游戏开始时,智慧屏会弹出设备选择页面,选中附近的华为手机作为手柄输入端,建立连接,初始化设备。建立连接之后,智慧屏会通过senDataToRemote接口来告知手机端作为控制器可进入游戏状态,而手机端作为手柄则通过onRemoteRequest接受游戏可开始操作的信号,开始发送操控数据给智慧屏;在整体游戏过程中,所有操控数据都可以通过这两个接口进行传输和反馈,实现捡金币、捡锤头及抢金币的游戏逻辑。 这就是HarmonyOS的分布式能力,通过这种能力,使手机在智慧屏附近即可迅速被虚拟成一个手柄终端,将智慧屏的交互扩展到手机,充分结合手机的多模输入和智慧屏的大屏优点,组成新的多人娱乐场景。 HarmonyOS开发问题及解决方式 同时,Cocos团队也梳理了基于HarmonyOS开发期间可能碰到的问题,主要包括: 问题1:无法调起远端设备 解决方案:检查bundle name和ablility name,保证工程中跳转目标的正确性。 问题2:调起远程设备,但本地显示未连接上 解决方案:需要先在手柄端进行授权后,才可由大屏端进行连接。 问题3:so体积过大 解决方案:Cocos引擎的代码主要是C++,HarmonyOS平台构建产生的libcocos.so目前还没有被正确的进行strip,可用HarmonyOS平台Native SDK下的llvm-strip,命令为:llvm-strip --strip-debug ./libcocos.so。目前strip完的效果官方还在持续优化中。 问题4:大屏无法连接手机 解决方案:在两个项目的config.json文件中,在Ability前加上属性标签“visible”:true。 问题5:无法获取子模块asset资源 解决方案:游戏端和手柄端合并成一个HarmonyOS工程中会产生多个模块,修改获取 asset 资源路径,根据模块名来获取 asset 资源路径。 针对上述问题,Cocos 以自身过硬的技术,快速解决问题的能力,极大缩短了开发时间,作为鸿蒙生态中全球第一家实现适配支持的游戏引擎,为开发者提供了坚实的后盾。 Cocos目前已支撑了全球203个国家和地区的150万内容开发者,基于Cocos引擎创作的手机游戏、小游戏、APP等已触达全球超过16亿终端用户。内容品类涵盖数字娱乐、数字文创、在线教育、虚拟展会、电商展示等。此次Cocos和HarmonyOS的深度合作,将助力HarmonyOS在娱乐、教育等实时互动内容的创作,释放出“自由硬件组合”的特殊能力,同时也为社区的百万开发者提供了早期进入鸿蒙生态、分享设备红利的便捷通道,促进了鸿蒙生态更快地发展。
|