最近一项新奇的工程实践引发了广泛关注——开发者Artem Lytkin竟然利用正则表达式这一文本处理工具,成功运行了经典游戏《毁灭战士》。乍看之下令人难以置信,但深入分析会发现,这背后隐藏着一套极具巧思的技术方案。

简单来说,正则表达式是一种用于描述文本匹配规则的语言,常见于日志检索、表单校验、批量文本处理等场景。然而,Lytkin将其发挥到了极致——他构建了一个96MB的纯文本字符串,其中嵌入了寄存器、部分内存、帧缓冲区以及游戏WAD数据。项目启动后,正则表达式便开始对文本进行高强度的匹配操作,将字符串中的字符替换为各处理器寄存器中的数值,并模拟内存的访问与写入,如此周而复始。
至于画面渲染的表现,性能数据相当惊人:生成一帧游戏画面大约需要180秒,每帧需要执行近1400万次替换操作。虽然速度极其缓慢,但玩家确实可以通过键盘操控游戏,至少证明了这一技术路线的可行性。
为了降低内存访问带来的时间开销,Lytkin还引入了一种优化策略——采用类似二叉树的结构。程序通过分支跳转定位数据,避免了反复扫描整个96MB文本,从而显著提升了这个“文本模拟器”的运行效率。
