当《毁灭战士》入侵KiCAD与示波器:硬核玩家的技术狂欢

文章介绍了两个非传统的《毁灭战士》游戏移植项目:一个利用KiCAD电路设计软件将游戏画面映射为PCB版图,另一个则借助声卡和X-Y模式示波器实现画面显示,详细阐述了其技术实现原理和性能表现。

《毁灭战士》在KiCAD和示波器上的游戏变体

2025年11月26日 23:45

展示了使用KiCAD EDA软件和示波器进行画面渲染的《毁灭战士》游戏移植版本。KiDoom端口在PCB编辑器中构建游戏场景,通过排列印刷电路板上的走线和元件来模拟矢量图形。走线用于形成墙壁,SOT-23晶体管用于显示小型物品,SOIC-8芯片用于装饰物,而QFP-64芯片则代表玩家和敌人。总共实现了超过150种游戏实体与相应PCB元件的映射。

为了在KiCAD编辑器中显示,经过修改的Doom版本通过Unix套接字将生成的矢量数据发送到KiCAD中安装的、用Python语言编写的插件。该插件在PCB编辑器中放置走线和元件,定期更改它们的位置,并调用pcbnew.Refresh()函数来更新屏幕内容。值得注意的是,性能瓶颈在于pcbnew.Refresh()的调用,但即便如此,其性能也足以实现每秒10-25帧的显示。

ScopeDoom端口在X-Y模式下工作的示波器上生成图像,使用声卡作为双通道数模转换器。X-Y模式实现了矢量显示,其X轴坐标通过示波器的CH1通道传输,Y轴坐标通过CH2通道传输。矢量数据的生成利用了上述KiDoom实现中的代码,以及一个用于转换坐标并以音频信号形式传输的Python脚本。在这种方法下,帧率的刷新受限于音频采样率,达到每秒4-8帧。

相关链接: https://news.ycombinator.com/item?id=43227293

OpenNews: 发布项目FPDoom 1.20251101,为功能手机开发Doom及其他游戏的移植版本。 OpenNews: 实现了基于SQL编写的多人DOOM类游戏。 OpenNews: 从编码风格角度评估《毁灭战士3》源代码。 OpenNews: 首个第一人称射击游戏的代码在GPL许可证下开源。 OpenNews: 发布EDA软件KiCad 9.0。

许可协议: CC BY 3.0 短链接: https://opennet.ru/64329-doom 关键词: doom, kikad

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计