Home

Rust GameDev 月刊 #2(译)

Rust GameDev #2 月刊 - 9 月 2019

2019-10-05

欢迎来到 Rust GameDev 工作组的月刊第二期。

Rust是一种追求三重性的系统语言:安全性、并发性和速度。这些目标与游戏开发非常一致。

我们希望为想在开发过程中,使用 Rust 的人建立一个吸引人的生态系统!想参与吗?加入 Rust GameDev working group!

游戏更新  #

Veloren #

Town surrounded by a wall

Veloren是一个开放的世界,开源的多人像素 RPG。游戏处于开发的早期阶段,但可以玩。

九月的一些改进:

新视频:“24 分钟的 Alpha Gameplay”.

完整的每周开发日志“本周在 Veloren…”:#31,#32,#33,#34,#35.

Zemeroth v0.6 #

fighters smash demons in fire and poison clouds

Zemeroth是一款回合制的极简 2d 战术游戏。

本月Zemeroth v0.6发布。此版本的主要功能包括:

阅读完整的 devlog post或观看the video version

Twenty Asteroids #

space ship destroys enemies and asteroids with plasma beams

@VladZhukov0发表了一些关于他们“Twenty Asteroids”游戏:

更新包括:

Amethyst Games #

shmap gameplay sample

Stabman in the beginning of the overworld level

bots attack

hexagonal map with two mechs, paths and visually blocked tiles

其他游戏新闻  #

Stats and skill demo

Robo Instructus gameplay screenshot with full UI

Towers on the map

Tennis Academy v0.0.2 Demo

a screenshot from Garden showing a build and some trees

Live demo

shadows demo

screenshot of the WIP terrain generation

Disconnect in the terminal

库 & 工具更新  #

gfx-rs & wgpu-rs: 项目更新 #

gfx-rs rusty logo

gfx-rs是一个 Rust 项目,旨在使底层 GPU 编程具有低开销的可移植性。它是一个类似于 Vulkan 的 Rust API,有多个后端实现:Direct3D 12/11、Metal、Vulkan,甚至 OpenGL。

wgpu-rs是一个基于 gfx-rs 的 Rust 项目,它提供了安全性、可访问性,甚至更强的可移植性。

_讨论:/r/rust_

Mun 和 热重载实验 #

Mun text logo

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_

Rust Roguelike Toolkit and Roguelike Tutorial #

Minimal pathfinding and FoV example

rltk_rs@herberticusC++ Roguelike Toolkit (什么是 “Roguelike?”)。

它提供了编写 roguelike 游戏所需的所有基本功能,以及鼠标支持、嵌入式资源系统、Web 程序集支持等。

全部示例都链到浏览器 WASM,以供尝试。

后端使用glow在不同版本之间抽象 OpenGL。用于将’资源‘直接嵌入二进制文件的 API。

如果你想看到一个使用 rltk 的实用 roguelike_rs,查看Rusty Roguelike


现在 Roguelike 教程包括 20 多个章节和继续增长。

它涵盖了“hello rust”和“什么是 ECS?”添加怪物,设备,漂亮的菜单,保存/加载,多层次,血迹,粒子效果,魔法地图卷轴,等等。

本教程有指向所有示例的 Web 部件链接,因此您可以在浏览器中运行它们。

EmbarkStudios/texture-synthesis #

Generated textures samples

Embark他们的纹理合成箱是开源的 texture-synthesis。这是一个用 Rust 编写的基于实例的非参数图像生成算法。

The repo还包括多个代码示例和测试图像,在 release 选项卡下,可以找到带有命令行界面的编译二进制文件。

还有,看一段很长的记录会议“More Like This, Please! Texture Synthesis and Remixing from a Single Example” 就更深入地解释了这种技术和背景。

Embark已经发布完整的清单:embark.rs.

讨论:twitter


还有,

Iced - a Renderer-Agnostic GUI Library #

All widgets tour demo: radio buttons, sliders, debugging view, etc

Iced 是一个与渲染器无关的图形用户界面库,专注于简单性和类型安全性。它最初是为了将Elm的简单性以及 Elm 架构带到Coffee 2D game engine

特征:

查看设计概略 in the repo’s README.

_讨论:/r/rust_

Amethyst #

amethyst logo

Amethyst是一个游戏引擎和工具集的野心勃勃的游戏开发商。它通过数据驱动设计和 ECS 架构,使游戏开发者,能够在不陷入太多麻烦的情况下,制作复杂的游戏。

工具:

docking widgets demo

Godot and Rust #

Recall Singularity's ship base

Tom Leys正在开发一个“召回奇点”游戏,关于设计自动工厂船舶和车站,本月他们发表了一些贴文,关于使用the Godot engine和 Rust:

通过 Rust Macros 使用预构建房间,更多有趣过程式地牢 #

Top-down view on a generated dungeon

@whostolemyhat 发布了他们的教程系列的第四部分,关于 Rust 的程序生成。在本教程中,房间生成功能已更新,以便它可以从选择的预建房间样式中进行选择,并创建标准的空房间。

_讨论:/r/rust_

其他库 & 工具新闻  #

Live2D Piston demo

Github Actions with SDL2 screencast demo

loaded and lighted Suzanne model

complex spline in the editor

WASM demo

rx demo

XPrite drawing demo

editor with a bunch of shapes

inspector widget with position, debug draw rect, and physics body sub-widgets

Deios logo ant promo pic

Meeting Minutes #

查看所有的会面 issues包括书面记录或加入下一 meeting

Requests for Contribution #

Bonus #

只是过去有趣的 Rust 游戏开发链接。:)

a scene with sand, water, a tree, flowers, and fire

Sandspiel是一场落沙游戏 by @MaxBittker建于 2018 年底,使用 Rust(via WASM)、WebGL 和一些 JS 将东西粘在一起。

Sandspiel 是一个像素物理模拟沙盒,在这里你可以用元素作画,进行实验,建立自己的世界!

元素包括冰、水、沙、熔岩、火、油、植物、真菌等等!

我们的目标是创造一个有趣的细胞自动环境,并支持与其他玩家分享和分享有趣的创作。最后,我希望这个平台支持通过可编程的细胞自动 API 编辑和上传您自己的元素。

游戏的历史和开发过程,记录在 “Making Sandspiel” 博客文章。

GitHub 上的源代码

游戏的社区仍处于活动状态:检查@sandspiel_feed feed of uploads.

_讨论:/r/rust, /r/programming, hacker news_


今天就是所有新闻,感谢您的阅读!

想要下一期新闻中,提到的内容吗?Send us a pull request

另外,订阅@rust_gamedev on Twitter要么/r/rust_gamedev subreddit如果您想接收新消息!

本帖讨论: /r/rust, twitter.

[](https://rust-gamedev.github.io/posts/newsletter-002/)

Rust Game Development Working Group

了解 Rust 游戏开发工作组的最新进展。