PatchDiff.gg는 게임 패치노트를 해석하거나 평가하지 않고,
패치 전·후의 변화(diff) 를 구조화하여 한눈에 보여주는 서비스다.
- 상향 / 하향 / 조정을 명확한 기준으로만 분류
- 애매한 경우는 무조건 ‘조정’ 으로 처리
- 사용자가 빠르게 “무엇이 바뀌었는지” 파악하는 데 집중
- 게임: League of Legends
- 모드: 소환사의 협곡
- 대상 범위: 패치노트에 포함된 모든 항목 (챔피언 한정 아님)
- 패치노트 자동 수집
- 패치 내용 자동 파싱
- 항목별 상향 / 하향 / 조정 분류
- 웹 기반 패치 버전 조회
- 항목별 상세 변경 내용 확인
- 승률 / 티어 / 메타 분석
- 분기점 계산 및 성능 평가
- 로그인 / 개인화
- 커뮤니티 기능
- 다른 게임 모드 (ARAM 등)
- 서버는 주기적으로 아래 URL을 폴링한다.
- 새로운 패치노트가 감지되면 상세 수집을 수행한다.
-
대상 URL 예시
-
수집 항목
- 패치 버전 (예: 26.2)
- 패치 날짜
- 섹션 구조 (챔피언 / 아이템 / 시스템 등)
- 각 항목의 원문 텍스트
- 패치 항목 (Patch Item)
- 예: 특정 챔피언, 아이템, 시스템 요소
모든 패치 항목은 아래 3가지 중 하나로만 분류한다.
- 모든 변경이 명확하게 긍정적인 경우
- 예:
- 피해량 증가
- 쿨타임 감소
- 계수 증가
- 비용 감소
- 모든 변경이 명확하게 부정적인 경우
- 예:
- 피해량 감소
- 쿨타임 증가
- 계수 감소
- 비용 증가
다음 중 하나라도 해당하면 무조건 ‘조정’ 으로 분류한다.
- 수치 증가 + 계수 감소 (또는 반대)
- 초반/후반 등 구간별 성능 변화
- 특정 조건에 따라 성능이 달라지는 경우
- 단순 상·하향 판단이 어려운 경우
원칙: 애매하면 판단하지 않는다.
- 조정 항목은 좋고 나쁨을 판단하지 않는다.
- 변경 전/후 수치만 명확히 표기한다.
예시:
[조정]
Q 기본 피해량: 80 → 90
AP 계수: 0.6 → 0.5
- Game
- Patch
- PatchItem
- PatchChange
- id
- patchId
- category (챔피언 / 아이템 / 시스템)
- name
- changeType (BUFF | NERF | ADJUST)
- beforeValue (텍스트 허용)
- afterValue (텍스트 허용)
- rawDescription (원문 보존)
MVP 단계에서는 원문 보존 우선
- 패치 버전 리스트 노출 (최신 우선)
- 각 패치에 대해 다음 정보 제공
- 패치 버전
- 패치 날짜
- 상향 / 하향 / 조정 항목 개수 요약
- 패치 버전 헤더
- 필터 탭
- 전체
- 상향
- 하향
- 조정
- 항목명
- 변경 유형 배지
- 카테고리 표시
- 클릭 시 다음 정보 표시
- 변경 전 / 후 수치 비교
- 원문 텍스트
- 변경 포인트 강조
UX 원칙: 빠른 스캔 + 쉬운 비교
- Framework: Next.js 16+ (App Router 및 최신 버전 사용 권장)
- Core: React, TypeScript
- Styling: Tailwind CSS
- Components: shadcn/ui (Radix UI 기반)
- 상태 관리: Server State(React Query) 또는 Context API
- Execution Environment: Next.js Route Handlers (Serverless)
- HTML Parsing:
cheerio또는jsdom(서버 사이드 파싱) - Data Storage:
- MVP: Supabase (PostgreSQL)
- Scheduled Tasks (Cron):
- Vercel Cron 또는 GitHub Actions (주기적 패치 노트 수집)
- Version Control: Git / GitHub
- Deployment: Vercel (Frontend + Serverless Functions)
- Package Manager: pnpm
- 다른 게임 추가
- 다른 게임 모드 지원
- 분기점 계산 로직 추가
- 패치 간 변화 비교
- 외부 API 제공
PatchDiff는 강함을 말하지 않는다.
변화만 보여준다.