Malang Stone — 바둑 대국 상세 설계서
상태: CURATED · ACTIVE (규칙 엔진 구현 완료 · 설계 Draft) 기술 스택: Flutter (Dart), Riverpod, sqflite, Minimax + Alpha-Beta Pruning 카테고리: Mobile Game
1. 문제와 대상 사용자
바둑 입문자는 상대를 구하기도, 자기 수준에 맞는 난이도를 찾기도 어렵습니다. Malang Stone은 혼자서도 난이도를 골라 한 판을 끝까지 두어 볼 수 있게 하는 것을 목표로 합니다. 대상은 규칙을 막 익힌 입문자와 가볍게 한 판을 두려는 사용자입니다.
2. 핵심 기능
| 기능 | 설명 |
|---|---|
| 규칙 엔진 | 19×19 착수 규칙, 덤 6.5집, 영토 + 잡은 돌 계산 |
| 3난이도 AI | Minimax + Alpha-Beta Pruning (탐색 깊이 조절) |
| 로컬 2인 대국 | 동일 기기에서 번갈아 착수하는 핫시트 모드 |
3. 기술 선택 이유
- DDD 4-Tier + Hexagonal: 규칙 엔진을 UI와 분리해, 렌더링 없이 규칙만 테스트할 수 있게 했습니다.
- Minimax + Alpha-Beta: 학습 모델 없이 난이도를 탐색 깊이로 조절해, 오프라인에서 추론 비용 없이 동작합니다.
- sqflite: 기보와 설정을 로컬에 저장합니다.
4. 현재 범위
- 규칙 엔진과 3단계 AI 난이도가 동작합니다.
- 설계 문서는 Draft 단계이며, UI 확장과 온라인 대국은 후속 과제입니다.
- 검증된 스토어 배포가 생기기 전까지 설치 전환을 제공하지 않습니다.
5. 알려진 한계
- 탐색 기반 AI라 깊이를 올리면 착수 대기 시간이 길어집니다.
- 온라인 대국과 기력 측정은 구현 범위가 아닙니다.
6. 다음 검증
- 난이도별 착수 소요 시간 측정과 상한 설정
- 플레이 영상·시스템 설명 자산 확보 후 카드 시연 방식 확정