哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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”是一個廣為流傳的梗,從計(jì)算器到數(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 焊盤來逐個像素地渲染游戲畫面,但這個思路很快被證明是行不通的。

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

真正的突破在于一個“頓悟時刻”:開發(fā)者意識到 DOOM 引擎內(nèi)部本身就是以矢量(線段)而非像素來計(jì)算可見幾何體的,它將這些數(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è)計(jì):用芯片封裝的復(fù)雜性來代表游戲角色

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

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

這種設(shè)計(jì)的巧妙之處在于,它創(chuàng)造了一種“任何 PCB 設(shè)計(jì)師都能直觀理解的視覺層級”。一個強(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)系本站處理。 舉報(bào)投訴
  • 電路板
    +關(guān)注

    關(guān)注

    140

    文章

    5343

    瀏覽量

    108880
  • KiCAD
    +關(guān)注

    關(guān)注

    6

    文章

    327

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    電路板銅板氧化層清洗# 能勢環(huán)??萍?助焊劑清洗 #電路板

    電路板
    jf_94090437
    發(fā)布于 :2026年04月13日 13:24:41

    電路板電阻推力測試怎么做?推拉力測試機(jī)測試方法與標(biāo)準(zhǔn)解析

    最近我們接待了一位來自電子制造行業(yè)的客戶,他們主要從事電路板貼片加工相關(guān)業(yè)務(wù),目前想評估電路板電阻元件的焊接強(qiáng)度。針對這個需求,科準(zhǔn)測控小編今天就和大家分享一下,如何使用BetaS100推拉力測試
    的頭像 發(fā)表于 04-03 13:40 ?107次閱讀
    <b class='flag-5'>電路板</b>電阻推力測試怎么做?推拉力測試機(jī)測試方法與標(biāo)準(zhǔn)解析

    電路板三防漆有毒嗎

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

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

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

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

    電路板離子污染是電子制造業(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 ?688次閱讀

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

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

    電路板設(shè)計(jì)

    用手觸摸電路板的電阻腿腳脈沖信號輸出就正常是什么原因
    發(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 ?497次閱讀
    了解<b class='flag-5'>電路板</b>氣密性檢測儀,讓<b class='flag-5'>電路板</b>品控更靠譜-岳信儀器

    Gerber輸出中沒有電路板切口的解決方案

    電路板切口導(dǎo)出 Gerber 文件時不會自動輸出。本文說明如何將切口輪廓生成到機(jī)械層,以便記錄并包含在制造輸出文件中。
    的頭像 發(fā)表于 06-24 11:47 ?823次閱讀
    Gerber輸出中沒有<b class='flag-5'>電路板</b>切口的解決方案

    電路板助焊劑殘留的處理方法

    焊錫是焊接線路中連接電子元器件的重要工業(yè)原材料,pcb線路錫的工藝中有浸錫,印刷過回焊爐,還有一種是機(jī)器焊錫機(jī)焊接或手工烙鐵焊接這幾種,但不管是哪一些工藝焊接后的PCB
    的頭像 發(fā)表于 06-19 15:36 ?2312次閱讀

    激光焊錫工藝電路板產(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 ?923次閱讀

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

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

    2塊含有cyusb3014的同樣電路板插接在同一臺電腦,如何實(shí)現(xiàn)用CYAPI對2塊電路板cyusb3014的slavefifo總線讀取和寫入呢?

    你好! 我現(xiàn)在由2塊一樣的含有cyusb3014的電路板電路板與fpga通信采用slavefifo總線模式,cyusb3014的固件一樣,只是2塊電路板的cyusb3014的枚舉v
    發(fā)表于 05-19 06:47
    温泉县| 海阳市| 龙岩市| 屏南县| 长岭县| 鄯善县| 简阳市| 莱阳市| 通州区| 乐至县| 兰溪市| 元谋县| 木兰县| 扶绥县| 衡水市| 济源市| 陇西县| 东阳市| 田阳县| 丰台区| 安丘市| 富宁县| 宁晋县| 武陟县| 罗甸县| 出国| 象山县| 稻城县| 教育| 邳州市| 茌平县| 年辖:市辖区| 宜宾市| 竹北市| 辽阳县| 靖安县| 随州市| 兴文县| 六枝特区| 宽甸| 藁城市|