3.0 KiB
3.0 KiB
미니게임 시스템 및 재련(Refinement) 구현 완료 보고서
- 날짜: 2026-03-30
- 담당: Antigravity (AI Assistant)
1. 개요 (Overview)
Kord 봇의 메인 기능 외에 즐길 거리를 제공하기 위해 미니게임 관리 시스템을 구축하고, 첫 번째 정식 게임으로 재련(Refinement) 미니게임을 구현했습니다. 또한 서버 활동량을 분석하여 보너스를 제공하는 피버(Fever) 시스템을 도입했습니다.
2. 주요 구현 내용
2.1. 미니게임 관리 인프라 (Core)
- MiniGameRegistry: 미니게임을 통합 등록하고 관리하는 구조를 설계했습니다.
- Config Command:
/minigame명령어를 통해 서버 관리자가 게임별 활성화(toggle), 전용 채널(channel), 상태(status)를 관리할 수 있습니다. - Prisma 7 Migration: 봇의 DB 라이브러리를 Prisma 7.6.0으로 업그레이드하고, 새로운 엔진 구조에 맞춰 Driver Adapter(PostgreSQL) 설정을 완료했습니다.
2.2. 재련(Refinement) 미니게임
- 성장 시스템: 0단계부터 20단계까지 무기를 강화할 수 있습니다.
- 확률 로직: 단계가 올라갈수록 성공 확률이 감소하며, 실패 시 무기가 파괴될 위험이 존재합니다.
- 강화 효과: 강화 성공 시 무기의 내구도가 즉시 100% 회복됩니다.
- 배틀 시스템: 수락 절차 없이 일방적으로 공격하는 배틀 시스템을 구현했습니다. (내구도 소모 및 파괴 리스크 포함)
- 경제 시스템: 일일 출석(
checkin)과 강화 단계에 따른 무기 판매(sell) 기능을 통해 골드 선순환 구조를 만들었습니다.
2.3. 피버 타임 시스템 (Fever System)
- 활동 추적: 모든 메시지 활동을 시간대별(Hour)로 집계하여
ActivityLog에 기록합니다. - 피크 시간 분석: 과거 데이터를 분석하여 서버가 가장 활발한 시간대를 찾아냅니다.
- 보너스: 피버 타임(1시간) 동안 재련 성공 확률이 +10% 추가로 가산됩니다.
3. 기술적 변경 사항
- DB 스키마:
MiniGameConfig,RefinementProfile,ActivityLog,FeverState총 4개의 모델을 추가했습니다. - 서비스 레이어:
RefinementService,FeverService,ActivityTrackerService등 비즈니스 로직을 독립된 서비스로 분리했습니다. - 인터랙션: 재련 결과 임베드에서 버튼을 통해 즉시 다시 시도할 수 있는 UX를 구현했습니다.
4. 검증 결과 (Verification)
- 런타임 테스트:
yarn run dev환경에서 Driver Adapter를 통한 DB 연결 및 봇 초기화 성공을 확인했습니다. - 테스트 코드: Prisma 7 초기화 이슈를 해결하여 기존 테스트 슈트(Voice, Config 등)가 정상 작동함을 확인했습니다.
- 명령어 동작:
/minigame및/refine의 모든 서브커맨드 응답 및 데이터 반영을 확인했습니다.
보고서 끝.