자동 DOSBox 설정을 갖춘 Windows 11용 DOS 게임 런처 제작기
요약
이 글은 Python, PySide6, DOSBox Staging을 활용하여 Windows 11용 'AI DOS Game Launcher'를 제작한 과정을 소개합니다. 이 런처는 온라인에서 합법적인 DOS 게임을 검색하고 다운로드하며, 게임별 dosbox 설정을 자동으로 생성해주는 기능을 제공합니다. 자동 설정 기능은 결정론적 휴리스틱과 OpenAI 호환 API를 사용하여 실행 파일을 감지하고 최적의 DOSBox 구성을 자동화합니다.
핵심 포인트
- DOS 게임 관리를 현대적인 라이브러리처럼 개선함.
- 게임 검색, 다운로드, dosbox.conf 생성이 자동화됨.
- 결정론적 휴리스틱을 사용해 AI 키 없이도 핵심 기능을 구현함.
- Python과 PySide6를 사용하여 데스크톱 앱으로 제작됨.
현대 PC에서 DOS 게임을 실행하려면 적절한 실행 파일을 찾고, 마운트 명령어를 작성하며, 설정 파일을 조정하고, 모든 설치를 체계적으로 관리해야 하는 경우가 많습니다. 저는 이러한 설정을 현대적인 게임 라이브러리를 사용하는 것처럼 느끼도록 만들고 싶었습니다.
그래서 Python, PySide6, 그리고 DOSBox Staging을 기반으로 하는 소스 공개형 Windows 11 데스크톱 앱인 AI DOS Game Launcher를 제작했습니다.
기능
이 런처는 다음 기능을 수행할 수 있습니다:
- Internet Archive MS-DOS 컬렉션 및 classicdosgames.com에서 합법적인 프리웨어 및 셰어웨어를 검색합니다.
- 선택한 게임을 다운로드하고 압축 해제합니다.
- 사용 가능한 실행 파일에 순위를 매기고 가장 가능성 높은 게임 진입점을 선택합니다.
- 게임별
dosbox.conf를 생성합니다. - 휴대용 DOSBox Staging 설치를 다운로드하고 관리합니다.
- 사용자가 소유한 폴더와 ZIP 아카이브를 가져옵니다.
- 설치된 게임을 오프라인으로 플레이할 수 있도록 유지합니다.
- 사용자가 실행 파일 선택과 DOSBox 설정을 편집할 수 있게 합니다.
이 프로젝트는 게임을 번들링하거나 불법 복제 사이트를 검색하지 않습니다. 사용자는 각 게임의 라이선스 및 저작권 약관에 대한 책임이 있습니다.
자동 설정 작동 방식
실행 파일 감지기는 일반적인 설치 프로그램, 설정 도구, 제거 프로그램 및 유틸리티를 필터링합니다. 그런 다음 남은 파일들을 게임 제목, 폴더 이름, 실행 파일 명명 패턴을 사용하여 점수를 매깁니다.
실행 파일이 선택되면, 런처는 게임 디렉토리를 C:로 마운트하고 게임을 자동으로 시작하는 구성을 생성합니다. 결정론적 휴리스틱(Deterministic heuristics)이 핵심 워크플로우를 처리하므로 AI 키가 필요하지 않습니다.
검색어 정리, 실행 파일 선택 및 설정 제안을 위해 OpenRouter를 포함한 OpenAI 호환 제공업체에 대한 선택적 지원이 있습니다. API 키는 로컬 gitignore된 config.json 파일에 보관됩니다.
스택 및 품질 검사
- Python 3.12+
- PySide6 데스크톱 인터페이스
- DOSBox Staging 휴대용 런타임
- 오프라인, 피처 기반 pytest 스위트
- 25개 테스트 통과
- Windows에서 Python 3.12 및 3.13에 대한 GitHub Actions 커버리지
인터페이스는 어두운 레트로 테마를 사용하며, 애플리케이션은 다운로드된 게임, 에뮬레이터 파일 및 로컬 설정을 소스 제어(source control) 외부에 보관합니다.
현재 제한 사항 (Current limitations)
첫 번째 버전은 Windows 11을 목표로 합니다. 카탈로그 커버리지는 여전히 개선될 수 있으며, 실행 파일 감지(executable detection)는 특이한 아카이브의 경우 항상 예외 사례(edge cases)가 있을 것입니다. 현재 리포지토리는 소프트웨어 라이선스가 아직 부여되지 않은 상태에서 소스 코드가 공개되어 있습니다.
특히 다음 사항에 대한 피드백을 감사히 받겠습니다:
- 설치 및 첫 실행 경험 (install and first-run experience)
- 실행 파일 감지 예외 사례 (Executable detection edge cases)
- 인터페이스에 노출하면 유용한 DOSBox 설정
- 지원할 가치가 있는 추가적인 합법적 무료 소프트웨어(freeware) 또는 공유 소프트웨어(shareware) 카탈로그
사용해 보기 (Try it)
코드, 설정 지침, 테스트 및 구현 노트는 GitHub에 있습니다:
Skynet-Pro-Plus/ai-dos-game-launcher
사용해 보시고, 어떤 DOS 게임을 테스트했는지, 그리고 설정 경험이 더 매끄러울 수 있는 부분이 있었는지 알려주세요.
공개 고지: 이 프로젝트를 구축하고 문서화하는 동안 AI 지원 코딩 및 작성 도구를 사용했습니다. 저는 결과로 나온 코드와 기사를 검토했으며, 이 프로젝트는 자동화된 테스트 스위트(automated test suite)에 의해 보호받고 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기