电脑开机要先闯关?程序员10个月用C语言爆肝5款神作,赢不了直接关机,网友:越折腾越上头
程序员的那些事·2026-01-15 14:25

项目概述 - 一位名为mycroftsnm(简称Armas)的开发者,花费大约10个月时间,用C语言开发了五款运行在UEFI启动阶段的小游戏,将电脑开机过程变成了必须通关的挑战 [1] - 该项目名为「UEFI游戏合集」,已在GitHub上开源,迅速吸引了大量技术爱好者围观与讨论 [2] - 游戏的核心规则是:玩家赢了游戏,系统正常启动;输了游戏,电脑有时会“嘲讽”一句后当场关机 [2] 技术原理 - 游戏运行于UEFI阶段,UEFI是现代电脑中BIOS的继任者,是开机后的“第一管家”,负责在操作系统启动前检查硬件和分配资源 [4] - 与老旧的BIOS相比,UEFI更模块化、更安全、更灵活,支持图形界面和鼠标操作,并能直接运行简单程序,开发者正是利用这些能力在操作系统加载前构建了游戏体验 [5][6] - UEFI应用在操作系统启动前运行,拥有更高权限,可以直接调用电源管理功能,从而实现游戏失败后强制关机的效果 [35] - 运行这些个人开发的未签名UEFI程序,通常需要满足特定条件,例如关闭安全启动、手动注册自定义密钥或在支持开发者模式的电脑上运行,这可能会降低系统的安全性 [35][36] 游戏详情 - User Evaluation for Ineptness(用户无能评估测试):开机后需计算两个0到99之间随机数的和,输入错误答案会触发系统嘲讽并直接关机 [8][9][10] - Insult Sword Fighting(侮辱剑斗):灵感来自经典游戏《Monkey Island》,玩法为“回怼对决”,玩家需从选项中选出正确的回怼语句来回应系统的挑衅,台词库可通过编辑文件自定义 [14][15][16][18] - Fall To Boot(坠落开机):玩家操控星形光标在程序化生成的纵向隧道中快速下坠并避开墙壁,反应不及导致撞墙会直接关机,且没有重试机会,是Reddit上讨论度最高的游戏 [20][22][23] - Age Verification(年龄验证):灵感来自《Leisure Suit Larry》,通过80年代流行文化问答来验证用户是否“成年”,答错则系统拒绝启动 [26][27] - UEFI Says:唯一一款图形界面游戏,玩法类似“西蒙说”,考验短期记忆力,玩家需记住并重复屏幕上随机点亮方块的颜色顺序,顺序会越来越长,答错直接关机 [29][30][31] 社区反响与观点 - 项目在GitHub和Reddit上引发热议,社区观点主要分为“支持派”与“吐槽派” [38] - 支持派观点:认为这是一种“安全+趣味双赢”的方案,比传统密码更灵活有趣,相当于为电脑增加了一层别致的安全防护;同时赞赏其创意,将枯燥的开机过程变成了乐趣 [39] - 吐槽派观点:认为这在紧急工作场景下(如上班开会)会带来不便,可能导致心态崩溃或被误解为摸鱼;同时担心关闭安全启动会带来安全风险,让恶意软件有机可乘 [39] - 其他脑洞建议:网友提出了分阶段发布并强制更新、增加地狱难度(如失败后格式化硬盘或删除内核)、开发多人对战模式等创意想法 [40][44] 项目定位与影响 - 从实用角度看,该项目更像是一次“技术可能性的展示”,而非推荐所有人安装的实用方案,因为它需要权衡系统安全性 [37] - 开发者指出,玩家若无法通关,可以通过按特定按键(如F11)直接启动引导程序来绕过游戏,因为游戏本质上只是一个被设置在启动顺序首位的EFI可执行文件,此设置可以随时撤销 [41] - 该项目虽然可能永远不会成为主流启动方式,但它展示了在程序员眼中,即使是开机这样的基础过程也存在着无数的创新玩法,这种“为了好玩”的探索本身具有价值 [43]

电脑开机要先闯关?程序员10个月用C语言爆肝5款神作,赢不了直接关机,网友:越折腾越上头 - Reportify