cocos2dx和unity3d的选择

2015年01月15日 14:15 0 点赞 0 评论 更新于 2025-11-21 14:29

在进行游戏开发时,最令人纠结的莫过于在Cocos2d-x和Unity3D之间做出选择,开发者往往不知该选用哪一个。实际上,从某种意义上讲,Cocos2d-x和Unity3D都是优秀的游戏开发引擎。然而,当面对特定的项目需求以及团队实际情况时,它们的优劣便会显现出来。

目标游戏分析

假设目标游戏是一款类似《刀塔传奇》的游戏,下面我们来分析一下这款游戏的特点:

  1. 2D游戏:游戏整体呈现为2D画面风格。
  2. 弱玩家互动:游戏中没有强烈的玩家互动,玩家之间也不存在相互可见的情况。
  3. HTTP通信:适合使用HTTP协议与服务器进行通信。
  4. 2D骨骼动画:为了控制资源大小,采用2D骨骼动画技术。
  5. 游戏内更新:为了提供更好的用户体验,需要支持游戏内更新功能。

对于上述五点需求,Cocos2d-x和Unity3D这两个引擎理论上都能够实现。

使用Unity3D的方案及面临的问题

实现方式

如果选择使用Unity3D(U3D),由于其自身强大的3D功能在这款2D游戏中无法充分发挥,且U3D自带的2D功能相对薄弱,通常会采用3D场景搭配正交相机的方式来实现2D效果。在界面开发方面,一般会选用NGUI。对于2D骨骼动画,Spine是较好的选择,但目前熟悉Spine工具的美术外包团队数量有限。而Dragon Bones对Unity3D的支持较弱,其相关支持代码可以在GIT上找到。在处理游戏内更新问题时,由于iOS系统不允许更新可执行代码,只能使用其他解释型脚本,LUA是不二之选。

面临的问题

  • 美术团队:能否找到一个擅长使用Spine制作2D骨骼动画的优秀美术团队是一个关键问题。
  • 脚本封装:在Unity3D框架基础上,需要再次封装LUA以实现动态更新功能。
  • 安装包大小:Unity3D的Mono框架起步开销为8MB,这使得安装包相比Cocos2d-x要大8MB。
  • 授权费用:一套Unity3D授权需要5000美元。

使用Cocos2d-x的优势

技术特性

Cocos2d-x使用C++进行开发,官方同时支持LUA和JS脚本导出,因此在自动更新功能的实现上不存在问题。

工具支持

Cocos2d-x提供了CocosStudio和CocosBuilder工具用于UI开发,虽然使用起来可能不太便捷,但基本可以满足开发需求。

骨骼动画支持

Cocos2d-x对Dragon Bones的骨骼动画支持良好,无需担心美术团队在这方面的技术问题。

成本优势

Cocos2d-x是免费的,相比Unity3D节省了5000美元的授权费用。并且其安装包比Unity3D小8MB。

成功案例

Cocos2d-x在类似2D游戏开发中有许多成功案例可供参考。

结论

尽管一直期望能够使用Unity3D作为通用的解决方案,但就目前这种2D游戏的需求而言,个人认为选择Cocos2d-x更为合理。

作者信息

feifeila

feifeila

共发布了 3994 篇文章