2019-12-08
Rust是一种追求三重性的系统语言:安全性、并发性和速度。这些目标与游戏开发非常一致。
我们希望为想在开发过程中,使用 Rust 的人建立一个吸引人的生态系统!想参与吗?加入 Rust GameDev working group!
想要加入下一期新闻?Send us a pull request 随意发送有关您自己的项目的 PR。
Le Train Dispatcher!itch.io,Patreon 允许你在完全模拟的铁路网络中,对火车进行路线选择。特别注意了光信号的实际管理(block 系统,开关保护),列车物理特性和弯道追踪。
该游戏使用 Rust 编程,主要使用的箱子是:ggez,imgui 和 serde。
这第一个版本完全可玩,但是如果您想发表评论,提出您的想法或为游戏的发展做出贡献,请不要犹豫地发布一个message。
独特的特点:
Veloren是一个开放世界,开放源代码的多人体素 RPG。该游戏尚处于开发初期,但可以玩。
11 月的一些更新:
完整的每周开发日志“本周在 Veloren …”:#40,#41,#42,#43。
观看新视频“什么是 Veloren?” @DoNeo 和@ RonVal4 撰写(俄语,但有英文字幕):
而且,他们写了俄语博文,关于 Veloren for dtf.ru。
Math Defense by @512Avx是儿童数学游戏。
通过加减乘除,解决数学问题击落敌方太空飞船,取得进展。多个难度级别,可以通过编辑 levels.json 文件完全自定义。随意创建自己的关卡,改变难度。
The source code is available here。
Sulis是一款角色扮演游戏(RPG),具有基于回合的战略战斗,深度角色定制和引人入胜的故事情节。
这个月,一篇文章“Basic Resource Management”发表:
在开发 Sulis 时,主要目标之一是,简便而强大的改装功能。为此,几乎所有资源都是通过简单的 YAML 文件定义的。这个想法是,任何拥有文本编辑器的人,都可以轻松创建新资源或编辑现有资源。但是,这立即提出了如何在游戏状态内管理所有这些资源的问题。在 Sulis 中,这是通过中央资源管理器处理的。
尽管是以 Sulis 作为示例的主体,但本文几乎适用于任何游戏。
另外,项目(游戏本身及其源代码)被 gamefromscratch.com 评估 [/r/rust_gamedev]。
Paddlers是一款多人实时策略浏览器游戏,旨在使所有 Paddland 的鸭子都开心。
在demo.paddlers.ch观看现场演示(测试用户的用户名是“ Tester”,密码是“ 1”)。
本月发布了第三个 devlog:”#3: Fun with Rust and distributed systems”。它概述了项目的体系结构和实现。
Antorum是一款多人 RPG,玩家可以在其中建立自己的角色,并与岛上日益增长的威胁作斗争。游戏服务器是可信的,用 Rust 编写,而客户端则用 Unity / C#编写。
本月,@ dooskington 发布了11th devlog “Drop Tables”关于处理怪物战利品的掉落格系统的实现。
^基本的船舶碰撞演示。
Tom Leys正在开发有关设计自主工厂船只和车站的“The Recall Singularity”游戏,本月他们发布了一个 devlog 帖子:“Recalling Nov 2019”。
你也可以看视频版。
摘要:
Slavic Castles是一款纸牌游戏,灵感来自Arcomage,用 ggez/good-web-game Rust 写的。
_讨论:/r/rust_gamedev_
@oliviff已发布v0.0.5..v0.1.0版本的Tennis Academy:
该游戏现已正式命名为“二十个小行星”。
@VladZhukov0已发表短视频: 更新/调整 gameplay。
Erasterra是一款地形赛车游戏。它使用 Rust 来实现配对服务器。
在 Rust 中实现 matchmaker 很有意义,因为它被设计为长期运行的服务,因此可能不会崩溃。Rust 只是使实现非崩溃软件变得更加容易 🙌
@logicsoup发了一系列更新,其中包括:
Alex Butler继续完善他们的“Robo Instructus“ 游戏;1.15, 1.16, and 1.17 versions were released:Rust 1.39,错误修正和更好的翻译。
GitHub’s Game Off是一年一度的,长达一个月的 game jam(制作游戏的黑客马拉松)。今年的主题是“leaps and bounds”。
你能活多久?
一个生活/环境模拟器,里面有一些 rogue-like 的东西。
新功能:
- 可以定义动画菜单和背景。
- 玩家名称可以在控制器配置中指定。
- 游戏结束时,显示赢家。
在幕后,进行了以下代码维护:
- 将所有测试转移到一个单独的箱子中 —— 速度提高了 1.9 倍,磁盘使用量减少了 65%。
- 资产被加载到单独的资产组件中 —— 更容易在不同类型的对象之间共享逻辑。
- 舞台的资产加载完成,为禁用某些舞台做准备。
@kooparse 发了一个帖子:关于实现一个 quick momery arena。
对于我的游戏,我决定将几乎所有实体存储在一大块内存中,程序启动时就只分配一次内存。我使用这种技术有三个原因。首先,我想要对游戏中的内存管理方式进行全面而精确的控制,其次,我想要更好的数据局部性,以便增加来自 cpu 的缓存命中率,最后,在运行时,要求操作系统分配更多内存是缓慢的。
wgpu是 Rust 中的一个库,用于解决大多数图形和计算需求。
wgpu-rs 0.4 箱子发布。wgpu 基于gfx-hal-0.4,并包含来自上一篇博文的变化;
一些值得注意的补充是:
Lyon 有该版本更新的示例,显示如何在wgpu
画矢量图。
还有,wgpu
现在是 Gecko 代码库的一部分,用于支持正在出现的 WebGPU 实现。
luminance是一个类型安全、类型级别和无状态的 Rust 图形框架。
这个月,@phaazon发布了“Learn Luminance”一书。Luminance 的 wiki 被弃用了,这本书现在成为了新用户使用 Luminance 的重点参考,也成为了那些想尝试 Luminance,但对渲染一无所知的人的参考。
_讨论:/r/rust_
顺便说一句,@resinten 正使用 luminance,搞着一个游戏:
Pixels by @kodewerx是一种基于 wgpu 的小型’硬件加速’像素帧缓冲器。它应该用于模拟器,软件渲染,二维动画和游戏原型。
查看URLO 通知贴文.
_讨论:/r/rust_gamedev_
metropolis by @GuyL99是一个高级图形渲染器,具有易于使用的功能。
这个箱子应该使图形编程容易,功能如矩形,椭圆,线,文本,等等,它的速度在一台辣鸡电脑上,有 60-120 FPS 。
_讨论:/r/rust_gamedev_
^点击查看a demo video.
skulpin by @aclysma结合 Vulkan 和Skia。
ultraviolet v0.2 发布 by @fu5ha。此版本引入Bivectors以及Rotors 和提高了可用性。
_讨论:/r/rust_
还有,Rayn v0.3 最近也发布了 —— 它是一个基于 CPU 的路径跟踪渲染器,专注于渲染 SDFs(特别 fractals-分形)(基于ultraviolet )。
Mun是 gamedev 的一种脚本语言,专注于 Rust 编写的快速迭代时间。
作为一种语言,Mun 还远未准备好生产,但是这个版本让您看到了原生支持的热重新加载,未来的样子。这个版本的目的是展示我们的进展,并收集那些勇敢的灵魂愿意尝试在这个早期阶段的反馈。
要开始,请阅读the Mun Book看一看Rust examples.
对于 Mun 的完整路线图,请查看Trello board.
_讨论:/r/rust_
glsl是将 GLSL 格式的源码,解析为类型化 AST 的箱子。箱子公开了几个方法、类型和模块,对 AST 执行转换,包括输出 GLSL、SPIR-V 生成和使用可能的立即可访问 AST。
#line
, #pragma
, #ifdef
,等等)现在都已实现;SPIR-Q<…>对于动态图形/计算管道构建、着色器调试等非常有用。SPIR-Q 目前与 SPIR-V 1.5 的一个子集兼容,具有大多数图形功能,但没有涉及 OpenCL 内核功能。顺便说一下,SPIR-Q 目前只依赖于 Rust 标准库。
_讨论:/r/rust_
Iced是一个与渲染器无关的 GUI 库,主要关注简单性和类型安全性。
这个月,一个Iced 测试版本 was released。最重要的新功能是:
视频来自Embark斯德哥尔摩 Rust 会议:
“一个 Rust 和 C++ 的邪恶合体, in physx-rs” - Tomasz Stachowiak Embark 的高级软件工程师,在创建 physx-rs 开源项目期间,详细介绍了结合 RIST 和 C++代码的经验。[/r/rust];
“Rust, Open Source, Game Dev” - Jake Shadle解释 Rust、开源和游戏开发如何结合在一起[/r/rust];
还有,Embark 开始了一个新时讯。看看第一期“11/08/2019 - Rust, Blender, Hacktoberfest, and more: Newsletter 001 from Embark”.
一篇初级教程文章,教授如何使用nannou 这个创造性的编码框架。
The Roguelike Tutorial by @blackfuture包括近 60 章现在和继续增长!
11 月的一些更新:
nes-rust by @superhoge - NES(Famicom) Rust 编写的模拟器,编译成 WASM 到网络上。
查看online Demo。
“Rendy 的质疑”讨论;
查看所有的会面 issues包括书面记录或加入下一 meeting。
只是一个有趣的 Rust 游戏开发从过去的链接。:)
^ 单击以查看发布的预告片
“Adventures of Pascal Penguin” by Matthew Michelotti是一款基于 2D 网格的益智游戏,其关卡围绕滑冰设计。
当你试图到达每个关卡的末端时,推块并从保险杠上反弹。抓住隐形球穿过固体物体。在沸腾的熔岩和冰冷的水上建立一条安全的道路。有 40 个关卡分布在 5 个区域。你能全部完成吗?
使用Gate游戏引擎。
今天都是新闻,谢谢你的阅读!
订阅@rust_gamedev on Twitter或者/r/rust_gamedev subreddit如果你想得到新消息!
[](https://rust-gamedev.github.io/posts/newsletter-004/)
了解 Rust 游戏开发工作组的最新进展和最新进展。