<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Brad Perry</title>
    <description>The latest articles on DEV Community by Brad Perry (@brad_perry_bb67ba530e73b7).</description>
    <link>https://dev.to/brad_perry_bb67ba530e73b7</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3898046%2F66c2a35f-dcbc-4fa3-8738-e432d0ec3e2e.png</url>
      <title>DEV Community: Brad Perry</title>
      <link>https://dev.to/brad_perry_bb67ba530e73b7</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/brad_perry_bb67ba530e73b7"/>
    <language>en</language>
    <item>
      <title>I built a DOS game launcher for Windows 11 with automatic DOSBox setup</title>
      <dc:creator>Brad Perry</dc:creator>
      <pubDate>Fri, 17 Jul 2026 02:52:12 +0000</pubDate>
      <link>https://dev.to/brad_perry_bb67ba530e73b7/i-built-a-dos-game-launcher-for-windows-11-with-automatic-dosbox-setup-26i</link>
      <guid>https://dev.to/brad_perry_bb67ba530e73b7/i-built-a-dos-game-launcher-for-windows-11-with-automatic-dosbox-setup-26i</guid>
      <description>&lt;p&gt;Getting a DOS game running on a modern PC often means finding the right executable, writing mount commands, tuning a config file, and keeping every installation organized. I wanted that setup to feel more like using a modern game library.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;AI DOS Game Launcher&lt;/strong&gt;, a source-available Windows 11 desktop app powered by Python, PySide6, and DOSBox Staging.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it does
&lt;/h2&gt;

&lt;p&gt;The launcher can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Search legitimate freeware and shareware catalogs from the Internet Archive MS-DOS collections and classicdosgames.com&lt;/li&gt;
&lt;li&gt;Download and extract a selected game&lt;/li&gt;
&lt;li&gt;Rank the available executables and choose the most likely game entry point&lt;/li&gt;
&lt;li&gt;Generate a per-game &lt;code&gt;dosbox.conf&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Download and manage a portable DOSBox Staging installation&lt;/li&gt;
&lt;li&gt;Import user-owned folders and ZIP archives&lt;/li&gt;
&lt;li&gt;Keep installed games available for offline play&lt;/li&gt;
&lt;li&gt;Let users edit executable choices and DOSBox settings&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The project does &lt;strong&gt;not&lt;/strong&gt; bundle games or search piracy sites. Users remain responsible for each game's license and copyright terms.&lt;/p&gt;

&lt;h2&gt;
  
  
  How the automatic setup works
&lt;/h2&gt;

&lt;p&gt;The executable detector filters out common installers, setup tools, uninstallers, and utilities. It then scores the remaining files using the game title, folder name, and executable naming patterns.&lt;/p&gt;

&lt;p&gt;Once an executable is selected, the launcher creates a configuration that mounts the game directory as &lt;code&gt;C:&lt;/code&gt; and starts the game automatically. Deterministic heuristics handle the core workflow, so no AI key is required.&lt;/p&gt;

&lt;p&gt;There is optional support for OpenAI-compatible providers, including OpenRouter, for search-term cleanup, executable selection, and configuration suggestions. API keys stay in a local gitignored &lt;code&gt;config.json&lt;/code&gt; file.&lt;/p&gt;

&lt;h2&gt;
  
  
  Stack and quality checks
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Python 3.12+&lt;/li&gt;
&lt;li&gt;PySide6 desktop interface&lt;/li&gt;
&lt;li&gt;DOSBox Staging portable runtime&lt;/li&gt;
&lt;li&gt;Offline, fixture-based pytest suite&lt;/li&gt;
&lt;li&gt;25 passing tests&lt;/li&gt;
&lt;li&gt;GitHub Actions coverage for Python 3.12 and 3.13 on Windows&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The interface uses a dark retro theme, while the application keeps downloaded games, emulator files, and local settings outside source control.&lt;/p&gt;

&lt;h2&gt;
  
  
  Current limitations
&lt;/h2&gt;

&lt;p&gt;The first release targets Windows 11. Catalog coverage can still improve, and executable detection will always have edge cases for unusual archives. The repository is currently source-available with no software license granted yet.&lt;/p&gt;

&lt;p&gt;I'd especially appreciate feedback on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The install and first-run experience&lt;/li&gt;
&lt;li&gt;Executable detection edge cases&lt;/li&gt;
&lt;li&gt;Useful DOSBox settings to expose in the interface&lt;/li&gt;
&lt;li&gt;Additional legitimate freeware or shareware catalogs worth supporting&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;The code, setup instructions, tests, and implementation notes are on GitHub:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/Skynet-Pro-Plus/ai-dos-game-launcher" rel="noopener noreferrer"&gt;Skynet-Pro-Plus/ai-dos-game-launcher&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you try it, let me know which DOS game you tested and where the setup experience could be smoother.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Disclosure: I used AI-assisted coding and writing tools while building and documenting this project. I reviewed the resulting code and article, and the project is covered by its automated test suite.&lt;/em&gt;``&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>python</category>
      <category>gamedev</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
