Home

Rust GameDev 月刊 #5(译)

This Month in Rust GameDev #5 - December 2019

2020 年 1 月 10 日

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

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

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

想要加入下一期新闻?Send us a pull request 随意发送有关您自己的项目的 PR。

演讲呼吁: Rust GameDev 伦敦站 #

我是Rust London的社区领导,我只想为任何一个在伦敦的人做些调查,想在我们的 Rust 伦敦站上做个演讲。我们想举办一个专门针对 GameDev 的 LDN 会谈。

详细信息看这里.

Game Updates #

A/B Street - Adjust Traffic Patterns in Real Cities #

曾经坐在交通堵塞的公交车上,想知道为什么会有车停在路上,而不是公交专用道上?A/B Street这是一个探索道路空间和交通信号的微小变化,如何影响司机、骑自行车者、公交用户和行人的移动的游戏。游戏使用OpenStreetMap和其他公共数据集,让玩家调整现有的基础设施,然后做一个详细的比较,看看谁的变化有帮助/伤害。

A/B Street 是用 Rust 编写的,在glium之上,使用自定义 GUI 库。

Play it now开始 contributing 将游戏扩展到更多的城市,建立轻轨和共享的步行/自行车路径模型,并开发游戏模式(比如“让一切尽可能慢”,“如果没有人拥有和停放私人车辆怎么办?”).

Demo of some UI work in A/B Street

12 个高光点:

_讨论:/r/rust_

vange-rs #

Vehicle's collision shape

vange-rsVangers(1998 年)的重新实现,使用现代开发实践、并行计算和 GPU 的 Rust 游戏。

本月,该项目获得了一些主要功能。其中最大的一个是物理引擎在 GPU 上的闭环实现。同时,CPU 代码路径被固定,以保证平稳运行(video).

另一组变化已经登陆,允许许多 NPC 汽车与用户世界同行。渲染器已转向完全实例化,CPU 物理计算已并行化。该游戏现在可以在关卡上容纳多达 50000 辆汽车,所有这些汽车都是一次模拟的,一次最多可以在屏幕上显示 5000 辆(video)。

在较小的功能,它成为可能在游戏中 jump ,以及改变汽车的颜色。

该项目还启动了开发博客,描述新技术和旧技术,例如:

Veloren #

Morning landscape

Veloren是一个开放的世界,开源体素 RPG 的灵感来自矮人堡垒和立方体世界。

12 月的一些更新:

您可以阅读有关某些特定主题的更多信息:

Sitting on the edge

一月份的工作,包括玩家帐号认证,初步的修改工作,以及角色状态系统。正在进行的会谈也在研究网络系统和优化。

12 月的全周节目:“本周在 Veloren…”:#44, #45, #46, #47, #48.

voxel-rs #

Some lake, hills, blue sunny sky and debug output

voxel-rs是一个新的’类-我的世界’的多人游戏沙盒引擎,用 wgpu-rs 编写.

这个游戏目前正在大力开发中,还不能玩。

该项目的路线图是在这里

_讨论:/r/rust_

Tennis Academy: Dash #

menu, levels, and customers

@oliviff发布v0.1.2..v0.1.4Tennis Academy: Dash“:

Dank Defense #

Trying to shoot down the missles

Dank Defense by Elijah Lucian是 Rust 制作的一款有趣的小导弹防御游戏,使用ggez

Akigi #

Akigi screenshot: map, character model, chat and panel

Akigi是一个多人在线世界,其中大多数人认为人类是卑微的。

12 月的一些更新:

完整的 12 月开发日志:#046#047#048

_讨论:/r/rust_gamedev_

Garden Devlog: December #

Playing with dirt

^ 新的平滑土壤编辑演示

Garden是一款以成长中的现实植物为中心,即将到来的游戏。

12 月的一些更新:

Slavic Castles #

Updated cards & battle UI

Slavic Castles是一款纸牌游戏,灵感来自Arcomage

自上次开发日志以来,进行了以下更改:

_讨论:/r/rust_gamedev_

Robo Instructus #

logo

Alex Butler继续完善他们的“Robo Instructus益智游戏-1.18, 1.19, and 1.20 versions were released:UI 调整,更好的翻译(包括完整的俄语翻译!),错误修正和性能优化。

Amethyst Games #

Controls menu

minesweeper

boss enemy

Rotating map

Library & Tooling updates #

ultraviolet v0.4 #

Rayn output example - this renderer uses ultraviolet for its math

ultraviolet是计算机图形学和游戏相关的线性代数的箱子,但*快速*,无论是在生产率还是在运行时性能方面。

这个月ultraviolet v0.4 发布 by@fu5ha。带来transformprojection模块和许多较小的改进。

看看完整 release 公文

component_group v0.2 #

component_group是一个箱子,与一群specs::Components 一起工作。

这个箱子定义了ComponentGroup trait。此 trait 使得管理一组specs::Component实例更容易。当您具有经常一起创建,读取和更新的多个组件时,这很有用。您可以使用此 trait ,轻松在 spec::World 实例之间,移动整个组件组。

想法试验: 在游戏引擎之外,使用 ECS #

这篇文章 by Michael Bryan讨论 ECS 模式在CAD库的用途。显然,这与游戏无关,但对于某些游戏开发人员来说仍然很有趣。

_讨论:/r/rust_

Lyon v0.15 #

The triangles generated with vertical and horizontal traversals of the same path

Lyon Rust 箱子将任意 2D 形状细分为三角形网格,可轻松在 GPU 上渲染。

这个月@nical发布了Lyon 0.15。填充镶嵌器(fill tessellator)是从头开始重写的(花费了两年时间),它应该解决以前的实现所具有的健壮性问题,并且还具有许多新功能。

看看完整 release 公文

_讨论:/r/rust_

winit v0.20-alpha 和网络支持 #

winit是用于创建和管理窗口的纯 Rust 库。

Winit 的新 Alpha 版本带来了 Web 支持。预计该网络版本具有一些 API 限制(例如,窗口装饰,调整大小,全屏等)。

Web 支持基本处于测试阶段,而且我们希望鼓励您尝试一下并对其进行压力测试,以便我们可以查看问题出在哪里,并在必要时进行改进。

查看公文

_讨论:/r/rust_

The State Of GGEZ 2020 #

GGEZ logo

ggez是一款轻巧的游戏框架,其灵感来自于love2D

Icefox已发表“GGEZ 2020”博客文章,概述了 ggez 今年的发展中发生了什么,当前 ggez 0.6 的发展状况,路线图中的情况以及对 Rust 生态系统的想法。

_讨论:/r/rust_

miniquad #

miniquad demos

miniquad by @fedor_games是一个安全的跨平台渲染库,专注于可移植性和低端平台支持。

网络演示:quadoffscreenastroblastoarkanoidzemeroth


@fedor_games在本月还发布了一些 Patreon 更新:

Godot and Rust #

经过一年的工作,godot-rust0.7 绑定库被发布。一些更新:


另外,查看a Godot-规范示例项目 by @RecallSingularity

raylib-rs #

raylib-rs minimalistic logo

raylib是一个简单的 C 2D / 3D 游戏引擎,几乎没有依赖性。这个月,raylib-rs 1.0 发布 —— 主要是惯用且线程安全的 Rust raylib 绑定库。

查看 roguelike game 示例

_讨论:/r/rust_gamedev_

Makepad #

Makepad in action

Makepad是 Rust 的创新软件开发平台,可编译为 WASM / WebGL,macOS / Metal,Windows / DX11,Linux / OpenGL。

推出了早期的 Makepad Basic alpha 版本。此版本展示了开发平台,但尚未包括视觉设计工具或库生态系统。

Rust + Wasm 尽在makepad.nl

_讨论:/r/rust_

Tetra v0.3 #

Tetra是一个简单的 2D 游戏框架,使用 SDL2 进行事件处理,并使用 OpenGL 3.2+进行渲染。

这个月,@17cupsofcoffee发布了 Tetra v0.3。主要变化是:

阅读完整的 changelog here


@17cupsofcoffee还发布了a little example如何实现音效池化

如果您不想一次播放相同声音的 X 个实例(例如,如果玩家能够以最快的速度射击武器),这是非常方便的。


Compact Space gameplay sample

@puppetmaster updated their “Compact Space” game在 Tetra 0.3 中,添加了一些声音效果和 x-max 惊喜。


@JohanLindfors更新了他们的SnakeFlappy Bird示例游戏,到 Tetra 0.3。

而且,Snake 示例现在具有十步教程,如何从头构建

rg3d-sound #

rg3d-sound是一个正在积极开发的新声音库。

本月,它具有三个主要功能:

rg3d-soundrg3d游戏引擎的一个组件。

@siebencorgie’s Voxel Engine #

roughness-based reflections

@siebencorgie得到了voxel 全局照明voxel 锥状反射在他们的体素引擎中工作。

Introduction to Rendology #

Rendology demo screenshot

Rendology是基于 Glium 并以 Rust 编写的 3D 渲染管线。它具有阴影映射,延迟阴影,发光效果,FXAA 和实例渲染的基本实现。

一个“介绍 Rendology”本文,概述了 Rendology 的一些概念,并描述了它们如何成为这种方式。

_讨论:/r/rust_

Oxygengine v0.5 #

Oxygengine logo

Oxygengine是“用 Web-sys 编写游戏的,最热门的 HTML5 + WASM 游戏引擎”。

v0.5 版本的主要更新:

_讨论:/r/rust_

This Month in Mun - December 2019 #

Mun logo

Mun是用于 Gamedev 的脚本语言,专注于快速迭代时间,使用 Rust 编写。

December updates包括:

Rust Roguelike Tutorial #

Roguelike gameplay sample

The Roguelike Tutorial by @blackfuture现在包括将近 70 章,并将继续增长!

十二月的一些更新:

另外,查看@blackfuture’s 2019 Roguelike 开发回顾博文

doryen-rs v1.2.1 #

Visual demo screenshot

doryen-rs是具有原生和 WASM 支持的 ASCII roguelike 库。使用来自unrust游戏引擎的 uni-gl 和 uni-app 箱子。

doryen-rs v1.2.1 已于本月发布。一些新功能:

nes-rust - WASM NES Emulator #

Multiplayer session

nes-rust by @superhogeNES Rust 编写的(Famicom)模拟器,在网络,已编译为 WASM。

本月 nes-rust 进行了远程多人游戏:

进入房间后,与某人共享该 URL,然后开始要与他们一起玩的游戏。请享用!

Try it!

rx v0.3 #

Animation editing sample

rx是一款可扩展,现代且极简的像素编辑器,在设计时关心和喜爱艺术家和黑客。它被认为具有尽可能少的 UI,而是专注于工作。

0.3 版本附带:

_讨论:/r/rust_

Texel - ASCII Art Editor #

Texel tutorial screen

Texel是具有类 VIM 控制的 ASCII 艺术和风景编辑器。它旨在使编辑 ASCII 艺术作品变得容易,尤其是在游戏中。

_讨论:/r/rust_

Embark: 开发者时讯 002 #

Embark's logo

Embark 发布第二期周刊。以下是一些 Rust 新闻:

Meeting Minutes #

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

请求帮助  #

Bonus #

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

Modulator video

^点击查看教程视频

在 2018 年 11 月,@AndreaPessinoReady At Dawn工作室创始人/首席技术官)发行了Modulator箱子和超赞的“Modulator (Rust 编码系列)”教程视频。

Modulator是用于抽象,解耦 modulation 源的 Rust 箱子。

Modulator 是随时间变化的源,它们独立于其影响的参数,及其目的而存在。

Modulator 随附游乐场/测试台应用程序Modulator Play

可视化和测试 Modulator 箱子,并进行富有表现力的 2D 基本渲染渲染的环境。基于“Piston Window”,该应用程序既可以用作 Modulator 箱子及其随附的源类型的测试台,又可以用作最小的摩擦环境以感受 Rust 编码。

_讨论:/r/rust_


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

订阅@rust_gamedev on Twitter或是/r/rust_gamedev subreddit如果您想收到新消息!

这篇文章的讨论/r/rusttwitter

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

Rust Game Development Working Group

紧跟 Rust 游戏开发工作组的最新进展。