早在8月,我就开始谈论Rust游戏开发工作组,而社区(在过去的一年中已经准备好了各种游戏工具)做出了肯定的回应!
组成该工作组的棘手之处在于,它早已以高度分散的形式存在:
- 刺客信条:起源-更新后的专营权
- 雨伞,换能器,活性水流和蘑菇(Pt.1)
- Subversion的下一个发行版–发行版1.10中的预期–今年三月
- Kenalan Dengan Hololens…
- 模拟人生派菜单
- 网站:AreWeGameYet.com
- 聊天:Discord(#gamedev),IRC(irc.mozilla.org#rust-gamedev),Matrix(#rust-gamedev:matrix.amethyst-engine.org)
- 论坛:/ r / rust_gamedev
- 推特:@rust_gamedev
- GitHub上的rustgd
我正在与涉及以上任何方面的所有人交谈,以便我们可以尽快共同管理所有这些不同的属性,降低我们的集体公交系数并提出统一战线。
我们的共同目标是什么? 我们还没有真正进行过大规模的讨论,但是我敢说一个相当简单的答案:
我们希望将“游戏开发”作为 目标领域 。 即我们想在这里出现:

为了更好地了解现有的4个目标域如何实现其议程,我查看了各自的登录页面,并指出了一些不同的目标设定方法。 Rust网络服务工作组对我很重要。 他们的任务说明如下:
我们的目标是通过以下方法来改进Rust中的Web编程:
增强Web组件的质量 ,即评估Web编程的基本板条箱的状态(例如
http
和url
),并通过编写文档和示例,进行API改进,标准化接口以及在某些情况下编写全新的板条箱来进行改进。Building Tide ,它是基于上述组件的模块化Web框架和有关什么是组件,如何直接使用它们以及如何将它们集成到框架中的大量文档的组合。 “浪潮”这个名称是指“浪潮抬高了所有船只”,传达的意图是,这项工作旨在改善Rust中所有 Web开发和框架的共享,兼容性和改进。
…而且由于这些陈述没有得到充分指定(按预期),因此我对自己进行混音感到非常有信心。 开始:
我们的目标是通过以下方法来改善Rust的游戏开发:
增强gamedev工具 ,即评估游戏编程的基本板条箱的状态(例如
gfx-rs
,winit
,nalgebra
和specs
),并通过编写文档和示例,进行API改进,接口标准化以及在某些情况下编写来进行改进全新的板条箱。
很难说这对游戏开发领域是有害的。 下一个是更多的观点。
构建Amethyst ,它是基于上述组件的模块化游戏框架以及有关组件是什么,如何直接使用它们以及如何将它们集成到框架中的大量文档的组合。 这项工作旨在改善Rust中所有游戏开发和框架的共享,兼容性和改进。
尽管我很乐意在随后的对话中更加忠实地捍卫我的推理,但我会尽量少说几句话。 如果紫水晶是公开交易的股票,以下是我对该股票进行投资的闪电般的理由。
在GitHub上看到这样的图片并不常见:

开源社区是我在Discourse的全职工作,所以我看到的比大多数人更多。 每个人都像是一份简历,经常在细节上令人难以置信。 我认为,根据其开放数据(包括README
)判断,我已经非常擅长猜测项目是否会顺利进行。
没有银弹指标,但是我最喜欢的一项是“ 在延长的时间内定期缴纳的人数 ”,如上所示。 99.9%的开源项目看起来不是这样。 以我的经验,绝大多数具有此类贡献者图的项目最终为其父级生态系统以及整个软件行业产生了巨大的价值。
紫水晶已经形成了合法注册的组织。 不仅如此,它还从Rust工作组之类的公司那里借来了很多想法,以组建自己的高度自治的团队,供贡献者随意选择。
Jeff Atwood(我的老板)在解释Discourse为什么选择Ruby编程语言时说得很好:
Ruby 不再酷了 。 是的,你听到了我的声音。 再也不用编写Ruby代码了。 几年前,所有很棒的人都转向使用Scala和Node.js。 我们的项目不是很酷,只是一堆无聊的旧Ruby代码。 就个人而言,我很高兴 Ruby现在已经足够成熟,以至于社区不再需要假装自己是街上最酷的孩子。 这意味着我们其余的人只要愿意做,就可以卷起袖子,专注于与同龄人一起做东西的使命,而不是疯狂地跑来跑去尝试下一件闪亮的事情。
经过数十年的发展,ECS终于成为主流:
作业系统和ECS – Unity
尽早使用Unity的新型高性能多线程系统,以充分利用多核…
unity3d.com
在Unity的领导下,游戏行业中非常重要的一部分正在将ECS视为他们面临的许多扩展问题的高级设计模式。 ECS不再是一种边缘现象,它正迅速变得令人厌烦 。
就目前而言,除非我们为Rust游戏开发工作组的核心问题确定合适的结构,否则如果有人问我“我如何为Rust gamedev的生态系统做出贡献?”,我将回答:
请为我们的旗舰项目 Amethyst 做出贡献 。