首先,我们(quick-cocos2d-x 团队)很高兴的宣布一件事情:quick 团队已经接手了 cocos2d-x Lua 的开发和维护工作。
在这个喜大普奔的时刻,我们既有面对新挑战的兴奋,又有即将创造新成绩的期待。我们更感受到了来自开发者的深情凝望,那是一种怎么样的爱与期待啊!
我们将竭尽全力,为所有使用 cocos2d-lua 的开发者和团队打造一个稳定可靠的快速游戏开发引擎。在未来,我们将和各位小伙伴一起装逼一起飞!
~
核心目标
浮沙何以驻高台。作为实现梦想的基础,游戏引擎必须坚如磐石。
钝器何以削铸铁。作为创造梦想的工具,游戏引擎必须如臂使指。
即便跨越了空间,穿越了时间,我们的目标依然未变。稳定可靠、高效开发是我们一直孜孜不倦追求的目标。
~
稳定可靠
我们深知当前的 quick/cocos2d-lua 还有许多不足之处,特别是在 API 稳定性和整体的可靠性上具有巨大的提升空间。
未来,我们将从以下几个方面改善 cocos2d-lua 的稳定性和可靠性:
- 改进 luabinding
- 降低内存消耗
- 更完善的错误反馈信息:
- 更完善的参数检查
- 更完善的崩溃保护
- profiling 接口
- memory leaks inspect 接口
- 改进 Lua 测试用例
- 以 Lua 风格展现 cocos2d-x 的用法
- 增加更接近实际项目用法的综合性测试
- 尽力提高测试覆盖率
- 全面的性能测试
有些开发者做了一些极端测试(例如同一帧内创建 10 万个 C++ 对象),这会导致 luabinding 占用的内存显著上升,而且这些内存无法被回收。虽然实际游戏里不会出现这种极端用法,但我们仍然计划改进 luabinding 对 C++ 对象的内存管理机制,确保即使是极端用法占用的内存也能够被回收。
此外,目前 luabinding 在传入错误的参数时,反馈信息不够明确,开发者要找到导致出错的脚本代码需要花费不少时间。而在传入无效参数导致 C++ 部分 assert 失败时,luabinding 也没能做到完全拦截,这也增加了排除问题的成本。
luabinding 层面还有两个重要改进就是对 profiling 和 memory leaks inspect 的支持。前者用于探查脚本中的性能热点,后者则用于查找脚本中不当代码造成的内存泄露。这两个接口将提供给专门的工具使用,方便开发者分析和查找问题。
除了改进 luabinding,我们也会投入大量人力对测试用例进行改进。测试用例除了用于测试 cocos2d-x 的各种 API 外,另一个重要功能就是为开发者学习如何使用 cocos2d-lua 提供一个蓝本。
我们相信随着上述目标的达成,我们将为开发者提供一个更加稳定可靠的 cocos2d-lua 版本。
~
高效开发
如何让开发者更快的开发产品,是我们另一个核心目标:
- 改进文档和示例
- 提供更完善的 API 文档
- 提供更多用法示例
- 完善 Lua 工具
- 简化 C/C++ 模块的导出操作
- profiling 工具
- memory leaks inspect 工具
- 快速开发
- 高级游戏框架
- 用插件管理器在 app 内添加插件
- 高效发布
- 脚本的加密、混淆
- 模块化编译,按需定制引擎
文档一直都是被吐槽最多的部分,这次我们将打造一个绝对容易使用的文档工具,让开发者可以查到每一个 API 的说明和用法。而 quick 里丰富的示例,将逐步移植到 cocos2d-lua 中,为大家学习 cocos2d-lua 的使用提供帮助。
目前 quick 里已经提供了一些工具,这些工具我们也会改进后集成到 cocos2d-lua 中。并且开发 profiling 和 memory leaks inspect 工具,将 cocos2d-lua 的调试差错体验提升一个层次。
quick 里的框架则会被拆分为核心框架和一堆插件,让开发者根据需求自行组合,既能节约内存又提升了灵活性。搭配全新的插件管理器,开发者将获得前所未有的开发体验。而开发者也可以将自己的插件提交到插件仓库,与社区分享自己的成果。
在发布换件,脚本加密、混淆和模块化编译等必须功能,我们也会为大家一一呈上。
总之,我们将由内之外的改进整个 cocos2d-lua,打造一个您会爱上的游戏引擎!
~
关于 quick
现在的 quick 用户可能会担心我们将重心转移到 cocos2d-lua 后,不再维护 quick。其实这是一种误解。
首先,quick 只是一个运行在 cocos2d-lua 之上的游戏框架和一些扩展的集合。而且这些内容都将转为插件,让开发者可以通过插件管理器来安装。其次,quick 里所有对 luabinding 的改进,在 3.3 版本里都已经合并进入了 cocos2d-lua。
所以,cocos2d-lua 会变得更好,quick 也会继续发展。
~
下一步
在这篇文章里提到的不少内容,例如中文 API 文档、示例、脚本加密工具、内存泄露检查、模块化编译等等,都已经出现在了 quick 中(2014年12月02日,将发布 quick-cocos2d-x 3.3rc1,包含诸多新特性)。等不及的开发者可以下载 quick 体验一下,而这些功能都将被集成到 cocos2d-lua。
下一步,quick 团队将进行深入讨论,制订出靠谱的开发计划。在这个过程中,随时欢迎大家提出批评建议,帮助我们一起改进 cocos2d-lua。
最后,谢谢大家!
-EOF-
