2026年7月28日
近日,开发者阿尔捷姆·雷特金通过正则表达式成功实现了1992年经典游戏毁灭战士的完整运行。尽管功能完备,其执行效率极为低下:每生成一帧画面耗时约三分钟,过程中需完成近一千四百万次文本替换操作,平均每秒执行约八万次替换。
在程序员圈内,将毁灭战士移植至各类非传统硬件早已成为一项标志性实践——从厨房电器到日常充电设备,甚至医疗检测工具,均曾被用于承载这款游戏。而此次以纯正则表达式作为唯一执行引擎,标志着对软件抽象能力边界的深度探索。
正则表达式本为文本处理工具,却具备条件分支、位置跳转与模式替换等结构化逻辑能力,从理论层面已满足图灵完备性要求。雷特金正是基于这一特性,构建了一个体积达九十六兆字节的纯文本字符串。该字符串完整封装了虚拟中央处理器的寄存器状态、内存映射、视频帧缓冲区、游戏资源文件(WAD)以及输入输出接口等全部运行要素。
程序启动后,系统持续对这一超长文本进行匹配与替换操作,以此模拟寄存器数值更新、内存读写及指令执行过程,形成闭环计算循环。尽管单帧耗时漫长,但整个流程可稳定推进,且最终输出的画面与原版毁灭战士严格一致。玩家亦可通过键盘进行交互,只是每次按键响应需等待约三分钟才能显现视觉反馈,开发者本人也幽默地指出,这种延迟使它彻底脱离了射击游戏应有的节奏感。
为提升内存访问效率,雷特金巧妙利用正则表达式中的位置跳转机制,在文本内部构造了一棵二叉搜索树结构,实现快速定位与局部寻址,从而规避对九十六兆字节文本进行全量扫描的开销。
该项目已全面开源,名称为doom-regex。官方平台同步提供可视化演示功能,支持以实时文本流和图形界面两种形式同步呈现运行过程,其缓慢而规律的演进节奏,呈现出一种独特的视觉韵律。

评论
更多评论