Dreamtowards
沙盒体素游戏开发者
我是 Dreamtowards,热衷于沙盒体素游戏开发。最喜欢的游戏是 Minecraft Beta 1.7.3。
想做的游戏同时具备三件事:能自由建造,也足够写实,还能在多人里沉浸地交互。
像 Minecraft
自由建造
内置编辑器、Mod 友好、程序化世界生成(PCG)。
像 GTA
细致写实
渲染、物理与动画都要经得起靠近看。
像 VRChat
多人交互
自定义人物,以及能待进去的沉浸交互。
2016 年(初三)开始为自己的 Minecraft 伺服器写启动器、网站和手机 App。之后把这条线一直做到引擎、物理和完整游戏:2018 年接触体素 Marching Cubes,2019 年写 PhysXT,再把《以太效应》用 C++ / OpenGL(2021)、Vulkan / ECS(2023)、Rust / Bevy(2024)各重写一遍。自学、独立实现、把问题做出来,是我比较习惯的工作方式。
更多随笔记在 Blog。
项目
Voxel Playground VR
VR 体素沙盒职业项目AetherEffect · 以太效应
写实体素沙盒游戏创始人可写实体素地形,加上机械动力、二次元风格渲染和 AI 干员。
Ethertum · 以太效應
多人沙盒体素生存游戏独立开发 · 创始人- Rust语言, Bevy引擎, 完全可破坏/建造的体素世界, 程序化世界生成
- 平滑体素网格, 基于SN等值面提取算法的网格构建, 顶点材质渲染
- 多人游戏: 基于netcode udp协议网络, C/S结构; 使用由插件组成的激进ECS引擎
Ethertia · 以太效應
沙盒体素游戏与引擎独立一人开发- C++20编写, OpenGL/Vulkan渲染, Bullet3/PhysX物理, for Windows, Linux, macOS
- 完全可修改的体素世界, 内置编辑器, 程序化世界生成, 平滑写实的体素表面(SN算法)
- 流式区块加载/生成 无限大小的体素世界(包括Y轴),体素表面材质衔接精美处理
The Elytra Programming Language
面向 IR 的静态程序语言独立开发- C++20实现的字节码编译器, 虚拟机(Macedure), 语意检查器(Cymbal)
- 静态类型, 模板泛型类型, 外部函数调用, 指针内存操作
PhysXT
基于冲量的刚体物理引擎独立开发 · 创始人- Gjk / Epa算法实现碰撞检测, 基于 Sequential Impulse 方法的约束求解器
- 动态DBVT的广相碰撞检测, Bvh加速结构三角网格形, QuickHull 凸包构建
时间线
- 2024 – 至今Voxel Playground VR
工作项目。VR 体素,从 2024 年做到 2026 年仍在继续。
- 2024 – 现在AetherEffect 以太效应
Unity6重写; 可写实体素地形、机械动力、二次元风格与 AI 干员。
- 2023.12 – 现在Ethertum 以太效应 · Rust / Bevy
用 Rust / Bevy 再写;多人体素生存;编写 thinking-in-minecraft.com
- 2021.3 – 2023.11Ethertia 以太效应
C++ / OpenGL 重写,后转向 Vulkan / ECS。同年做过面向 IR 的 Elytra 语言。
- 2020.4 – 2020.8PhysXT 物理引擎
GJK/EPA 碰撞检测、Sequential Impulse。
- 2018Outskirts 沙盒体素
高二。Java LWJGL OpenGL, Marching Cubes
- 2016Minecraft 麦块传说 服务器 & 工具链
初三。为自己的伺服器编写启动器、网站和手机 App。
网站
Thinking in Minecraft · Minecraft 设计思想
Minecraft 的历史、设计与算法写作GPU 光线追踪
用 Rust 与 WGPU 从底层构建实时光追渲染器翻译Rust 原子操作与锁
底层并发实践翻译喜好、收藏与友链见 喜好。