Skip to content

khuda-data/8th-DE-SteamQueue

Repository files navigation

🎮 Game Comfort Index (GCI)

"동접자 수에 속지 마세요. 진짜 쾌적한 매칭은 따로 있습니다." > 실시간 동시 접속자 수(PCCU)와 매칭 필터 알고리즘을 결합하여 게임 서비스 상태 및 유저 체감 품질을 지표화한 데이터 엔지니어링 프로젝트입니다.


📌 Project Overview

단순히 "동접자가 많다"는 정보만으로는 실제 유저가 겪는 매칭 속도, 서버 부하, 티어별 분포를 설명할 수 없습니다. 본 프로젝트는 Steam API와 커뮤니티 여론 데이터를 수집하고, 독자적인 '적합 유저 유입 속도' 수식을 적용하여 유저에게 최적의 플레이 타이밍을 제안합니다.

🎯 Key Features

  • Real-time Tracking: Steam API 및 외부 소스를 활용한 실시간 동시 접속자 모니터링
  • Comfort Index Calculation: 동접자 변화율, 티어 분포, 서버 상태를 조합한 독자적 알고리즘 산출
  • Time-series Prediction: 과거 데이터를 바탕으로 향후 24시간 내 접속자 추이 예측
  • Multi-Game Support: Apex Legends, PUBG, Dota 2 등 다양한 장르 지원

📈 Mathematical Model

유저가 체감하는 매칭 품질을 결정하는 핵심 로직입니다. CCU가 크더라도 필터 조건이 까다로울수록 실제 매칭 가능 인원은 급감합니다.

적합 유저 유입 속도 ($\lambda_{g,t}^{fit}$)

$$\lambda_{g,t}^{fit} = \lambda_t \cdot p_{g,t}^{net} \cdot p_{g,t}^{skill} \cdot p_{g,t}^{mode} \cdot p_{g,t}^{party} \cdot p_{g,t}^{fine}$$

  • $p_{g,t}^{net}$: 허용 가능한 네트워크/지역 조건 (핑, 서버 리전 분산)
  • $p_{g,t}^{skill}$: 유사 실력 매칭 가능 비율 (실력대 분포 기반)
  • $p_{g,t}^{mode}$: 큐 분산 정도 (랭크/일반/모드 점유율)
  • $p_{g,t}^{party}$: 솔로/프리메이드 분리로 인한 유효 비율
  • $p_{g,t}^{fine}$: 정밀 매칭 제약 (스킬/규칙 추가 제약)

🏗 System Architecture

  • Data Collection: Python 스크립트로 Steam 및 게임 서버 API 정기 호출
  • Processing: DuckDB를 이용하여 로컬 환경에서 대용량 데이터의 빠른 집계 및 클렌징 수행
  • Storage: 처리된 데이터를 Supabase로 마이그레이션하여 데이터 영속성 확보 (예정)
  • Visualization: 실시간 연동 대시보드를 통해 사용자에게 지표 제공 (예정)

📂 Directory Structure

8TH-DE-STEAMQUEUE
├── 📂 .devcontainer         # 개발 컨테이너 설정
├── 📂 .vscode               # VS Code 디버깅 및 설정
├── 📂 config                # 게임별 설정 (games.json)
├── 📂 data
│   ├── 📂 processed         # 전처리 완료된 데이터 (matches.csv)
│   └── 📂 raw               # 수집된 원천 데이터 (matches)
├── 📂 db                    # DuckDB 및 레포트 파일 (steam.duckdb)
├── 📂 queries               # 데이터 분석 및 검증 쿼리 (check_all.py)
├── 📂 src                   # 메인 소스 코드
│   ├── 📂 utils             # 유틸리티 함수
│   ├── 📄 collector.py      # 데이터 수집 모듈
│   ├── 📄 scheduler.py      # 수집 스케줄러
│   └── 📄 main.py           # 프로그램 실행 메인 엔트리
├── 📄 apex_logic.py         # Apex Legends 특화 매칭 로직
├── 📄 pubg_logic.py         # PUBG 특화 매칭 로직
├── 📄 steam_logic.py        # Steam 공통 매칭 로직
├── 📄 app.py                # 대시보드/웹 어플리케이션 (예정)
├── 📄 graph.py              # 데이터 시각화 스크립트
├── 📄 requirements.txt      # 의존성 패키지 목록
└── 📄 README.md             # 프로젝트 문서

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages