Beyond Engine是由成都超越互动网络科技有限公司自主研发的一款跨平台3d游戏引擎。

目前引擎正致力于内部研发游戏项目《星际奇兵》,demo包链接:http://www.gameres.com/msg_298572.html

引擎代码托管:https://github.com/BeyondEngine/BeyondEngine

引擎有如下特点:

1.      支持 所见即所得Play & Edit功能:能在编辑器中实时切换游戏和编辑状态,随时修改,立刻测试,从而提高工作效率。

2.      跨平台支持:目前支持 Windows, IOS, Android, 在未来会支持winphone。所有平台均共享一套架构,维护成本低。

3.      一键编译以及发布:由CMAKE支持了工程跨平台(不需要针对每个平台一个工程了),由android tool chain + visualgdb 支持安卓轻松部署和一键发布,让安卓Native开发更加轻松。

4.      静态数据反射:将C++代码中的变量自动反射到编辑器面板。目前支持的类型有:bool,int, unsigned int, float, double, string,枚举, 指针,std::vector, std::map,color, file path。大大减少了游戏开发流程中策划和程序员的交流成本,让程序员减轻了功能逻辑的开发负担,也调动了策划的参与积极性。

5.      组件编程模式:将函数和逻辑流程图形化,轻松实现或扩展自定义组件。降低了游戏开发和维护的成本,让所有人(即使不懂编程)都可以参与到游戏研发中。

6.      原生的数据驱动架构:引擎将所有的游戏内容组织成数据进行管理,最后游戏内容会被保存为二进制数据文件,游戏任何修改(参数修改,逻辑流程修改等)都可以通过修改该文件实现,彻底摒弃脚本语言,再也不必为热更新方案和配置文件烦恼(甚至可以根据自己的情况对数据整体批量修改,数值策划的好帮手)。

7.      更强大的编辑器和工具:轻松支持编辑器和游戏的多语言切换,支持多种分辨率下的游戏模拟,方便的性能分析工具(内存分析工具研发中),易扩展的UI、动画、地形、特效、AI等等编辑器。

相对于其他引擎的优势:

Cocos2dx:

1.     Beyond Engine 有更合理的架构和更好的代码风格。好的架构可以让使用者不易出错,好的代码风格可以让阅读者更快更准的理解作者意图。

2.     Beyond Engine 有更强大的开源编辑器和开发工具。所见即所得和数据反射可以更高效的开发, 工具开源意味着使用者可以随心所欲的根据自己的需求进行特殊定制和扩展。

3.     Beyond Engine 有更合理的跨平台方式。所有平台均共享同一份架构和CMAKE文件,并且支持一键编译,不用额外安装软件。

4.     Beyond Engine 的数据驱动架构避免了脚本语言带来的难以维护和调试复杂。

5.     Beyond Engine 有更简洁高效的部署,开发,发布方案。visualgdb可以让Visual studio完全代替eclipse进行安卓开发和部署。

6.     Beyond Engine 有更高效的性能、更宽的扩展空间和更强的功能,对自定义扩展支持支持得更为友好。

ps: 特别说明一下,我对cocos2dx引擎持非常肯定的态度。cocos2dx作为世界市场占有率最高的引擎,对推动全球游戏开发起了很大的作用,也让我们国内的开发者有了前进和超越的动力。作者王哲先生是我非常尊敬的、优秀并谦逊的人,通过和他的交流,我认为cocos2dx和Beyond Engine的最大区别在于,cocos2dx针对的游戏研发群体为大学生,新手和创业者;Beyond Engine是针对有一定经验的游戏研发人员。正是由于这样的定位所以会造成一定的差异性,这属于很正常的情况。我客观的进行了一次比较,如有冒犯之处,还请见谅。

Unity3d:

1.    Beyond Engine开源。

2.    Beyond Engine更轻巧。对于制作大型游戏,unity3d更加成熟。但对于制作中小型游戏,Beyond engine学习成本更低,速度更快。

3.    Beyond Engine还在不停的完善和进步当中。对于国内开发者会提供更好的支持。

Unity3d和cocos2dx都是非常了不起的引擎,它们降低了游戏研发的门槛,让非专业人士更多的有机会参与游戏研发。但是从另外一个角度上来说,软件开发没有捷径,想要更快的开发优质精品游戏,开发人员的专业素养始终比用什么引擎更加重要。

特性演示:

1.  数据反射:

step 1.  重载ReflectData函数如下:

step 2.  重新编译代码.

step 3.  打开编辑器:

step 4.  各种数据类型的展示:

基本类型,当int 设置为15的时候,unsigned int才会显示,因为我们在反射参数中用了VisibleWhen关键字

枚举类型,支持自动映射枚举值和字符串。支持显示自定义枚举字符串。

std::vector类型,内部类型支持自动解析并且可以嵌套,比如vector可以嵌套vector或者指针,再被反射出来,现在是简单的反射了一个int。

std::map类型,和std::vector类似。key只支持基本类型。

指针实例化前(点加号实例化对象)

指针实例化后。实例化是自动解析的,会将对应类型的reflectdata执行一次。

抽象指针实例化之前,会弹出对话框列举所有可能被实例化的子类型。

颜色属性指定。属于自定义扩展。

文件属性反射,内部用string来保存。属于自定义扩展。

纹理属性反射,属于自定义扩展。

这个是我们在反射代码最后中做的依赖反射。可以链接其他TestComponent或者它的子类。

以上就是Beyond Engine提供的属性自动反射功能。该功能同时支持自动读入修改后的数据,只需要一份代码就可以维护数据的导入和导出。

2. 组件编程模式:

step 1.  定义自己的组件:

处理想反射给策划使用的信息:

step 2.  重编译代码。

step 3. 打开编辑器。

step 4.  简单的逻辑展示:

策划在编辑器中,将进入的依赖链接到了发起任务和播放音乐两个组件之上。

意味着,进入这个场景的时候,会先发起某个任务(此处为播放相机动画),然后播放某段背景音乐。这个逻辑会最后被序列化为数据解析。当我们需要更新某段逻辑的时候,只需要在编辑器中修改依赖或者参数,再重新导出数据,并热更新到游戏就可以了,无需修改代码。

3. 工具和编辑器:

1. 语言切换

提供了多语言的维护工具,轻松一键切换编辑器 / 游戏的语言。

2. 性能分析器

利用EIP自动根据位置进行层级判定,可以清晰的找到瓶颈位置所在。(数据不好看是debug的原因,drawcall太大是个编辑器bug,接下来就处理,项目drawcall稳定在60以内)

3. 模拟分辨率

引擎使用虚拟的逻辑分辨率,然后用FBO最后重绘了一次,这样方便直观的看到不同分辨率设备上游戏的布局和表现。

4. 实时相机参数

小,但是非常有用的功能

5. 批量修改

由于引擎本身是数据驱动的,所以批量修改非常容易。

6. 各种编辑器

UI模式下,可以轻松修改UI的位置,大小,锚点,旋转等属性。

动画模式下 ,可以用一个flash - like的工具编辑属性,目前写的比较粗糙,只支持线性插值,支持多种播放方式和预览。

地形编辑模式和特效编辑器开发之中。

游戏模式下可以立刻体验游戏,并随时切换回其他编辑模式中。




视频演示(请使用超清画质):

http://v.youku.com/v_show/id_XODEyMDU5MDg0.html

点击打开链接

引擎代码托管:https://github.com/BeyondEngine/BeyondEngine

关于引擎:

1. Beyond Engine的由来是:我们在开始手游研发的时候,发现Cocos2dx工具支持不够强,开发效率偏低,并且Cocostudio不开源导致了我们无法针对自身需求改进工具;UNITY3D不开源,并且对于制作中小型游戏显得比较牛刀,学习成本相对较大。所以我们在以往经验基础上,开发了Beyond Engine。

2.  Beyond Engine不是基于cocos2dx修改而来的,但由于考虑到OpenSL对老版本安卓手机的支持并不是很好,为了照顾兼容性,声音部分直接照搬的cocos2dx代码。我们也没有模仿unity的意图,我们希望BeyondEngine能同时吸取cocos2dx和unity3d的优点,并在之间取得一个均衡。

3. 使用的三方库包括:wxwidgets, libpng, libzip, freetype, glfw, libjpeg, libtiff ,beats,开发环境为VS2012。

4. 代码约有10万行(包括编辑器),除了数据反射和组件系统需要做一些概念性解释外,其他部分很容易上手。

5. 目前整体架构基本已经稳定,经过一段时间的使用,没有产生哲学冲突问题,但是部分功能点仍然存在一些可被优化的地方,编辑器的易用性也有很宽的改进空间。

6. 目前引擎的前进方向由项目《星际奇兵》在推动,被证明用于制作2d游戏以及中小型3d游戏时,开发效率会非常高。我们非常欢迎对研发游戏引擎有兴趣的伙伴加入

7. 我们真诚希望和各位研发同僚有任何形式的合作。我们也希望借这个机会能促进手游研发交流,如果能集众智做好一款国产引擎,我们将非常荣幸。

8.  如果您希望使用Beyond Engine进行研发,我们会免费提供培训,技术支持和维护

关于我们:

我们的团队由来自育碧、盛大、游戏蜗牛、好玩123等知名游戏公司的精英组成,平均研发经验超过8年。这是我们第二次创业,之前曾做出次世代端游被台湾OMG千万代理。
大家一起共事多年,深知创业的辛苦,更愿意为之奋斗。

我们从产品制作到技术实现都具有能独当一面的人,团队完整。虽然我们在手游圈还属于新团队,但在端游上的技术积累能让我们在手游这个领域做得更好。

我们在产品市场价值预判,和客户端表现力方面非常有信心。希望用我们的实际行动,满足当前的精品游戏战略。目前我们的项目《星际奇兵》正在紧锣密鼓的研发当中,预计会在年底上线。 demo链接:http://www.gameres.com/msg_298572.html

联系方式:

Beyond Engine QQ群: 136750205

百度贴吧:超越引擎

国产手游开源引擎Beyond Engine简介 [附视频]相关推荐

  1. 国产手游开源引擎Beyond Engine简介

    Beyond Engine是由成都超越工作室自主研发的一款跨平台3d游戏引擎. 目前引擎正致力于内部研发游戏项目<星际奇兵> 引擎有如下特点: 1. 支持 所见即所得 和 Play &am ...

  2. 传奇手游战神引擎开服教程架设教程工具全套图文教程

    传奇手游战神引擎开服教程架设教程工具全套图文教程 一.配置服务器环境 首先把版本下载放在服务器D盘 解压好之后点开安装 依次安装mongodb. msvbcrt.npp.robomongo 这四个程序 ...

  3. 传奇手游战神引擎多机多区配置方法

    传奇手游战神引擎多机多区配置方法 上篇文章给大家分享的是战神架设教程,今天给大家分享战神引擎多机多区配置方法 配置前准备 1.服务器并架设好环境(开几个区就需要几台服务器) 2.服务端(要开几个区就要 ...

  4. 《梦幻西游》手游主程刘强:如何提供一个稳定高效的MMO手游服务器引擎

    原标题:原创 <梦幻西游>手游主程刘强:如何提供一个稳定高效的MMO手游服务器引擎 整理/手游那点事子安 随着手游越发端游化和重度化,衡量一款手游的数据除了传统的留存率.ARPU等外,还新 ...

  5. 国产手游在日本是如何破除“加拉帕戈斯效应”的

    文|编程浪子 来源|智能相对论(aixdlun) 日本游戏一度代表了业界的最高标准之一,其市场长久以往也被视作是一个高度封闭的市场. 相较于日本游戏产业的成熟,我国由于2001年以来的游戏机禁令与盗版 ...

  6. 盘点18款月流水千万国产手游的来龙去脉

    原地址:http://blog.sina.com.cn/s/blog_72b936d80101g845.html 盘点18款月流水千万国产手游的来龙去脉 千万月流水手机游戏,国内已经出现了好多款,下面 ...

  7. 传奇手游开服教程:传奇手游战神引擎架设教程

    传奇手游开服教程:传奇手游战神引擎架设教程 一.配置服务器环境 首先把版本下载放在服务器D盘 解压好之后点开安装 3 依次安装mongodb. msvbcrt.npp.robomongo 这四个程序 ...

  8. esp8266手机端app_OKEX手机端APP提币教程(附视频)

    OKEX手机端APP提币教程(附视频) 相信很多币圈资深小伙伴都知道OKEX交易所都可以提币,那么提币到底是什么意思呢?提币简单来说就是资金转账,也就是把你现有的币转账到其他平台,这里就需要一个转账平 ...

  9. 半数以上国产手游曾使用他开源的引擎:Cocos和王哲的故事 | 二叉树视频

    2007 年,苹果发布 iPhone,从此开启了移动互联网时代,人们想用智能手机玩游戏,然而传统的游戏引擎最开始瞧不起新平台,不愿意开发适配版本,时代在呼唤新的游戏引擎. 在这样的背景下,一批生而移动 ...

最新文章

  1. Visual Studio 2017 第三方依赖设置,附加依赖项和附加库目录
  2. 【好书试读】支付宝体验设计精髓
  3. 大数据技术-hive窗口函数详解
  4. goland 配置goroot找不到SDK
  5. Android中的拍照camera和camera2
  6. fastdfs-客户端配置
  7. C语言,利用循环语句找出1000以内的水仙花数
  8. 微信开发七(配置js-SDK,步骤2)
  9. 男人要明白的22件事
  10. 微信公众帐号开发教程第13篇-图文消息全攻略
  11. Flex 布局学习笔记
  12. 计算机软件著作权许可协议范本,软件著作权使用许可合同协议范本模板.doc
  13. java sql拼接字符串_java字符串拼接(SQL)
  14. 53.创建线程_beginthread
  15. 电视剧《大秦赋》最近很火!于是我用Python抓取了“相关数据”,发现了这些秘密.........
  16. html 超链接打开pdf,HTML利用超链接打开链接文件
  17. [车联网安全自学篇] Android安全之Android so文件分析「详细版」
  18. python用math运行三角函数_Python中的数学模块:Math和Cmath 算术函数 三角函数 双曲函数 幂函数和对数函数 复数......
  19. 推荐一个可能是最全的Venn图一站式绘制工具
  20. web前端-仿优车诚品首页二级分类菜单

热门文章

  1. 电子元器件与设计库(原理图库、PCB库)的关系
  2. ELK - X-Pack设置用户密码
  3. 关于身份证号码位数转换计算方式
  4. Postgres时间字段设置默认值
  5. arm汇编标号globel和word解释
  6. 守住网络安全的第一道防线
  7. docker疑难杂症:docker命令Tab无法自动补全
  8. 纯css画一个樱桃小丸子
  9. JAVA中阻塞队列的类别和区别(转载)
  10. 使用OPC DA接口将robotdtudio与西门子sim进行仿真连接