嘿 r/gamedev!

我正在开发 BEEP-8 — fantasy console,您可以在其中在 C/C++20 中编写游戏

,然后用 GNU Arm GCC 编译它们,它们在浏览器中以 60fps 运行。无需安装,无需插件。

我为什么会这样做:

我想创建一个类似 PICO-8 sandbox 的环境,但适合 C++开发者。 PICO-8 很棒,但 Lua 和令牌限制并不是所有人都能接受的。我想要同样的 “制作一些小而有趣的东西”的感觉,但使用真正的 C++。

核心就是 ARMv4 模拟器,写成纯粹的 JavaScript — 无 WebAssembly。实话说,我没有确定它能否足够快, 但 V8 的 JIT 可以更好地处理解释器循环。

在 60fps 时始终稳定,甚至还有余量。

规格是故意紧缩:

128×240 显示,16 颜色调色板,1MB RAM,4MHz CPU。

在那些限制条件下工作才是整个乐趣 — 每个内存分配都很重要,每个绘制调用都很有价值。它让我忘记了一段时间以来没有经历过的问题解决感。

已经有几个游戏可以玩儿:

— 玩 Mario-style 平台游戏,
— 玩穿着绳子的游戏,
— 玩 Rock-Paper-Scissors 领土游戏。

SDK 采用 MIT 开源许可证。

👉 SDK:https://github.com/beep8/beep8-sdk

👉 玩:https://beep8.org

我特别想听听所有曾经参与过被限制的游戏开发的人:

你曾经给自己设定了哪些限制,并且它教会了你什么?