山寨Unity3D?搜狐畅游的免费开源游戏引擎Genesis-3D
看到了《搜狐畅游发布3D游戏引擎Genesis-3D 基于MIT协议开源》的新闻,就把这个引擎下载安装了。
用过Unity3d的朋友会发现,Genesis-3D的界面非常类似于Unity3d:主菜单都是“新建工程”、“新建场景”;在场景树中可以创建摄像头、立方体、粒子、灯光等;在左下角的“工程”中可以创建C#脚本、材质、精灵等;屏幕中间区域是场景编辑器,可以到“游戏”标签中查看预览效果;脚本编辑器也是使用MonoDevelop;也可以像Unity3d一样直接把游戏部署到Android、Windows PC、IOS、网页等平台下,实现一次开发多平台部署的效果。
游戏脚本同样是和GameObject绑定,语法和类库有着浓重的Unity3d的影子,相似点太多了,感兴趣的可以下载下来感受一下。
像Unity3D一样,Genesis-3D也是使用Mono实现的跨平台,脚本使用C#,物理引擎使用Nvidia的Physx。
Unity3d可以支持游戏一次开发就部署到Android、IOS、Windows等平台下,而且Unity3d授权费比较便宜,只有几千美元,所以迅速成为了实战占有率非常高的游戏开发引擎,据2013年初Unity官方给出的数据,IOS上已经有55%的游戏使用Unity3d开发,Android上也有很多游戏使用Unity3d开发。
这次搜狐畅游推出的Genesis-3D更给力,基于MIT协议开源引擎,并且游戏开发者可以免费使用、随意修改引擎代码。如果Genesis-3D官方的社区支持足够给力,那么游戏开发者将会有了更好用、开源且免费、国产的游戏开发引擎。
Genesis-3D源代码基于MIT协议发布,不过到目前为止,Genesis-3D还没有对外开放,据官方论坛帖子说明(http://bbs.9tech.cn/topic-365362-1.html),代码将会在12月上旬发布。不过发布形式是提供zip包下载,看来还是“给你看代码”的“开源项目”,并没有提供官方的源码控制服务器,这样社区很难去贡献代码了。如果把代码托管到CSDN的Code平台、github、codeplex等会更好,不知道官方以后是否会做这件事,毕竟不接受社区贡献的开源项目并不是真的开源(参考我的文章《“开源”是什么,能吃吗?》http://www.cnblogs.com/rupeng/p/3139537.html)
很多人见到Genesis-3D说的第一句话就是“这不就是山寨的Unity”吗?下面是Unity的界面:
虽然官方一直说“Genesis-3D是搜狐畅游投资3000万美元自主研发,,从未对任何引擎进行抄袭或侵权。Genesis-3D在遵守开源协议的基础上,最底层的线程、内存等管理库使用的是Nebula3和Ogre的部分代码;中间层使用了模块化设计,包括MyGUI、OpenAL、PhysX等第三方的开源库或者商业库;上层使用组件化的设计思想;编辑器使用了WPF进行界面开发,同时使用SWIG来暴露C++接口供C#使用。作为一款开源引擎,我们使用MIT协议。我们大量使用了开源社区的产品,遵守并按照授权协议公开源代码以及对于第三方开源库的修改。”有一些人也辩解“只是设计器界面上吸收了Unity的灵感”,不过据小道消息(从微博看到的消息,本人不为此负责,请勿转发抄500):搜狐畅游曾经购买过Unity3d引擎,并且做为大客户获得了Unity3d的源代码(注意Unity3d不是开源的,花大价钱买商业引擎送源代码是一个行业惯例),开发Genesis-3D过程中曾经组织开发人员加急把Unity3d的源代码改的让人抓不到抄袭的证据。据说搜狐畅游开源Genesis-3D的原因也是因为使用的Ogre、MyGUI、OpenAL的这些开源项目,由于开源协议的要求所以不得不开源(不过,总比那些使用了开源项目还不遵守开源协议的臭流氓企业强多了)。再次声明,仅是微博上看到的小道消息,作者杨中科不对此小道消息负责。
当然我更愿意相信这是一款纯国产的游戏开发引擎,用国产,我骄傲,还免费,更骄傲!
还有一个好消息,基于Genesis-3D开发的游戏,如果通过搜狐畅游的渠道进行代理,畅游优先代理运营。搜狐畅游免费开放Genesis-3D的目的也是让游戏开发者环绕在他的周围,由搜狐畅游打造一个游戏生态链,就像触宝科技通过Cocos2d-x打造的平台一样。中小型游戏开发商使用Genesis-3D没问题,但是一些大的游戏公司我想可能还不会认Genesis-3D的帐的,毕竟大的游戏公司更倾向于使用Cocos2d、unity、ogre等中立的引擎或者自主研发的引擎。
无论怎样,对于搜狐畅游发布Genesis-3D免费且开源,我还是顶一个!无论是Unity3d还是Genesis-3D都是主要使用C#做脚本语言,对于一些C#/.Net程序员转行做游戏开发都是一个好的开始!希望Genesis-3D能走好脚下的路!