docs: Progress Quest 언급 제거 + README 전면 재작성
Some checks failed
CI / analyze-and-test (push) Has been cancelled

- README: 프로젝트 설명, 게임 시스템, 스탯 표 포함 재작성
- CLAUDE.md, ARCHITECTURE.md: PQ 참조 제거
- skill_data, pq_logic, game_state, game_mutations: 주석에서 PQ 언급 제거
- analysis/market-analysis: PQ 언급 제거
This commit is contained in:
JiWoong Sul
2026-03-31 00:22:28 +09:00
parent b346fdebe8
commit 0116db1056
8 changed files with 59 additions and 35 deletions

View File

@@ -1,6 +1,6 @@
# Ascii Never Die
# ASCII Never Die
Progress Quest 6.4의 핵심 메커니즘을 기반으로, "디지털 판타지" 세계관과 확장된 시스템으로 재구성한 오프라인 싱글플레이어 방치형 RPG.
"디지털 판타지" 세계관의 오프라인 방치형 RPG. ASCII 아트 비주얼과 자동 전투 시스템으로, 켜두기만 하면 캐릭터가 성장합니다.
## 스크린샷
@@ -15,25 +15,47 @@ Progress Quest 6.4의 핵심 메커니즘을 기반으로, "디지털 판타지"
## 주요 기능
- **6개 화면** -- 타이틀/세이브 선택, 캐릭터 생성(3d6 스탯 롤), 게임 진행(장비/인벤토리/퀘스트/스킬/전투로그/스토리), 아레나 PvP, 명예의 전당, 설정
- **완전 오프라인** -- 네트워크 불필요. 모든 게임 데이터와 세이브가 로컬에 저장
- **수익화** -- AdMob 리워드/인터스티셜 광고 + IAP 광고 제거/프리미엄
- **다국어 지원** -- 한국어, 영어, 일본어 (앱 UI + 게임 데이터)
- **ASCII 아트 애니메이션** -- Canvas 기반 전투/탐험/마을 씬, 종족별 캐릭터 프레임
- **보안** -- 세이브 파일 HMAC-SHA256 무결성 검증, IAP 영수증 RSA 서명 검증
- **방치형 자동 전투** -- 전투, 레벨업, 퀘스트, 스토리가 자동으로 진행
- **ASCII 아트 애니메이션** -- Canvas 기반 전투/탐험/마을 씬, 21개 종족별 캐릭터 프레임
- **깊은 캐릭터 빌드** -- 21개 종족, 18개 직업, 68개 스킬, 11개 장비 슬롯
- **로컬 아레나** -- 클리어한 캐릭터들끼리 1:1 전투, 장비 약탈
- **완전 오프라인** -- 네트워크 불필요, 모든 데이터가 로컬에 저장
- **다국어 지원** -- 한국어, 영어, 일본어
## 게임 시스템
### 스탯
| 스탯 | 효과 |
|------|------|
| STR | 물리 공격력, 쳐내기 |
| CON | 방어력, 최대 HP, 방패 방어 |
| DEX | 크리티컬, 회피, 명중, 공격 속도 |
| INT | 마법 공격력, DoT 데미지, MP |
| WIS | 마법 방어력, DoT 틱 간격, MP |
| CHA | 상점 할인 (최대 15%), 희귀 아이템 드롭률 보정 |
### 장비 희귀도
Common → Uncommon → Rare → Epic → Legendary (스탯 1.0x ~ 3.0x)
### 스킬 시스템
68개 전투 스킬 (공격/회복/버프/디버프), 쿨타임 기반, 자동 선택 AI
### 수익화
- AdMob 리워드/인터스티셜 광고
- IAP 광고 제거 + 프리미엄 (영구 5배속, 되돌리기 3회, 보물 상자 10개, 오프라인 2배)
## 기술 스택
| 구분 | 기술 |
|------|------|
| 프레임워크 | Flutter 3.x / Dart ^3.9.2 |
| 상태 관리 | Stream + 직접 관리 |
| 프레임워크 | Flutter 3.x / Dart 3.9+ |
| 상태 관리 | ValueNotifier + Stream |
| 코드 생성 | freezed + json_serializable |
| DI | GetIt (서비스 로케이터) |
| 광고 | google_mobile_ads 7.x |
| 인앱결제 | in_app_purchase 3.x |
| 보안 저장 | flutter_secure_storage, crypto (HMAC), pointycastle (RSA) |
| 오디오 | just_audio |
| 보안 | flutter_secure_storage, HMAC-SHA256, RSA 서명 검증 |
| 오디오 | just_audio (BGM 11곡, SFX 10종) |
| 폰트 | JetBrainsMono (ASCII), PressStart2P (레트로 UI) |
## 빌드 및 실행
@@ -48,6 +70,9 @@ dart run build_runner build --delete-conflicting-outputs
# 실행 (-d macos, -d chrome, -d android 등)
flutter run
# 릴리즈 빌드 (난독화 포함)
flutter build appbundle --obfuscate --split-debug-info=build/debug-info
# 검증
dart format --set-exit-if-changed .
flutter analyze
@@ -58,7 +83,7 @@ flutter test
```
lib/
├── main.dart # 앱 진입점
├── main.dart # 앱 진입점 + 에러 핸들링
├── data/ # 정적 게임 데이터 (종족, 직업, 스킬, 포션, 스토리)
├── l10n/ # 앱 UI 다국어 리소스 (arb)
└── src/
@@ -66,11 +91,12 @@ lib/
├── core/
│ ├── engine/ # 게임 루프, 전투, 보상, 스킬 등 30개 서비스
│ ├── model/ # GameState, 장비, 스킬, 전투 등 데이터 모델
│ ├── infrastructure/ # AdMob, IAP 외부 서비스 구현
│ ├── infrastructure/ # AdMob, IAP 외부 서비스
│ ├── di/ # GetIt 서비스 로케이터 + 인터페이스
│ ├── audio/ # BGM/SFX 오디오 서비스
│ ├── storage/ # 세이브/설정/통계 저장소
── util/ # RNG, 밸런스 상수, PQ 로직 헬퍼
── logging/ # 로컬 에러 로거
│ └── util/ # RNG, 밸런스 상수, 로직 헬퍼
├── features/
│ ├── front/ # 타이틀/세이브 선택
│ ├── new_character/ # 캐릭터 생성
@@ -80,8 +106,8 @@ lib/
│ └── settings/ # 설정
└── shared/ # 테마, 레트로 위젯, ASCII 애니메이션
example/pq/ # Delphi 원본 소스 (참조용)
test/ # 단위/위젯/회귀 테스트 (25개 파일)
test/ # 단위/위젯/회귀 테스트 (276개)
analysis/ # 프로젝트 감사/시장 분석 리포트
```
아키텍처 상세는 [ARCHITECTURE.md](ARCHITECTURE.md) 참조.
@@ -90,7 +116,7 @@ test/ # 단위/위젯/회귀 테스트 (25개 파일)
| 버전 | 날짜 | 주요 내용 |
|------|------|-----------|
| 1.1.0 | 2026-03-30 | IAP RSA 검증, HMAC 세이브, CI, 테스트 105개 추가 |
| 1.1.0 | 2026-03-30 | IAP RSA 검증, HMAC 세이브, CI, 아키텍처 개선, 테스트 276개 |
| 1.0.1 | 2026-03-19 | 초기 릴리즈 (Google Play 내부 테스트) |
전체 변경 이력은 [CHANGELOG.md](CHANGELOG.md) 참조.
@@ -99,5 +125,4 @@ test/ # 단위/위젯/회귀 테스트 (25개 파일)
비공개 프로젝트. 무단 배포 금지.
Progress Quest 원본 소스(`example/pq/`)는 참조용으로만 포함되어 있습니다.
폰트 라이선스: JetBrains Mono (SIL OFL 1.1), Press Start 2P (SIL OFL 1.1).