cocos2d-lua 与 quick 的未来

首先,我们(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-

支持!努力! :2: :2: :2:

顶!!!支持!!!:2::2::2::2::2::2::2:

强力啊 :2:

quick 在手, 天下我有!

祝贺恭喜quick团队。

感谢廖总以及兄弟们的奉献。

非常感谢quick团队的辛苦工作!支持!

非常感谢quick团队的辛苦工作!支持!

:2: :2: :2: :2: :2: :2: 港吧Day

加油quick~~:2:

廖大及团队辛苦啦,支持支持~~加油

— Begin quote from ____

引用第6楼wgy3436989于2014-11-28 16:02发表的 :
非常感谢quick团队的辛苦工作!支持! http://www.cocoachina.com/bbs/job.php?action=topost&tid=272354&pid=1185171

— End quote

请勿copy

绝对支持!:2::2::2::2::2::2::2::2::2::2:

感谢quick的工作,期待更强的cocos2d-x lua

— Begin quote from ____

引用第7楼jiuhaolong11于2014-11-28 16:02发表的 :
:2: :2: :2: :2: :2: :2: 港吧Day http://www.cocoachina.com/bbs/job.php?action=topost&tid=272354&pid=1185174

— End quote

想开心扉拥抱quick

— Begin quote from ____

引用第10楼wanghehacker于2014-11-28 16:13发表的 :

请勿copy
http://www.cocoachina.com/bbs/job.php?action=topost&tid=272354&pid=1185199

— End quote

Quick 从此就退居幕后了吗?伤心。慢慢的。quick就消失在人们的脑海中。

— Begin quote from ____

引用第15楼georgeylb于2014-11-28 16:23发表的 :
Quick 从此就退居幕后了吗?伤心。慢慢的。quick就消失在人们的脑海中。 http://www.cocoachina.com/bbs/job.php?action=topost&tid=272354&pid=1185213

— End quote

换个角度不就是 cocos2d-lua 变成 quick 了么:7:

— Begin quote from ____

引用第15楼georgeylb于2014-11-28 16:23发表的 :
Quick 从此就退居幕后了吗?伤心。慢慢的。quick就消失在人们的脑海中。 http://www.cocoachina.com/bbs/job.php?action=topost&tid=272354&pid=1185213

— End quote

quick 现在已经代替了cocos2d-x lua. 成为cocos2d-x 产品线的lua代表。

怎么会消失脑海? 除非你叛变去用 js了。

好事,加强力量增加投入。欢迎大家多支持。

支持,强啊