문서 레퍼런스

데이터 출처

데이터 종류별 출처와 정밀도입니다. "뭔가 이상해 보이는" 일이 생기면 이 페이지부터 확인하세요.

데이터출처정밀도
유닛, 자원, 오더, 스킬, 버프, 인벤토리런타임이 50 ms마다 푸시하는 월드 블록발행 주기(16 ms까지 조정 가능)
피해, 처치 이벤트런타임이 게임 스레드에서 즉시 기록, 타격마다즉시
기타 이벤트(등장, 사망, 오더 변경, 레벨 업……)인접한 두 발행을 비교발행 주기
생산 테이블(훈련 / 연구 / 건설 / 업그레이드)엔진 생산 스킬의 타이머 필드 + 런타임이 누적한 경과 시간약 ±0.2게임초
전투 속성, 상성표게임 자체 데이터 테이블(여러분의 게임에서 추출)아이템, 오라, 버프 보정은 미포함
경로 탐색엔진의 지형 이동 가능성(128 단위 한 칸) + 나무 + 건물 점유 영역, SDK 측 A*한 칸. 한 칸보다 좁은 틈은 막힌 것으로 판정
게임 내 시각JASS GetFloatGameState(GAME_STATE_TIME_OF_DAY)발행 주기
가시성런타임이 유닛마다 플레이어별로 계산한 가시성 마스크발행 주기
기술 카운트, 실행 가능성, 금광 잔량고속 레인 조회로 엔진에 직접 질의즉시

게임 데이터는 코드와 함께 배포하지 않습니다

유닛 테이블, 스킬, 아이템, 영웅, 버프, 피해 상성표 등은 블리자드의 게임 파일에서 나오며 저장소에 포함되지 않습니다. Farsight “컨트롤 센터”에서 게임 디렉터리를 설정하면 여러분의 게임에서 자동으로 추출하며, 직접 실행할 수도 있습니다:

python data/tools/extract_game_data.py

추출 결과는 data/game/(git에 포함되지 않음)에 저장됩니다. 원본 .slk / .txt, 그리고 정리된 units.json, names.json, skills.json, items.json, heroes.json, buffs.json입니다.

몇 가지 구체적인 수치

항목값
하루480게임초(낮, 밤 각 240초), 1시간 = 20게임초. 게임은 오전 8시에 시작
낮6:00 ~ 18:00
방어력 계수0.06(게임 데이터 테이블 기준)
월드 블록 용량플레이어 16명, 유닛 1024개, 유닛 세부 정보 256개, 바닥 아이템 256개, 생산 128건
나무파괴 가능한 오브젝트 최대 4096개, 2초마다 갱신
이벤트 링8192건. 너무 느리게 읽으면 유실(SDK가 감지 가능)
맵 그리드한 칸 = 게임 단위 128, 최대 256 × 256

실측으로 보정한 예

  • 생산 시간: 일꾼 14.9, 농장 34.9, Iron Forged Swords 59.9게임초로, 런타임이 푸시한 값과 일치합니다(오차 0.2초 미만).
  • 전투 속성을 게임 패널과 대조: 팔라딘 체력 650, 마나 255, 방어력 3.9, 공격력 24 ~ 34. 공격 업그레이드 1단계 보병 13 ~ 15.
  • 엔진 피해 이벤트의 방어력 적용 전 피해(14 / 15 / 15)가 stats()로 계산한 범위 안에 들어갑니다.
  • 경로 탐색: Echo Isles 116 × 88칸, 상대 본진 건물까지 지상 거리 10642(직선 9856), 그리드 생성 18 ms, A* 1회 약 1 ms.