RCade:带 CI/CD 部署流水线、为 CRT 定制显卡的街机柜
文章摘要
这是 Recurse Center 社区 Localhost 技术分享系列中的一场演讲(约 52 分钟),主题是 RCade——一台由 Recurse Center 2025 年秋季第二批学员在批次期间搭建的定制街机柜,运行的全部是社区成员自己写的游戏。
这台机器的几个关键特征:它用的是真正的 CRT 显示器(不是模拟滤镜),配了一块自制的显示适配器/显卡来驱动这块 CRT,控制器包括街机常见的旋钮(spinner),最有意思的是它有一条部署流水线——任何人只要往 GitHub push 代码,游戏就会被部署到这台实体街机柜上。发布视频时它已经收录了 50 多款游戏,而作者 fcjr 在 HN 评论区更新说现在已经超过 100 款。
演讲的章节结构大致是:开场介绍(00:00)、RCade 项目本身(04:10)、自制显示适配器(14:16)、游戏引擎与插件沙箱(27:02)、部署流水线(32:25)、现场演示部署一款游戏(33:57)、游戏演示(41:39)、致谢(46:05)、问答(47:26)。
从章节结构可以看出这个项目跨越的技术栈相当宽:底层是把数字信号变成 CRT 能吃的模拟视频信号的硬件工作;中间是一个自研的游戏引擎,配合插件沙箱来隔离社区提交的第三方游戏代码(这是把”任何人都能 push 部署”变成安全可行方案的前提);上层是一条完整的 CI/CD 流水线,把”提交代码”到”实体机柜上跑起来”这条链路自动化。
演讲者共四人:Frank Chiarulli(frankchiarulli.com,项目发起人)、Rose Kodsi-Hall、Sophie Downward(scd31.com,负责显示适配器)、Greg Sadetsky(greg.technology)。项目相关资源包括官网 rcade.dev(游戏可以直接在浏览器里玩:rcade.dev/games)、代码仓库 github.com/fcjr/rcade、Frank 的项目博客文章,以及 Sophie 写的那篇关于自制街机显示适配器的详细技术文章(scd31.com/posts/building-an-arcade-display-adapter)。
Recurse Center 本身是”给好奇的程序员的静修营”——参加者投入 6 或 12 周,在一个专注、互助、充满能量的环境里编程。RCade 可以说是这种环境能孵化出什么的一个很典型的样本。
HN 评论精华
这条帖子只有 40 分、8 条评论,讨论规模很小,但几乎每一条都有内容,而且创作者本人和参与者都出现了。
最有用的一条是索引式的。starkparker 指出这是一场 52 分钟的视频演讲,并把相关资料串了起来:创作者 Frank Chiarulli Jr.(HN 用户 fcjr)五个月前投过的博客文章版本(10 分 2 条评论)、evakhoury 四个月前投的同一篇博客(89 分 16 条评论)、RCade 官网 rcade.dev(可以直接跳到浏览器可玩的游戏列表 rcade.dev/games)、代码仓库 github.com/fcjr/rcade,以及 Downward 写的那篇关于自制 CRT 显示适配器的详细博客。
情绪上的共鸣是这条帖子的主基调。schnevets 的评论获得了最直接的回应:”今天正需要看到这个视频。当科技界的大部分人都在盯着不太遥远的未来自我凝视时,看到一场活像 2011 年 Babycastles 的演讲,感觉太好了。”(Babycastles 是纽约的独立游戏/艺术空间。)发帖人 evakhoury 回复:”谢谢!作为 Babycastles 的前成员,这话让我今天很开心。”创作者 fcjr 也回复道:很高兴你喜欢,和社区一起把它做出来、看到大家用它做出各种东西,这个过程非常有意思,现在上面已经有超过 100 款游戏了。
flaviuspopan 提供了一个亲历者视角:”机柜运到的时候我正在批次里!这让我稍微体会到早期 Atari 工程师被丢给一个木箱子、然后被告知’让它变好玩’时是什么感觉。很自豪看到它发挥出了全部潜力 <3”
唯一的技术性抱怨与 RCade 无关,是关于 YouTube 的。ndr42 说他不得不忍受 AI 自动配音的德语版本,”简直无法忍受”;他平时的做法是把视频下载下来看原声,但他的下载工具(Downie)目前失效了,于是求助有没有办法拿到原始音轨。发帖人 evakhoury 直接采取了行动:”我把德语自动配音下架了,希望这能解决你的问题。如果还不行,我乐意再想别的办法。”ndr42 确认可用并道谢,同时提出了一个合理的质疑:”我不明白的是,为什么他们不给普通用户提供一个切换音轨的方式?”
需要说明的是,这条帖子体量小、讨论稀少,没有出现对显示适配器、游戏引擎沙箱或部署流水线的深入技术辩论——想了解实现细节的话,评论区指向的两篇博客(Frank 的项目复盘和 Sophie 的显示适配器长文)比 HN 讨论本身信息量大得多。