开源游戏引擎

通过视频游戏,越来越多的学生正在学习开源世界。 像FreeCivMinetest这样的开源游戏邀请年轻的玩家来研究源代码,而像SpigotMC这样的项目则使他们能够编写插件来扩展自己喜欢的游戏。

不幸的是,用于构建游戏的开源工具并不具有相同的地位。 罗切斯特理工学院的学生Matt Guerrette希望通过其开源游戏引擎Hatchit来帮助改变这一现状 。

Hatchit简介

Guerrette和同学Arsen Tufankjian于2016年2月创建了Hatchit。他们认为,他们在课堂上和个人项目中使用的流行游戏引擎更注重设计,并且缺乏所需的技术细节。 他们共同决定构建自己的游戏引擎,其目标是使开发人员接触该过程的技术方面。 Guerrette说:“我们希望为您提供游戏引擎编程方面的更多访问权限。”

Hatchit用C / C ++编写,并获得GPL和LGPL的混合许可。 该项目最初旨在利用DirectX API进行开发。 但是,Guerrette和Tufankjian在开始时遇到了意外事件。 Nvidia与DirectX API竞争发布了Vulkan API。 他们试图同时支持两个API,但后来选择专注于Vulkan。

灵感

Guerrette希望通过Hatchit完成特定类型的任务:他希望能够构造渲染通道,而不是由引擎在内部对其进行处理。 较早的项目激发了对此功能的需求。 通过能够实时创建渲染通道,开发人员将能够创建类似于自定义着色器的东西,该着色器可以实时将顶点弯曲为笔直的几何形状。 他较早的项目《井井之地》(Mineshaft Mayhem )演示了此概念, 井井井架似乎是在翘曲和转弯,但实际上在编辑器中通道是直的。

现在发生了什么

自从开始该项目以来,Tufankjian毕业了,现在就职于Amazon Game Design。 整个夏天,社区开始对该项目表现出兴趣。 他们已经收到核心开发团队外部的一个成员的拉动请求,并且针对该引擎的不同存储库提出了多个问题。

Guerrette对于今年的项目有几个里程碑的想法。 他正在从事的最大任务之一就是实现并运行Vulkan渲染器多线程设计。 这极大地加快了在项目上工作时的渲染时间,并且也被证明是迄今为止最大的挑战之一。 除了多线程设计之外,他还希望使用JSON序列化游戏对象和组件。 这将使编辑器应用程序更容易使用Qt修改游戏数据和操纵配置。

公开工作的好处

在GitHub上进行该项目的工作以各种方式使该项目受益。 最有效的方法之一是让人们提出问题并引起对部分代码的关注。 Guerrette说:“让世界关注您的项目来发现错误是一件好事。” 在一种情况下,有人针对一个较旧的库提出问题,该库在计算中出现了数学错误。 Guerrette发现自由使用其他开源库和该引擎的依赖项特别有用。 所有许可证都是兼容的,没有任何问题。

开源工具还使一些技术挑战变得更加容易。 Hatchit团队面临的最大挑战之一是编写构建系统以使用构建系统生成器软件并保持与Windows和Linux的兼容性。 在项目中本地链接依赖项很不方便,从而使项目不必要地庞大。 借助git,他们使用子模块链接存储库中的依赖项,并在编译Hatchit时从源代码构建它们。 Guerrette说:“能够链接依赖关系存储库确实非常有用,特别是对于在Windows上进行开发。” 此外,GitHub和其他服务上的一些持续集成功能使快速测试更改的兼容性变得容易。

挑战性

团队在此过程中面临一些挑战。 随着使用git子模块的便利,也很难跟踪上游的变化。 有时,依赖关系可能会在项目中中断。 然后,团队必须检查项目是否在上游进行了更新或更改,或者是否需要在其项目中本地进行修复。

此外,社区拓展是Guerrette作为新项目负责人希望关注的挑战。 他在YouTube频道上分享开发更新,并偶尔在livecoding.tv上流式传输他的开发。 使新贡献者更容易参与其中的一件事是建议他们尝试从源代码构建引擎。 这为潜在的开发人员提供了编译引擎的经验,并引导他们阅读了许多项目文档。

参与其中

Hatchit团队仍在开发游戏引擎,并正在寻求社区的参与。 为了参与进来,Guerrette建议检出Hatchit Gitter聊天并查看主存储库上的README文件 。 欢迎任何形式的请求,无论是请求请求还是提交问题。

翻译自: https://opensource.com/life/16/10/hatchit

开源游戏引擎

开源游戏引擎_Hatchit:开源游戏引擎相关推荐

  1. 历数2013年优秀的开源游戏引擎与开源游戏项目

    2013年是移动游戏爆发的一年,也是开源游戏爆发的一年!在这里,我们历数一下2013年都有哪些优秀的开源游戏诞生,还有哪些优秀的开源游戏技术解决方案诞生! 开源跨平台2D客户端引擎 Cocos2d-x ...

  2. 国产游戏面临新一轮洗牌?虚幻4引擎免费开源

    提到虚幻引擎,小编我第一个想到的就是<镜之边缘>.<侠盗猎车手5>.<铁拳7>和<星球大战>等大作.虚幻4无论是在光影渲染和物理系统的处理上都十分出色. ...

  3. 为什么Cocos2D开源引擎最适合游戏创业团队?

    http://www.csdn.net/article/2012-10-09/2810603-wangzhe-cocos2d Cocos2D王哲MDCC 摘要:Cocos2D-X核心开发者王哲认为,只 ...

  4. Cocos2D开源引擎最适合游戏创业团队

    [由CSDN和创新工场联合举办的"移动开发者大会•中国2012"将于2012年10月19-20日在国家会议中心举办.移动开发者大会(MDCC)是中国最大规模的移动开发者顶级盛会,历 ...

  5. 为什么在很多主流引擎都开源的情况下,网易游戏还在做底层技术创新?

    在各路媒体平台上,关于基础研究和底层技术创新的讨论已经持续霸占了一周的头条.一个被赋予了众多意义的事件,引发了各行各业对于核心技术的关注. 底层技术创新是真正的经济基础,它决定了上层建筑的方向.一家公 ...

  6. 3GU仙果游戏达成三地技术引擎战略合作联盟

    从封测到内测再到公测,每款游戏从诞生到辉煌都有一个漫长的历程,其中的每一个阶段都饱含了游戏开发人员的智慧与心血.相比手机网络游戏的研发,单机游戏或者电视游戏往往是产品上线之后研发便结束了.而一款成功的 ...

  7. 游戏引擎开发和物理引擎_视频游戏开发的最佳游戏引擎

    游戏引擎开发和物理引擎 In this article, we'll look at some of the most popular game engines for video game deve ...

  8. CutJS – 用于 HTML5 游戏开发的 2D 渲染引擎

    CutJS 是轻量级的,快速的,基于 Canvas 开发的 HTML5  2D 渲染引擎,可以用于游戏开发.它是开源的,跨平台的,与现代的浏览器和移动设备兼容.CutJS 提供了一个类似 DOM 树的 ...

  9. 开源,免费,跨平台——白鹭引擎(Egret Engine)

    http://blog.zinewow.com/post/376.html Egret Engine(白鹭引擎)是一款使用 TypeScript 语言构建的开源免费的移动游戏引擎.白鹭引擎的核心定位是 ...

最新文章

  1. 【易创课堂】第4期深圳开讲,还有大包好礼!
  2. java考题_Java考题知识点
  3. linux mysql授权远程登录,Linux中 MySQL 授权远程连接的方法步骤
  4. java newfile() bug_java初学者小白?遇到BUG就慌了?有关java异常的十大问题详解!...
  5. office卸载工具、安装工具
  6. 手机端页面自适应解决方案-rem布局
  7. SAP License:国网面试手记
  8. OFFICE使用技术:让几个自选图形间距相等
  9. 【黑马程序员数据库】数据库基础大总结
  10. IT知识点及书籍推荐
  11. Hadoop伪分布式
  12. 这五款特别的蓝牙芯,哪款最合你应用
  13. 为什么有些大公司技术弱爆了?
  14. DLL注入的8种姿势
  15. 非递归实现二叉树的遍历
  16. OUC软件开发实验5
  17. 编译链接脚本lds文件
  18. SAP 安装SAPlink
  19. python怎么做类型标注
  20. [转载]JavaFX制作地图编辑器

热门文章

  1. Ansible的简单使用
  2. 【332】Machine Learning
  3. 【Rpc】基于开源Dubbo分布式RPC服务框架的部署整合
  4. scikit-learn学习之神经网络算法
  5. Mac OS X将CSV格式转换为Excel文档格式,Excel转CSV中文乱码问题
  6. Swift - 使用NSURLSession同步获取数据(通过添加信号量)
  7. 在C# 获取当前应用网址
  8. 实用的网站***步骤
  9. 好用又被遗忘的Char,String 方法
  10. 使用easyexcel导出时行高不自动调整的解决