2019-10-05
欢迎来到 Rust GameDev 工作组的月刊第二期。
Rust是一种追求三重性的系统语言:安全性、并发性和速度。这些目标与游戏开发非常一致。
我们希望为想在开发过程中,使用 Rust 的人建立一个吸引人的生态系统!想参与吗?加入 Rust GameDev working group!
Veloren是一个开放的世界,开源的多人像素 RPG。游戏处于开发的早期阶段,但可以玩。
九月的一些改进:
完整的每周开发日志“本周在 Veloren…”:#31,#32,#33,#34,#35.
Zemeroth是一款回合制的极简 2d 战术游戏。
本月Zemeroth v0.6发布。此版本的主要功能包括:
阅读完整的 devlog post或观看the video version。
@VladZhukov0发表了一些关于他们“Twenty Asteroids”游戏:
更新包括:
gfx-rs是一个 Rust 项目,旨在使底层 GPU 编程具有低开销的可移植性。它是一个类似于 Vulkan 的 Rust API,有多个后端实现:Direct3D 12/11、Metal、Vulkan,甚至 OpenGL。
wgpu-rs是一个基于 gfx-rs 的 Rust 项目,它提供了安全性、可访问性,甚至更强的可移植性。
_讨论:/r/rust_
Mun是 gamedev 的一种脚本语言,专注于 Rust 编写的快速迭代时间。
Mun 的支柱:
Mun 开发背后的驱动力是原生支持的函数和数据热重新加载。因此,该语言及其语法,将继续以添加支持热重加载的语义的速度增长。目前,语言如下:
fn main() { let sum = add(a, b); // 注释: Mun 原生支持 bool, float, and int let is\_true = true; let var: float = 0.5;
} // 函数定义的顺序并不重要
fn add(a: int, b: int): int {
a + b
}
项目的源代码is available on GitHub,处在 MIT 或 Apache 许可下。
Mun runtime 在 Rust 中实现。查看一个 GIF 演示,关于 Rust hot reloading 的功能性这表明:
_讨论:/r/rust_
rltk_rs由@herberticus是C++ Roguelike Toolkit (什么是 “Roguelike?”)。
它提供了编写 roguelike 游戏所需的所有基本功能,以及鼠标支持、嵌入式资源系统、Web 程序集支持等。
全部示例都链到浏览器 WASM,以供尝试。
后端使用glow在不同版本之间抽象 OpenGL。用于将’资源‘直接嵌入二进制文件的 API。
如果你想看到一个使用 rltk 的实用 roguelike_rs,查看Rusty Roguelike。
现在 Roguelike 教程包括 20 多个章节和继续增长。
它涵盖了“hello rust”和“什么是 ECS?”添加怪物,设备,漂亮的菜单,保存/加载,多层次,血迹,粒子效果,魔法地图卷轴,等等。
本教程有指向所有示例的 Web 部件链接,因此您可以在浏览器中运行它们。
Embark他们的纹理合成箱是开源的 texture-synthesis。这是一个用 Rust 编写的基于实例的非参数图像生成算法。
The repo还包括多个代码示例和测试图像,在 release 选项卡下,可以找到带有命令行界面的编译二进制文件。
还有,看一段很长的记录会议“More Like This, Please! Texture Synthesis and Remixing from a Single Example” 就更深入地解释了这种技术和背景。
讨论:twitter
还有,
Iced 是一个与渲染器无关的图形用户界面库,专注于简单性和类型安全性。它最初是为了将Elm的简单性以及 Elm 架构带到Coffee 2D game engine。
特征:
_讨论:/r/rust_
Amethyst是一个游戏引擎和工具集的野心勃勃的游戏开发商。它通过数据驱动设计和 ECS 架构,使游戏开发者,能够在不陷入太多麻烦的情况下,制作复杂的游戏。
工具:
Amethyst Engine v0.13 已发布。一个新的amethyst_tiles
箱子被添加,还有the Pong 教程现在完成添加音频部分。
amethyst-imgui v0.5 is out,支持新 imgui 对接功能的测试版。
Tom Leys正在开发一个“召回奇点”游戏,关于设计自动工厂船舶和车站,本月他们发表了一些贴文,关于使用the Godot engine和 Rust:
@whostolemyhat 发布了他们的教程系列的第四部分,关于 Rust 的程序生成。在本教程中,房间生成功能已更新,以便它可以从选择的预建房间样式中进行选择,并创建标准的空房间。
_讨论:/r/rust_
uset —— 为中小型存储元素设计的 set 和 map 的一种实现,这些元素变化很快,即在视频游戏中动态变化的场景中。
blend —— Blender的.blend 文件的解析器和运行时,可用于读取(几乎)文件中的所有内容:从网格数据、材质、相机和动画到用户首选项、窗口位置和渲染设置 [/r/rust]。
cubism-rs(Live2D Cubism的 Rust 绑定库) 获得对Piston2D的渲染器支持。
.gif
输出。[/r/rust, github].查看所有的会面 issues包括书面记录或加入下一 meeting。
只是过去有趣的 Rust 游戏开发链接。:)
Sandspiel是一场落沙游戏 by @MaxBittker建于 2018 年底,使用 Rust(via WASM)、WebGL 和一些 JS 将东西粘在一起。
Sandspiel 是一个像素物理模拟沙盒,在这里你可以用元素作画,进行实验,建立自己的世界!
元素包括冰、水、沙、熔岩、火、油、植物、真菌等等!
我们的目标是创造一个有趣的细胞自动环境,并支持与其他玩家分享和分享有趣的创作。最后,我希望这个平台支持通过可编程的细胞自动 API 编辑和上传您自己的元素。
游戏的历史和开发过程,记录在 “Making Sandspiel” 博客文章。
游戏的社区仍处于活动状态:检查@sandspiel_feed feed of uploads.
_讨论:/r/rust, /r/programming, hacker news_
今天就是所有新闻,感谢您的阅读!
想要下一期新闻中,提到的内容吗?Send us a pull request。
另外,订阅@rust_gamedev on Twitter要么/r/rust_gamedev subreddit如果您想接收新消息!
[](https://rust-gamedev.github.io/posts/newsletter-002/)
了解 Rust 游戏开发工作组的最新进展。