91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

KiDoom:在電路板上玩《毀滅戰(zhàn)士》

KiCad ? 來源: KiCad ? 作者: KiCad ? 2025-11-27 11:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

wKgZO2knwjaAHXVhAA5aiCqT5JQ682.png

引言:當(dāng)“萬物皆可運(yùn)行 DOOM”遇到極致創(chuàng)意

在技術(shù)圈,“萬物皆可運(yùn)行 DOOM”是一個廣為流傳的梗,從計算器到數(shù)碼相機(jī),無數(shù)設(shè)備都被大神們成功移植了這款經(jīng)典游戲。但如果這個問題變得更瘋狂一些:如果游戲的墻壁是真實(shí)的電路板銅線,敵人是芯片封裝,會是怎樣一番景象?

答案就是 KiDoom 項(xiàng)目。它將 1993 年的經(jīng)典游戲《毀滅戰(zhàn)士》(DOOM)渲染在了一個專業(yè)的 PCB編輯器 KiCad 中。這個項(xiàng)目背后充滿了巧妙的技術(shù)構(gòu)思和令人驚訝的實(shí)現(xiàn)細(xì)節(jié),下文將為你揭示其中最有趣的五個事實(shí)。

-----------------------------------------------------------------------------

1. 核心理念:一場“無人問津”卻極致優(yōu)雅的技術(shù)炫技

KiDoom 并非為了解決任何實(shí)際問題,它的誕生源于一個純粹的好奇心和技術(shù)探索精神:“如果 DOOM 的墻壁是真實(shí)的 PCB 走線會怎樣?” 項(xiàng)目的創(chuàng)建者旨在回答一個根本沒人問過的問題,這本身就充滿了一種極客式的浪漫。

What if DOOM's walls were actual PCB traces? What if enemies were QFP-64 chips and health packs were SOT-23 transistors? KiDoom answers these questions nobody asked...

這種看似“無用”的創(chuàng)造,恰恰是技術(shù)社區(qū)創(chuàng)新精神和幽默感的最佳體現(xiàn)。它證明了最純粹的樂趣往往來自于探索技術(shù)的邊界,而非僅僅滿足實(shí)用需求。

2. 技術(shù)突破:從每秒 0.15 幀到可玩的關(guān)鍵轉(zhuǎn)變

項(xiàng)目最初的構(gòu)想是使用 PCB 焊盤來逐個像素地渲染游戲畫面,但這個思路很快被證明是行不通的。

  • 每幀像素數(shù): 320 x 200 = 64,000 個
  • 渲染時間: 64,000 個焊盤 × 每焊盤 0.1 毫秒 = 每幀 6.4 秒
  • 最終幀率: 0.15 FPS (完全不可玩)

真正的突破在于一個“頓悟時刻”:開發(fā)者意識到 DOOM 引擎內(nèi)部本身就是以矢量(線段)而非像素來計算可見幾何體的,它將這些數(shù)據(jù)存儲在drawsegs[]vissprites[]等內(nèi)部數(shù)組中。而 PCB 的銅走線恰好也是矢量數(shù)據(jù)。這個發(fā)現(xiàn)徹底改變了實(shí)現(xiàn)路徑,其渲染效率比像素掃描方案快了 200 到 500 倍。

  • 每幀線段數(shù): 約 100-300 條
  • 渲染時間: 約 200 條走線 × 每走線 0.1 毫秒 = 每幀 20 毫秒 (+ 刷新開銷)
  • 最終幀率: 10-25 FPS (足夠進(jìn)行基本游戲)

這個從像素到矢量的思維轉(zhuǎn)變,是整個項(xiàng)目得以從一個不可能的想法,變成一個可玩的技術(shù)演示的基石。

3. 最具創(chuàng)意的設(shè)計:用芯片封裝的復(fù)雜性來代表游戲角色

KiDoom 項(xiàng)目中最為精妙的設(shè)計,在于它建立了一套實(shí)體映射系統(tǒng):游戲中的不同實(shí)體(敵人、道具等)被渲染為不同復(fù)雜度的真實(shí) PCB 元件封裝。

游戲角色 PCB 封裝 引腳數(shù) 示例
收藏品 SOT-23 3 醫(yī)療包、彈藥夾、鑰匙卡
裝飾物 SOIC-8 8 油桶、尸體、火炬
敵人 QFP-64 64 僵尸、惡魔、玩家

這種設(shè)計的巧妙之處在于,它創(chuàng)造了一種“任何 PCB 設(shè)計師都能直觀理解的視覺層級”。一個強(qiáng)大的霰彈槍手是一個復(fù)雜的 64 引腳芯片,而一個簡單的醫(yī)療包只是一個 3 引腳的晶體管。為了實(shí)現(xiàn)這個映射超過 150 種不同游戲?qū)嶓w的系統(tǒng),開發(fā)者必須深入 DOOM 的 C 語言源代碼進(jìn)行修改。挑戰(zhàn)在于,游戲原生的vissprite_t渲染結(jié)構(gòu)體中并不包含實(shí)體的類型信息。解決方案是直接對引擎進(jìn)行“外科手術(shù)”:通過修改r_defs.h文件為vissprite_t結(jié)構(gòu)體增加一個mobjtype字段,并在r_things.c文件的R_ProjectSprite()函數(shù)中捕獲thing->type,從而在渲染每一幀時都能精確知道每個實(shí)體的具體身份。

4. 架構(gòu)解密:它并非在 KiCad內(nèi)部運(yùn)行 DOOM

一個常見的誤解是 KiDoom 讓 DOOM 運(yùn)行在了 KiCad 內(nèi)部,但事實(shí)并非如此。在這個項(xiàng)目中,KiCad 只是作為“顯示器”或“渲染器”。真正的 DOOM 游戲引擎是作為一個獨(dú)立的 C 語言進(jìn)程在后臺運(yùn)行的。

項(xiàng)目采用了一種“三模式渲染”架構(gòu),同時運(yùn)行三個并行的可視化窗口:

  • SDL 窗口: 真正玩游戲的地方,顯示完整的 DOOM 畫面。
  • Python 線框窗口: 用于調(diào)試,顯示從游戲中提取出的矢量線條。
  • KiCad PCB 窗口: 項(xiàng)目的主角,顯示由銅走線構(gòu)成的墻壁和由元件封裝構(gòu)成的實(shí)體。

每一幀的數(shù)據(jù)都遵循一個清晰的流程:從 C 語言的 DOOM 引擎drawsegs[]vissprites[]數(shù)組中提取幾何數(shù)據(jù),通過 Unix 套接字序列化為 JSON 格式,再由 Python 腳本接收并解析,最終更新到 KiCad 的畫布上。這種清晰的架構(gòu)劃分,展現(xiàn)了項(xiàng)目并非一個簡單的腳本,而是一個經(jīng)過深思熟慮的復(fù)雜系統(tǒng)。而整個系統(tǒng)的性能瓶頸,也清晰地指向了 KiCad 的 Python API 調(diào)用pcbnew.Refresh(),這一步會消耗 30-50 毫秒,是幀率的主要限制因素。

5. 最終觀感:復(fù)古街機(jī)風(fēng)與現(xiàn)代工程工具的奇妙融合

KiDoom 的最終畫面既不像現(xiàn)代游戲的精細(xì)像素,也沒有復(fù)雜的紋理,而是一種獨(dú)特的線框風(fēng)格,仿佛是復(fù)古街機(jī)游戲與現(xiàn)代工程軟件的結(jié)合體。

Think "1982 vector arcade game meets 1993 FPS meets 2025 PCB editor."

畫面的關(guān)鍵視覺元素包括:

  • 墻壁: 藍(lán)色(B.Cu 底層銅)的銅走線框。
  • 實(shí)體: 真實(shí)的 PCB 元件封裝。
  • 遠(yuǎn)近提示: 近處的走線更粗,遠(yuǎn)處的更細(xì),以此實(shí)現(xiàn)深度暗示。
  • 天花板/地板: 并非逐扇區(qū)渲染,而是由簡單的全屏漸變色代表。

KiDoom 將經(jīng)典游戲、復(fù)古的矢量圖形美學(xué)和專業(yè)的工程軟件這三個看似無關(guān)的元素,成功地融合成了一種前所未有的、令人著迷的視覺體驗(yàn)。

-----------------------------------------------------------------------------

結(jié)論:在限制中誕生的極致創(chuàng)意

KiDoom 不僅是一個成功的技術(shù)演示,更是一個關(guān)于創(chuàng)造力、問題解決和技術(shù)熱情的精彩故事。它向我們展示了,即使是使用最意想不到的工具,只要有足夠的巧思,也能創(chuàng)造出令人驚嘆的作品。

Is it practical? No. Is it efficient? Barely. Is it the correct use of a professional PCB design tool? Absolutely not. But it works.

這個項(xiàng)目留給我們的思考是:在你的專業(yè)領(lǐng)域,是否存在一些看似“不務(wù)正業(yè)”卻能激發(fā)無限創(chuàng)意的瘋狂想法?或者,下一個能運(yùn)行 DOOM 的,會是什么意想不到的東西?

項(xiàng)目主頁:

https://www.mikeayles.com/#kidoom

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 電路板
    +關(guān)注

    關(guān)注

    140

    文章

    5317

    瀏覽量

    108128
  • KiCAD
    +關(guān)注

    關(guān)注

    5

    文章

    321

    瀏覽量

    10394
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    電路板三防漆有毒嗎

    深入探討這個問題。電路板三防漆有毒嗎完全固化后的三防漆涂層,化學(xué)性質(zhì)穩(wěn)定,通常對人體無害。它在電路板形成的是一層堅韌透明的保護(hù)膜,用于隔絕環(huán)境侵蝕。然而在液態(tài)未
    的頭像 發(fā)表于 01-16 16:43 ?289次閱讀
    <b class='flag-5'>電路板</b>三防漆有毒嗎

    探索Broadcom ezPyro? 背板電路板:開啟紅外傳感評估新旅程

    探索Broadcom ezPyro? 背板電路板:開啟紅外傳感評估新旅程 電子工程師的設(shè)計世界里,一款優(yōu)秀的評估平臺能為項(xiàng)目的推進(jìn)帶來極大的便利。今天,我們就來深入了解一下Broadcom
    的頭像 發(fā)表于 12-30 16:20 ?200次閱讀

    電路板離子污染的核心危害和主要來源

    電路板離子污染是電子制造業(yè)及相關(guān)應(yīng)用領(lǐng)域中不容忽視的質(zhì)量隱患,其本質(zhì)是電路板在生產(chǎn)、存儲或使用過程中殘留的可電離物質(zhì)(如助焊劑殘留、手指汗液鹽分、環(huán)境粉塵等),這些物質(zhì)潮濕環(huán)境下會形成導(dǎo)電通路,成為導(dǎo)致
    的頭像 發(fā)表于 12-29 16:06 ?557次閱讀

    同惠TH2851 LCR測試儀電路板故障檢測中的作用

    現(xiàn)代電子設(shè)備中,電路板作為核心組件,其穩(wěn)定性和可靠性至關(guān)重要。然而,電路板的故障檢測一直是一個復(fù)雜且技術(shù)密集的過程。同惠TH2851 LCR測試儀作為一種高精度、多功能的阻抗分析儀器,為電路
    的頭像 發(fā)表于 10-18 10:05 ?1455次閱讀
    同惠TH2851 LCR測試儀<b class='flag-5'>在</b><b class='flag-5'>電路板</b>故障檢測中的作用

    FCT自動測試設(shè)備:電路板性能檢測利器

    FCT自動測試設(shè)備能夠?qū)崿F(xiàn)對電路板的功能自動化測試,提高測試覆蓋率。設(shè)備通過預(yù)設(shè)的測試程序和自動化操作流程,對電路板的各項(xiàng)功能和性能指標(biāo)進(jìn)行檢測和驗(yàn)證。例如,通信設(shè)備的電路板測試中,
    的頭像 發(fā)表于 08-07 16:35 ?2143次閱讀
    FCT自動測試設(shè)備:<b class='flag-5'>電路板</b>性能檢測利器

    電路板設(shè)計

    用手觸摸電路板的電阻腿腳脈沖信號輸出就正常是什么原因
    發(fā)表于 07-28 05:12

    AN 224:高速電路板指南

    電子發(fā)燒友網(wǎng)站提供《AN 224:高速電路板指南.pdf》資料免費(fèi)下載
    發(fā)表于 07-14 15:45 ?2次下載

    了解電路板氣密性檢測儀,讓電路板品控更靠譜-岳信儀器

    電子制造領(lǐng)域,電路板的質(zhì)量控制至關(guān)重要,而電路板氣密性檢測儀則是保障其品質(zhì)的關(guān)鍵工具。電路板氣密性檢測儀基于先進(jìn)的檢測原理工作。常見方法有壓差法,通過對
    的頭像 發(fā)表于 07-04 14:17 ?401次閱讀
    了解<b class='flag-5'>電路板</b>氣密性檢測儀,讓<b class='flag-5'>電路板</b>品控更靠譜-岳信儀器

    激光焊錫工藝電路板產(chǎn)品的主要應(yīng)用

    現(xiàn)代工業(yè)制造已經(jīng)快速向智能化的方向發(fā)展,而產(chǎn)品想要實(shí)現(xiàn)更豐富的智能功能,就需要各種集成電路板塊的支持,而一旦缺少這種重要的芯片應(yīng)用基礎(chǔ)設(shè)備,所有的智能化生產(chǎn)都只是一場空談而已。那么目前對工業(yè)生產(chǎn)有著強(qiáng)力支撐作用的電路板產(chǎn)品的主要應(yīng)用都有哪些呢?
    的頭像 發(fā)表于 06-09 10:05 ?818次閱讀

    【案例3.9】電路板無法啟動的故障分析

    【案例3.9】電路板無法啟動的故障分析【現(xiàn)象描述】某設(shè)計,CPU以菊花鏈的方式接兩片F(xiàn)lash存儲器,CPU的引導(dǎo)程序存儲Flash存儲器中,兩片F(xiàn)lash存儲器互為冗余備份。電測試發(fā)現(xiàn),多塊
    的頭像 發(fā)表于 06-07 09:04 ?767次閱讀
    【案例3.9】<b class='flag-5'>電路板</b>無法啟動的故障分析

    印刷電路板 PCB 與印刷線路 PWB 區(qū)別

    線路,主要通過絕緣基材印刷導(dǎo)電圖形形成線路,用于連接電子元器件,實(shí)現(xiàn)電氣信號的傳輸?12。 ? PCB ?:全稱為Printed Circuit Board,即印刷電路板,是一種
    的頭像 發(fā)表于 04-03 11:09 ?2315次閱讀

    貼片電解電容電路板中的作用

    貼片電解電容是電子產(chǎn)品中不可或缺的元器件之一,以其獨(dú)特的功能和緊湊的體積,電路板設(shè)計中發(fā)揮著至關(guān)重要的作用。本文將深入探討貼片電解電容電路板中的多重作用,以及它們?nèi)绾斡绊?/div>
    的頭像 發(fā)表于 04-02 14:55 ?1465次閱讀
    貼片電解電容<b class='flag-5'>在</b><b class='flag-5'>電路板</b>中的作用

    射頻電路板設(shè)計技巧

    現(xiàn)代電子系統(tǒng)中,射頻(RF)電路板設(shè)計已變得越來越復(fù)雜和關(guān)鍵。隨著通信技術(shù)的快速發(fā)展,從5G移動通信到衛(wèi)星通信、雷達(dá)系統(tǒng),射頻電路的性能直接影響整個系統(tǒng)的質(zhì)量和可靠性。射頻電路板設(shè)計
    的頭像 發(fā)表于 03-28 18:31 ?1064次閱讀
    射頻<b class='flag-5'>電路板</b>設(shè)計技巧

    警惕靜電:電路板的隱形殺手? ?

    PCBA 加工領(lǐng)域,靜電猶如一個潛伏在暗處的隱形殺手,時刻威脅著電路板的安全與性能。稍有不慎,它就能給電路板帶來難以估量的損害,造成巨大的經(jīng)濟(jì)損失。今天,就讓我們深入了解一下靜電給電路板
    的頭像 發(fā)表于 03-18 13:09 ?1758次閱讀
    警惕靜電:<b class='flag-5'>電路板</b>的隱形殺手?  ?

    【PCB】PCB 電路板布線設(shè)計

    與數(shù)字電路板設(shè)計中,旁路或反交連電容(0.1uF)應(yīng)盡可能靠近組件 <電源供應(yīng)反交連電容(10uF)應(yīng)置于電源走線進(jìn)入電路板位置。任何情況下,這些電容走線要越短越好。>旁路或反交連電容以及
    發(fā)表于 03-12 13:36