大家好,r/gamedev 社区:

我想和大家分享一个开源工具,它解决了 HTML 游戏分发的一个巨大问题。

一些背景:我在开发软件和游戏有一段时间了。有趣的是,我的最爱的“引擎”仍然是 Construct 2—it 是我的第一步入编程,今天我仍然使用它。但是,如您所知,是否是 Construct,Three.js,Phaser,还是纯 HTML5,web 基于游戏的生态系统都很繁荣。

问题?您创建了一个美丽的、最小的 3D竞速游戏或一个像素艺术平台游戏,它占用了可能 20MB。然后您使用 Electron 或 NW.js 打包它,最后的构建会因为运行时需要 500MB 的额外内存而“爆炸”到 600MB。对于一个庞大的复杂的软件套件来说,这可能是合理的。但是,对于一个独立的 HTML 游戏来说,这是令人发指的资源浪费。

Catcheer 就是这样一个工具。它是一个极简的 HTML 加载器,写在纯 C++ 中,调用操作系统的默认 webkit(Windows 上的 WebView2,Linux 上的 GTK)。

为什么要使用它?

  • 极轻量级: Windows 可执行文件压缩包仅约为 333 KB。
  • 激进优化: 强制低内存使用(约为 70MB)并注入激进 GPU 加速标志。
  • 零打包烦恼: 没有复杂的命令或僵硬的框架规则。只需将 index.html 文件放入源文件夹下,下一个就是好。
  • 易于定制: 可以通过简单的文本配置文件轻松配置窗口大小、标题、边框或全屏模式。想要自定义图标?只需放置一个 custom.icocustom.png 文件。

如果您是更高级的开发者,包括单击构建脚本(CMake,自动化.bat/.sh`文件)所以您可以克隆开源仓库,修改核心元数据,重新编译,嵌入自己的图标。

它完全是开源的,基于 GPL-3.0 许可证。很高兴听到您的想法,反馈或任何技术问题!