브라우저에서 윈도우 에뮬레이터로 스타크래프트 구동 성공
Got Starcraft running in browser in my Windows emulator
핵심 요약
WASM 기반 윈도우 에뮬레이터를 개발해 브라우저에서 스타크래프트를 구동한 프로젝트 소개.
- 기술 스택 — WASM 기반의 스레드 인터프리터로 원본 EXE 파일 구동함.
- AI 활용 — Claude와 Codex를 교차 검증하며 코드 작성 및 에뮬레이터 제어함.
- 테스트 환경 — API 추적 및 상태 저장 기능을 갖춘 에이전트용 테스트 하네스 구축함.
- 개발 과정 — 메모장부터 AAA 게임까지 점진적으로 복잡한 소프트웨어를 구동함.

제작 과정:
-
설계 제약 사항 결정
-
run code in WASM
-
use threaded interpreter (because JIT impossible with raw WASM)
-
run original EXE, no recompile.
-
-
상위 언어는 건너뛰고 WebAssembly 텍스트 표현으로 직접 코딩.
-
Claude가 짠 코드는 Codex가 검토하고, 반대로 Codex가 짠 건 Claude가 검토하게 함.
-
새로운 EXE를 실행 가능한 상태로 만들어야 할 때마다 /goal을 설정함.
-
수동 테스트 + 에이전트를 위한 탄탄한 테스트 환경 구축:
-
시간 이벤트 전송 / 스크린샷 획득 / 메모리 덤프 / API 추적 등이 가능한 배치 작업 CLI.
-
최근에는 에이전트 턴 사이에 상태를 일시 정지시키는 꼼수를 써서 에이전트가 에뮬레이터를 직접 조작하게 함. Quake 같은 게임도 돌아감.
-
-
점점 복잡한 소프트웨어를 먹여서 실행시킴. 메모장 -> Windows Entertainment Pack -> 핀볼 -> AAA급 게임 순으로.
-
신경 써서 지켜봐야 했던 점:
-
rendering fidelity (sometimes AI won't notice huge gaps in rendering like just empty spaces). Some things like getting proper TrueType rendering also required back and forth validation against real Windows 98 running in v86
-
keeping stuff in WASM, agents tended to move as much as possible to JS
-
managing multiple parallel changes to same workspace/repo - ended up introducing messageboard for agents
-
직접 해보고 자세한 내용 읽어보기:
https://wine-assembly.berrry.app

