Rust 元宇宙 从零开始构建
这是使用 Rust 语言 从零开始构建元宇宙的一系列文章,完成一个基础但是相对完整的版本之后,我会把代码开源出来。
为什么选择 Rust 语言的三个理由
我们依赖的基础 概念和思路是什么,从这里出发
分而治之 永远是处理复杂问题的不二法门
不论是真实世界,还是我们的元宇宙世界中,角色总是来来往往的,从其中某个人的视角看去,就是不断的有角色进入自己的视野,离开自己的视野,这种进入和离开时的事件需要特别被关注
静态的元宇宙是没有任何生气的,真实世界的角色们总是处于不断的移动中,在我们分治的基于区域和临近角色列表的世界中,角色因为移动在区域之间穿梭,在别人的视野中出现和消失。
SDL2.0 是一个跨平台的底层图形库,支持 Windows,Mac,Android,IOS 等多个平台,考虑到我们需要观察元宇宙是如何运作的,即使不考虑客户端,仅仅是元宇宙服务器,增加一个 SDL 的观察窗口也是有价值的。
做好前述准备工作之后,我们可以使用 SDL 绘制服务器端的世界了。
我们成功的创建了一个元宇宙世界,让简单的角色进入和离开这个世界,并在这个世界里移动,通过 SDL2.0,我们成功的建立了这个世界的上帝视角。
为了让我们游戏世界显得有生气,理论上来说,应该有很多玩家 (机器人) 在世界里进进出出,来来回回。但是我们的元宇宙暂时还没有玩家,所以,我们需要创建一些角色进入和离开元宇宙
让我们看看到目前为止的成果吧:一个可以运行和观察的简单世界,接下来我们要做些准备工作,开放世界的接入了。
做完了所有的准备工作之后,我们需要迈出重要的一步,创建一个真实的玩家,通过客户端进入元宇宙,并看到视野内的一切,包括自己和其他角色(玩家或者宠物 /NPC)。
上面说到,客户端和服务端通讯使用底层协议主要有三种选择 TCP Websocket 和 QUIC
QUIC 是面向未来的选择,Websocket 是现在的选择
评论