Kord/Docs/WorkDone/2026-03-30_RefinementImplem...

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의 모든 서브커맨드 응답 및 데이터 반영을 확인했습니다.

보고서 끝.