프로젝트 소개

Shatterfish는 체스 엔진인 Stockfish를 모델로 하여 Shattered Pixel Dungeon(SPD)에 고급 자동화 및 분석 기능을 확장하도록 설계된 오픈 소스 프로젝트입니다. 이 프로젝트는 SPD의 다운스트림 포크로 작동하며 호환성을 유지하는 동시에 네 가지 핵심 구성 요소를 추가합니다. 빠른 재현 실행을 위한 헤드리스 게임 하네스, 관찰 가능한 게임 상태만을 사용하여 플레이하는 심볼릭 AI '브레인', SPRT 비교를 통해 변경 사항을 평가하는 통계적 테스트 리그, 그리고 실제 게임 플레이 중에 사용자가 봇을 관찰, 일시 중지 또는 제어할 수 있는 인게임 오버레이가 그것입니다. 이 프로젝트는 '정보 동등성(information parity)'을 엄격하게 적용합니다. 즉, 봇은 렌더링된 비주얼, 로그, 저널 항목과 같이 인간 플레이어가 화면에서 볼 수 있는 정보만 사용할 수 있습니다. RNG 시드나 미식별 아이템의 정체와 같은 숨겨진 게임 상태에는 접근할 수 없습니다. 이러한 공정성 제약은 단일 Observer 인터페이스를 통해 강제되며, 모든 변경 사항에는 누수 테스트(leak tests)가 수반됩니다. JDK 21로 구축되었으며 Android SDK나 Xcode는 필요하지 않습니다. 코드베이스는 shatterfish/ 모듈(api, harness, codex, brain, rig, overlay) 아래에 구성되어 있으며, 업스트림 고정(v3.3.8), 빌드 지침 및 개발 방법론(BMAD Method)을 포함한 상세 문서가 제공됩니다. 모든 기여분은 SPD의 라이선스와 동일한 GPL-3.0-or-later 라이선스를 따릅니다. 본 프로젝트는 SPD의 원작자와 아무런 관련이 없음을 명시적으로 밝힙니다.