我在尝试 Devvit Web Custom Posts 的极限,结果变成了一个有趣的概念证明:一个直接在 Reddit 文章内运行的完整 Doom-compatible FPS。
技术栈:
- Devvit Web
- TypeScript
- WebAssembly
- Emscripten/SDL Doom-compatible runtime
- Freedoom Phase 2
- Devvit Redis 领先榜
一个有趣的问题是 IWAD 的大小。Freedoom Phase 2 大约是 28 MB,所以我建立了一个小的管道,将它分成块,单独加载它们,重构内存中的 WAD 并将其挂载到 Emscripten 虚拟文件系统中。
我还必须处理一些遗留的 SDL/Emscripten 假设,包括画布、键盘事件和 AudioContext。
现在它在桌面和移动设备上都能正常工作,有一个合适的加载流程,MAP01 完成后,引擎的完成事件会将持久的速度跑排行榜喂给它。
我非常希望从其他 Devvit 开发者那里得到反馈,特别是关于运行时架构和移动 UX。
可玩文章:https://www.reddit.com/r/playdoom/comments/1vklq2f/can_reddit_run_doom/
评论 (0)