【Rust日报】Matchbox - 类似UDP的不可靠、无序的点对点网络连接

科技   2024-11-14 16:31   加拿大  

CurVis - 曲率时空光线追踪器

CurVis是一个用Rust编写的光线追踪器,它能够模拟在曲率时空中光线的传播,并根据广义相对论方程渲染曲率时空的图像和视频。它的主要功能包括:

  1. 渲染像虫洞等曲率时空物体的图像和视频。
  2. 支持通过命令行界面设置渲染参数,如相机位置、分辨率、视场角等。
  3. 支持自定义时空度规和参数。
  4. 提供了一些示例相机路径文件,用于渲染视频时指定相机在时空中的运动轨迹。

该项目目前还存在一些已知问题和局限性,如只支持球对称时空度规、视频渲染有问题、存在边界伪影等。未来的愿景包括支持黑洞渲染、多线程加速等。

https://github.com/fragarriss/CurVis

GGRS - Rust语言重新实现的GGPO网络SDK

GGRS(Good Game Rollback System)是一个用纯安全的Rust语言重新实现的GGPO网络SDK。它摒弃了原来的基于回调函数的API,采用了更简单直观的控制流程。GGRS会返回一系列需要用户满足的请求,而不是注册回调函数。

该项目目前处于早期阶段,但多人游戏和观战功能较为稳定。它提供了两个基于浏览器的在线演示Demo,分别使用了macroquad和bevy框架。此外,还有一些游戏项目在使用GGRS。

GGRS有详细的Wiki、示例和文档供开发者入门。开发者们正在努力扩展GGRS的功能,如为Bevy游戏引擎开发插件、支持WebRTC网络传输、为Godot引擎封装接口等。GGRS采用双重许可MIT和Apache 2.0协议。

https://github.com/gschup/ggrs

Matchbox - 类似UDP的不可靠、无序的点对点网络连接

Matchbox项目旨在为Rust语言的原生应用和WebAssembly应用程序实现类似UDP的不可靠、无序的点对点网络连接,以支持低延迟的多人在线游戏。

Matchbox包括几个主要部分:

  • matchbox_socket: 一个封装了WebRTC的Socket抽象层,支持不可靠和可靠的数据通道。
  • matchbox_signaling: 一个信令服务器库及示例。
  • matchbox_server: 一个现成的全网状信令服务器。
  • bevy_matchbox: 将matchbox_socket集成到Bevy游戏引擎中。

该仓库还提供了一些使用示例,包括一个简单的通信循环、使用Bevy和GGRS的浏览器游戏demo等。

Matchbox的工作原理是先通过信令服务器协调对等体之间的连接,之后对等体就可以直接相互发送数据,不再经过信令服务器。

该项目欢迎贡献和问题反馈,采用双重MIT和Apache 2.0许可证。感谢Ernest Wong的Dango Tribute实验对该项目的启发。

https://github.com/johanhelsing/matchbox

用Rust开发NES模拟器的教程系列

这篇文章介绍了用Rust编程语言开发一个NES模拟器的教程系列。NES是上世纪80年代和90年代最受欢迎的游戏平台之一,硬件相对简单但却诞生了很多经典游戏。作者选择Rust语言是因为它是一种现代化的系统编程语言,性能出色,能够满足硬件模拟的低级需求。教程将分阶段构建,每个阶段都有可见和可玩的目标,从而使得整个过程更有趣。作者假设读者已具备一定的Rust语言、位运算、计算机系统等基础知识。最后列出了一些相关的参考资源。总的来说,这是一个循序渐进、实践驱动的Rust编程教程,目标是开发一款功能完整的NES游戏模拟器。

https://bugzmanov.github.io/nes_ebook/

--

From 日报小组 Mike

社区学习交流平台订阅:

  • Rustcc论坛: 支持rss
  • 微信公众号:Rust语言中文社区


Rust语言中文社区
Rust官方及社区最新信息搜集、文章推送,教程学习,技巧分享,社区交流。信息来源是整个全球Rust社区。
 最新文章