关于Qucik的一些问答
1. 为什么会出现 quick 这个项目?
2. quick 和 cocos2d-x 到底有多大的区别?
3. 选择 quick 还是 cocos2d-x?
4. 选择 quick 的风险有多大?
5. quick 未来的路线图是什么?
----
1. 为什么会出现 quick 这个项目?
关于这个问题,我在 http://cn.quick-x.com 上有一个详细的说明 http://cn.quick-x.com/?p=1 ,简单概括那就是:开发商需要一个更完善的 cocos2d-x + Lua 的解决方案。
2. quick 和 cocos2d-x 到底有多大的区别?
区别分为几个层面:
2.1. 底层 C++ 代码:quick 是建立在 cocos2d-x 基础上的开源项目,对 cocos2d-x 的功能几乎没有做裁剪(除了用一些更好的 Lua 扩展组件代替 cocos2d-x 内置的),主要修改都是新增功能。cocos2d-x 的 C++/Lua 项目拿到 quick 里是完全可以跑的。
2.2. 扩展的功能:针对开发商的实际需求,quick 里提供了加密解密、网络请求、IAP、第三方 SDK 集成、物理引擎封装等一系列扩展。这些扩展都是独立的代码,并不侵入 cocos2d-x 的底层代码。
2.3. 对 cocos2d-x 的改进:主要包括 Lua 支持的改善,以及触摸事件机制的改进。前者是为了游戏运行更稳定,后者则简化了 UI 的开发。
2.4. 一个 Lua 框架:quick 包含的 Lua 框架,绝大部分功能都可以直接跑在 cocos2d-x 上(实际上有开发商这样做)。这个框架的价值在于将 C++ 风格的 API 转为了 Lua 风格,让开发者可以用更精简的代码实现更多的功能。并且框架定义的规范、接口,让开发者可以创建更容易维护的程序代码。
所以 quick 和 cocos2d-x 就像美女穿衣服和不穿衣服的区别。
3. 选择 quick 还是 cocos2d-x?
如果你认为 Lua 是更靠谱的选择,那么请使用 quick。
4. 选择 quick 的风险有多大?
我能想到的有几点:
4.1. quick 的作者发疯了,对 cocos2d-x 乱改一气,造成了 quick 和 cocos2d-x 的兼容性被破坏。我不敢保证不会有这一天,但是我时刻警醒自己抵制住这种诱惑。大家需要的是一个可靠的产品,而不是一个按照个人意愿随心所欲改变的玩具。
4.2. 主要维护者跑路了,不维护 quick 了。我想出现这种情况,要么是转发过了 500,要么是 cocos2d-x 这个体系已经玩不转了。
4.3. quick 不再跟随 cocos2d-x 升级。这个请放心,当 cocos2d-x 3.x 成熟的时候,quick 会第一时间发布匹配的版本。追求新技术,是有节操程序员的基本素质。
5. quick 未来的路线图是什么?
quick 的架构会继续保持:cocos2d-x 最小修改 + 扩展 + Lua 框架 的形式。这样对 cocos2d-x 的修改最小化。同时,我们会努力将 quick 中对 cocos2d-x 的改进推送到 cocos2d-x 官方仓库。希望有朝一日能够实现官方版 cocos2d-x + quick 扩展 的架构。
而具体到功能上,quick 在 2013 年将实现下列目标:
5.1. 一个功能全面的 UI 库:亮点是自动布局管理和可扩展的 UI 控件。因为整个体系都是 Lua 实现,所以可以充分利用动态语言的优势。
5.3. 一个 MVC 库:包含基本功能的 MVC 架构,提供清晰的 API 和代码组织结构,并且可以很容易的扩展。
5.4. 全面的网络解决方案:异步 HTTP、HTTP 队列、Socket 接口和 WebSocket 接口。
5.5. 在线更新:在线更新游戏的脚本和资源,绕开蛋疼的 App Store 审核。
5.6. 第三方 SDK 接口标准化:目前已经支持 App Store IAP, Umeng, Flurry, 91, DianJin, Domob, YouMi 等 SDK 的接口。而今年我们将把这些 SDK 的接口标准化,实现类似 cocos2d-x plugin-x 的架构。但因为是动态语言,所以在灵活性上会有显著优势。同时我们也会陆续添加其他 SDK 的接口。
5.7. 专职团队:随着使用者的增加,我们也会尝试提供一些商业服务,这样 quick 将会拥有一个专职团队。未来的发展更快更好。
未来,quick 将按照平均每月一个版本的速度发布。而即将到来的国庆版,将实现 UI 库的基本架构和布局管理,以及在线更新功能。
cocos2D的一些问答
Cocos2d-x是一款国际知名的开源2D手机游戏引擎。
保守估计,基于Cocos2d-x开发的游戏全球范围内已经突破三亿安装量。
知名手机游戏《捕鱼达人》的ios、Android、Bada、MeeGo和BlackBerry版本都是基于Cocos2d-x引擎开发。
目前Cocos2d-x引擎已经实现横跨ios、Android、Bada、MeeGo、BlackBerry、Marmalade、Windows、Linux等平台。
游戏引擎是什么东西
游戏引擎就是一套用来开发游戏的工具
为什么要用工具:游戏开发涉及的模块很多:渲染(就是把2d的图片和3d的模型在屏幕上画出来),物理(加速,碰撞),音效,AI,网络,资源管理,跨平台……等等等等,我们不会每次开发一个游戏都把这些模块和底层工具从头写一遍(会死人的=。=而且没必要),而是会去使用现有的成熟的工具或者加以扩展,这样开发速度和质量都比较有保证。这样的一套工具组件就叫做游戏引擎。(也有单独的渲染引擎和物理引擎等等)
工具的形式:有的是代码库(比如2d渲染引擎HGE,物理引擎Box2d,游戏引擎cocos2d-x,OGRE),有的带有很强大的可视化编辑器(比如Unity3d,虚幻,CryEngine)(网上都可以搜到试用版或者破解版,有兴趣可以自己下一个玩玩)