我是一名经验丰富的企业级开发者,最近开始编写HTML5网页游戏并在CrazyGames发布它们。其中一个游戏获得了一些关注,当我查看分析时,我注意到有3-4%的崩溃率。然而,我无法得知这些崩溃的原因。因此,我开始探索错误追踪工具,但价格却是令人惊讶的。 Sentry 的免费层是 5,000 个错误,而我的游戏在两天内就耗尽了 2-3k 个事件/天。升级意味着每月 $26-40,但即使这样,也只能获得 50 个会话重放。 LogRocket 从 $176/month 开始。这些工具的价格是为有资金的 SaaS 公司而设计的,而不是单人开发者发布浏览器游戏。

因此,我自己构建了一个工具:Error Buddy。使用这个工具,我从 3-4% 的崩溃率降低到不足 1%。它暴露了一些容易修复的边缘案例,如特定GPU上的WebGL上下文丢失、iOS Safari上的音频上下文问题和低内存设备上的边缘案例。这些问题在我的开发机器上从未出现,但却影响了真正的玩家。

我主要想要知道崩溃发生的实际原因,所以每个错误都带有一个 6 秒的视频重放游戏画布(使用 MediaRecorder,因为DOM 重放对于canvas游戏不起作用)。

它还捕获了通常在调试游戏时缺失的信息:FPS、帧时间、键盘/鼠标/游戏手柄输入、WebGL状态、音频上下文和您决定发送的任何游戏状态。

此外,它跟踪内存使用、长任务、堆增长,并支持源码映射,因此栈跟踪是可读的。

集成仅需要两行代码。

我还没有准备好开放注册,因为我需要设置使用限制和自动数据清理,以免一些流行游戏将我的主机成本“爆炸”。但你可以查看我的演示:dashboard.errorbuddy.app/demo

这是来自我的游戏的真实数据,实时更新,而不是模拟。您可以浏览错误组,查看设备分解,观看视频重放等。

我非常希望得到早期反馈。这个工具是否有用?缺少什么?什么会让您从现在使用的工具转换,或者从什么也没有使用?

如果这个不是正确的子论坛,欢迎指出其他地方。