JiWoong Sul eee32c94b8
Some checks failed
CI / analyze-and-test (push) Has been cancelled
fix(buff): 배속 상태에서 버프 시간이 배속을 따라가는 버그 수정
- speedBoostEndMs: elapsedMs(게임 시간) → DateTime.now()(실제 시간)
- autoReviveEndMs: elapsedMs → DateTime.now()
- MonetizationState: isAutoReviveActive/isSpeedBoostActive 실제 시간 기준
- 5배속에서 5분 버프가 1분에 만료되던 문제 해결
- bossLevelingEndTime은 이미 DateTime.now() 기준 (변경 불필요)
2026-03-30 22:55:24 +09:00
2025-12-09 17:24:04 +09:00
2025-12-09 17:24:04 +09:00
2025-12-09 17:35:56 +09:00
2025-12-09 17:24:04 +09:00
2025-12-09 17:24:04 +09:00

Ascii Never Die

Progress Quest 6.4의 핵심 메커니즘을 기반으로, "디지털 판타지" 세계관과 확장된 시스템으로 재구성한 오프라인 싱글플레이어 방치형 RPG.

스크린샷

타이틀 캐릭터 생성 게임 진행
타이틀 생성 게임
아레나 명예의 전당 설정
아레나 명예의 전당 설정

주요 기능

  • 6개 화면 -- 타이틀/세이브 선택, 캐릭터 생성(3d6 스탯 롤), 게임 진행(장비/인벤토리/퀘스트/스킬/전투로그/스토리), 아레나 PvP, 명예의 전당, 설정
  • 완전 오프라인 -- 네트워크 불필요. 모든 게임 데이터와 세이브가 로컬에 저장
  • 수익화 -- AdMob 리워드/인터스티셜 광고 + IAP 광고 제거/프리미엄
  • 다국어 지원 -- 한국어, 영어, 일본어 (앱 UI + 게임 데이터)
  • ASCII 아트 애니메이션 -- Canvas 기반 전투/탐험/마을 씬, 종족별 캐릭터 프레임
  • 보안 -- 세이브 파일 HMAC-SHA256 무결성 검증, IAP 영수증 RSA 서명 검증

기술 스택

구분 기술
프레임워크 Flutter 3.x / Dart ^3.9.2
상태 관리 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
폰트 JetBrainsMono (ASCII), PressStart2P (레트로 UI)

빌드 및 실행

# 의존성 설치
flutter pub get

# 코드 생성 (freezed/json_serializable)
dart run build_runner build --delete-conflicting-outputs

# 실행 (-d macos, -d chrome, -d android 등)
flutter run

# 검증
dart format --set-exit-if-changed .
flutter analyze
flutter test

프로젝트 구조

lib/
├── main.dart                 # 앱 진입점
├── data/                     # 정적 게임 데이터 (종족, 직업, 스킬, 포션, 스토리)
├── l10n/                     # 앱 UI 다국어 리소스 (arb)
└── src/
    ├── app.dart              # MaterialApp 설정
    ├── core/
    │   ├── engine/           # 게임 루프, 전투, 보상, 스킬 등 30개 서비스
    │   ├── model/            # GameState, 장비, 스킬, 전투 등 데이터 모델
    │   ├── infrastructure/   # AdMob, IAP 외부 서비스 구현
    │   ├── di/               # GetIt 서비스 로케이터 + 인터페이스
    │   ├── audio/            # BGM/SFX 오디오 서비스
    │   ├── storage/          # 세이브/설정/통계 저장소
    │   └── util/             # RNG, 밸런스 상수, PQ 로직 헬퍼
    ├── features/
    │   ├── front/            # 타이틀/세이브 선택
    │   ├── new_character/    # 캐릭터 생성
    │   ├── game/             # 메인 게임 (탭별 페이지 + 위젯)
    │   ├── arena/            # 아레나 PvP
    │   ├── hall_of_fame/     # 명예의 전당
    │   └── settings/         # 설정
    └── shared/               # 테마, 레트로 위젯, ASCII 애니메이션

example/pq/                   # Delphi 원본 소스 (참조용)
test/                         # 단위/위젯/회귀 테스트 (25개 파일)

아키텍처 상세는 ARCHITECTURE.md 참조.

릴리즈 이력

버전 날짜 주요 내용
1.1.0 2026-03-30 IAP RSA 검증, HMAC 세이브, CI, 테스트 105개 추가
1.0.1 2026-03-19 초기 릴리즈 (Google Play 내부 테스트)

전체 변경 이력은 CHANGELOG.md 참조.

라이선스

비공개 프로젝트. 무단 배포 금지.

Progress Quest 원본 소스(example/pq/)는 참조용으로만 포함되어 있습니다. 폰트 라이선스: JetBrains Mono (SIL OFL 1.1), Press Start 2P (SIL OFL 1.1).

Description
No description provided
Readme 40 MiB
Languages
Dart 92.4%
HTML 5.4%
C++ 1.1%
CMake 0.8%
Swift 0.1%
Other 0.1%