多年来,我一直在开发一门专注于游戏开发的新语言,如今它终于准备面世。由于我特别想听听游戏开发者们的看法,因此在这里分享给大家。

Wax 是一门可嵌入的编程语言,旨在让程序历史中的任意时刻都能在任何地方重现。这比典型的时间旅行调试更进一步:Wax 专为在生产环境中记录自身执行而设计,其性能和存储开销足够低,使其具备实用性。

一旦你有了记录,能做的远不止回放。你可以修改程序并重新运行修改后的版本,像查询数据库一样检查堆内存,检查你从未想过要记录的状态,并在几乎任何现代操作系统或 CPU 上逐字节回放。记录还可以直接被编码代理检查,让它们能够基于实际发生的情况(而非源代码和日志)进行推理。

我曾反复遇到在我不易接触的平台和硬件上报告的 bug。要精确重现用户所见的内容,可能需要追查硬件、驱动程序、构建配置或任何其他细节的微小差异。而大多数 bug 报告往往只是一段堆栈跟踪、一张截图,或者一句“它坏了”。

我真正想要的是用户所体验到的那个状态下的实际程序。我想要一种能轻松带回我的电脑、倒带、检查并事后调查究竟发生了什么的东西。我希望 bug 报告本身就是 bug。Wax 就是我对这一需求的回应。

该语言现已上线并可试用,我非常希望得到一些反馈,或者有人能试用一下并告诉我他们的想法。

网站:https://www.waxlang.dev
互动游戏演示:https://www.waxlang.dev/doom