{"id":20771,"date":"2026-08-27T05:25:09","date_gmt":"2026-08-27T05:25:09","guid":{"rendered":"https:\/\/news678.top\/?p=20771"},"modified":"2026-08-27T05:25:09","modified_gmt":"2026-08-27T05:25:09","slug":"claude-sonnet-walks-into-doom-one-frozen-frame-at-a-time","status":"publish","type":"post","link":"https:\/\/news678.top\/?p=20771","title":{"rendered":"Claude Sonnet Walks Into DOOM, One Frozen Frame at a Time"},"content":{"rendered":"<p><\/p>\n<div>\n<p><img decoding=\"async\" src=\"https:\/\/images.techeblog.com\/wp-content\/uploads\/2026\/08\/26211407\/reloc-claude-sonnet-ai-agent-llm-play-doom.jpg\" alt=\"Reloc Claude Sonnet AI Agent LLM Play DOOM\" width=\"1280\" height=\"853\"\/><br \/>Andrea Ricci wanted a language model to do more than answer questions. He wanted it to walk a corridor, notice a door, raise a shotgun, and live long enough to tell you what just tried to kill it. He put that test on a board small enough to sit in a palm, running the 1993 shooter that still gets ported to anything with a screen. Claude Sonnet is the marine, and a custom ESP32 module is the planet.<\/p>\n<p><span id=\"more-255665\"\/><br \/><iframe title=\"\ud83e\udd16 Claude Sonnet plays DOOM on an ESP32-P4\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/z6UT_tOvC2Q?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p><noscript><iframe title=\"\ud83e\udd16 Claude Sonnet plays DOOM on an ESP32-P4\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/z6UT_tOvC2Q?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/noscript><br \/>\nScintix P4, RELOC\u2019s module, also known as RM-CMP4, has an intriguing design. It\u2019s just a module trimmed to fit a Raspberry Pi Compute Module 4 or 5, and you can simply plop it into a Pi carrier; everything from HDMI ports to USB sockets to camera connectors works as expected. Inside, there\u2019s a dual-core RISC-V ESP32-P4 processor running at 400 MHz, 32 MB of PSRAM to play with, and a decent 32 MB of flash memory. In addition, an ESP32-C6 manages Wi-Fi and Bluetooth over a four-bit SDIO interface to keep everything running smoothly. A 7-inch 1024 x 600 MIPI-DSI panel, controlled by an EK79007 controller, handles the display responsibilities. The audio is then processed through an ES8311 codec, and they\u2019ve even tested it with an M5 Atomic EchoBase speaker.<\/p>\n<div class=\"aawp\">\n<div class=\"aawp-product aawp-product--horizontal aawp-product--ribbon aawp-product--sale\" data-aawp-product-asin=\"B0D8T53CQ5\" data-aawp-product-id=\"255505\" data-aawp-tracking-id=\"tec02e-20\" data-aawp-product-title=\"ELEGOO 3PCS ESP-32 Dev Boards ESP-WROOM-32 USB-C WiFi Bluetooth 4.2\">\n<p>    <span class=\"aawp-product__ribbon aawp-product__ribbon--sale\">Sale<\/span><\/p>\n<div class=\"aawp-product__thumb\">\n<p>            <img decoding=\"async\" class=\"aawp-product__image\" src=\"https:\/\/m.media-amazon.com\/images\/I\/41ZRwfcT0CL._SL160_.jpg\" alt=\"ELEGOO 3PCS ESP-32 Dev Boards, ESP-WROOM-32, USB-C, WiFi Bluetooth 4.2\"\/><\/p><\/div>\n<div class=\"aawp-product__content\">\n<p>            ELEGOO 3PCS ESP-32 Dev Boards, ESP-WROOM-32, USB-C, WiFi Bluetooth 4.2        <\/p>\n<div class=\"aawp-product__description\">\n<ul>\n<li>Dual-Core Performance Up to 240 MHz: Run sensor processing, wireless communication, automation logic and connected-device tasks on a 32-bit dual-core&#8230;<\/li>\n<li>Built-in Wi-Fi and Bluetooth 4.2: Connect to 2.4 GHz Wi-Fi networks or use Bluetooth Classic and BLE for wireless sensors, smart devices, remote&#8230;<\/li>\n<li>Flexible Power-Saving Modes: ESP32 power-management features support dynamic clock scaling and low-power operating modes, helping developers reduce&#8230;<\/li>\n<\/ul><\/div>\n<\/p><\/div>\n<\/div>\n<\/div>\n<p>\n<img decoding=\"async\" src=\"https:\/\/images.techeblog.com\/wp-content\/uploads\/2026\/08\/26211350\/reloc-claude-sonnet-ai-agent-llm-play-doom-1.jpg\" alt=\"Reloc Claude Sonnet AI Agent LLM Play DOOM\" width=\"1280\" height=\"720\"\/><br \/>\nYou can still use a USB keyboard or a DualShock 4 controller, but Claude doesn\u2019t require any of them. The DOOM game in question does not even run on a custom engine. Ricci, the person who worked on it, delved into an existing ESP32-P4 port created by another guy, Mazur888. It already had DOOM running on a different screen, but there were a few bugs to resolve. Ricci improved the display bring-up to work with Espressif\u2019s standard code, ensured that the panel remained in native landscape mode, and resolved an issue with the MIPI clock source that had not functioned properly with newer silicon. One of the best features is the scaling. Originally, each frame would take roughly 24 milliseconds to enter the display buffer and then require a copy to the screen, which is an additional overhead that consumes CPU time. With the P4\u2019s pixel processing accelerator, it can now stretch each frame into the screen buffer in around 9 milliseconds and page flip without having to copy the data to the screen, allowing the system to run much more smoothly.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/images.techeblog.com\/wp-content\/uploads\/2026\/08\/26211356\/reloc-claude-sonnet-ai-agent-llm-play-doom-2.jpg\" alt=\"Reloc Claude Sonnet AI Agent LLM Play DOOM\" width=\"1280\" height=\"1280\"\/><br \/>Boot-up displays a nice color test screen before loading DOOM1.WAD from a 12 MB SPIFFS partition. No saved Wi-Fi settings yet? Well, an open access point named Scintix P4 -XXXXXX will emerge, and a captive portal will ask for a password. Once that is completed and you are on board, you can access settings via a browser page on the board\u2019s IP. Any subsequent traffic directed at ws:\/\/that-ip\/agent will be correctly redirected. The module is available to back on Crowd Supply, and the source is all on GitHub under the GPL v3 license, while the WAD is still subject to id\u2019s regular shareware restrictions.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/images.techeblog.com\/wp-content\/uploads\/2026\/08\/26211402\/reloc-claude-sonnet-ai-agent-llm-play-doom-3.jpg\" alt=\"Reloc Claude Sonnet AI Agent LLM Play DOOM\" width=\"1280\" height=\"1280\"\/><br \/>Watch the video, and the player seemingly jerks forward at random. Click a few steps forward, then pause, turn, and fire. The stuttering pace is actually intentional, and not caused by a latency bug. The firmware creates a WebSocket path called \/agent, and as one action is performed, game time advances slightly; a few ticks are all that is required. Then you receive a JSON observation, and the level remains frozen until you send the next command. Ricci refers to it as lockstep, and the concept is that a fixed frame provides the model with a steady world to narrate, rather than a confused mess of motion that it cannot keep up with. There\u2019s a small Python server, tools\/doom_mcp_server.py, that wraps the socket, allowing Claude Code to treat the board like a workshop full of tools: you can observe, move the player forward or back, turn left or right, strafe, fire your gun, use an item, select a new weapon, or request a map. Adding it in is a single line that points to the board\u2019s WebSocket, and the model is now holding the weapon.<br \/><span>[Source]<\/span><\/p>\n<\/p><\/div>\n<p> Claude Sonnet Walks Into DOOM, One Frozen Frame at a Time<br \/>\n<br \/>#Claude #Sonnet #Walks #DOOM #Frozen #Frame #Time<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Andrea Ricci wanted a language model to do more than answer questions. He wanted it&#8230;<\/p>\n","protected":false},"author":1,"featured_media":20772,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[1048,1407,3077,1013,13311,86,5709],"class_list":["post-20771","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech","tag-claude","tag-doom","tag-frame","tag-frozen","tag-sonnet","tag-time","tag-walks"],"featured_image_urls":{"full":["https:\/\/news678.top\/wp-content\/uploads\/2026\/08\/reloc-claude-sonnet-ai-agent-llm-play-doom.jpg",1280,853,false],"thumbnail":["https:\/\/news678.top\/wp-content\/uploads\/2026\/08\/reloc-claude-sonnet-ai-agent-llm-play-doom-150x150.jpg",150,150,true],"medium":["https:\/\/news678.top\/wp-content\/uploads\/2026\/08\/reloc-claude-sonnet-ai-agent-llm-play-doom-300x200.jpg",300,200,true],"medium_large":["https:\/\/news678.top\/wp-content\/uploads\/2026\/08\/reloc-claude-sonnet-ai-agent-llm-play-doom-768x512.jpg",640,427,true],"large":["https:\/\/news678.top\/wp-content\/uploads\/2026\/08\/reloc-claude-sonnet-ai-agent-llm-play-doom-1024x682.jpg",640,426,true],"1536x1536":["https:\/\/news678.top\/wp-content\/uploads\/2026\/08\/reloc-claude-sonnet-ai-agent-llm-play-doom.jpg",1280,853,false],"2048x2048":["https:\/\/news678.top\/wp-content\/uploads\/2026\/08\/reloc-claude-sonnet-ai-agent-llm-play-doom.jpg",1280,853,false],"covernews-featured":["https:\/\/news678.top\/wp-content\/uploads\/2026\/08\/reloc-claude-sonnet-ai-agent-llm-play-doom-1024x682.jpg",1024,682,true],"covernews-medium":["https:\/\/news678.top\/wp-content\/uploads\/2026\/08\/reloc-claude-sonnet-ai-agent-llm-play-doom-540x340.jpg",540,340,true]},"author_info":{"display_name":"admin","author_link":"https:\/\/news678.top\/?author=1"},"category_info":"<a href=\"https:\/\/news678.top\/?cat=8\" rel=\"category\">Tech<\/a>","tag_info":"Tech","comment_count":"0","_links":{"self":[{"href":"https:\/\/news678.top\/index.php?rest_route=\/wp\/v2\/posts\/20771","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/news678.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/news678.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/news678.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/news678.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=20771"}],"version-history":[{"count":0,"href":"https:\/\/news678.top\/index.php?rest_route=\/wp\/v2\/posts\/20771\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/news678.top\/index.php?rest_route=\/wp\/v2\/media\/20772"}],"wp:attachment":[{"href":"https:\/\/news678.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=20771"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/news678.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=20771"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/news678.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=20771"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}