{"id":18175,"date":"2025-11-28T19:16:03","date_gmt":"2025-11-28T10:16:03","guid":{"rendered":"https:\/\/aireviewirush.com\/?p=18175"},"modified":"2025-11-28T19:16:03","modified_gmt":"2025-11-28T10:16:03","slug":"i-all-the-time-thought-hint-routing-was-evil","status":"publish","type":"post","link":"https:\/\/aireviewirush.com\/?p=18175","title":{"rendered":"I All the time Thought Hint Routing Was Evil"},"content":{"rendered":"<p> <br \/>\n<br \/><img decoding=\"async\" src=\"https:\/\/hackster.imgix.net\/uploads\/attachments\/1906294\/_g7brS0cC0r.blob?auto=compress%2Cformat&amp;w=400&amp;h=300&amp;fit=min\" alt=\"\"><br \/>Right here we go once more! One other day, one other bizarre solution to play  Doom . This time it\u2019s not an obscure IoT gadget or retro laptop that\u2019s operating everybody\u2019s favourite demon-blasting FPS recreation. Michael Ayles has executed one thing far stranger and fewer sensible than that by combining KiCad and  Doom  into one bundle. Should you want a break from working in your PCB design, now you received\u2019t even have to shut KiCad to do some gaming.<\/p>\n<p>Ayles\u2019 creation, referred to as KiDoom, technically doesn\u2019t run  Doom  \u2014 that&#8217;s dealt with by the standard recreation engine by way of the doomgeneric supply code port. Nonetheless, KiCad\u2019s PCB Editor is used because the frontend, displaying the graphics one of the simplest ways it is aware of how. What it is aware of, in fact, is PCBs. As such, copper traces had been drawn to characterize partitions, whereas part footprints served as enemies, well being packs, and different recreation objects. Be careful for these QFP-64 chips! These are the unhealthy guys.<\/p>\n<p>As an alternative of making an attempt to render  Doom  pixel-by-pixel \u2014 which preliminary checks confirmed would crawl alongside at roughly 0.15 FPS \u2014 Ayles realized that the unique engine already builds geometry as vectors. PCB traces, in any case, are simply vectors in copper. By extracting wall and sprite information immediately from the sport\u2019s drawsegs[] and vissprites[] constructions, KiCad solely has to replace 100\u2013300 line segments per body as an alternative of pushing tens of hundreds of pixels. That effectivity is what makes this weird experiment playable, clocking in at round 10\u201325 frames per second, relying on the {hardware}.<\/p>\n<p>It\u2019s arduous to name KiDoom helpful, however that\u2019s probably not the purpose.  Doom  has been run on every part from printers to oscilloscopes, and this mission raises the bar in its personal distinctive means. And when you\u2019ve received nothing higher to do that weekend, you possibly can  strive it out for your self .Enjoying Doom in KiCad (\ud83d\udcf7: Michael Ayles)<br \/>\n<br \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Right here we go once more! One other day, one other bizarre solution to play Doom . This time it\u2019s not an obscure IoT gadget or retro laptop that\u2019s operating everybody\u2019s favourite demon-blasting FPS recreation. Michael Ayles has executed one thing far stranger and fewer sensible than that by combining KiCad and Doom into one [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":18177,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22],"tags":[],"class_list":{"0":"post-18175","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-iot"},"_links":{"self":[{"href":"https:\/\/aireviewirush.com\/index.php?rest_route=\/wp\/v2\/posts\/18175","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aireviewirush.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aireviewirush.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aireviewirush.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aireviewirush.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=18175"}],"version-history":[{"count":1,"href":"https:\/\/aireviewirush.com\/index.php?rest_route=\/wp\/v2\/posts\/18175\/revisions"}],"predecessor-version":[{"id":18176,"href":"https:\/\/aireviewirush.com\/index.php?rest_route=\/wp\/v2\/posts\/18175\/revisions\/18176"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aireviewirush.com\/index.php?rest_route=\/wp\/v2\/media\/18177"}],"wp:attachment":[{"href":"https:\/\/aireviewirush.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=18175"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aireviewirush.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=18175"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aireviewirush.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=18175"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}