Files
2nd/10_Wiki/Topics/Time-Step-Logic-in-Games.md
T

2.2 KiB

id, category, confidence_score, tags, last_reinforced
id category confidence_score tags last_reinforced
TIME-STEP-001 10_Wiki/💡 Topics/AI 1.0
game-development
physics-engine
synchronization
game-loop
2026-04-26

Time Step Logic in Games (게임 타임스텝 로직)

📌 한 줄 통찰 (The Karpathy Summary)

"물리는 일정하게, 렌더링은 부드럽게 시간의 흐름을 제어하라" — 하드웨어 성능에 관계없이 물리 연산의 일관성(Determinism)을 보장하고 화면 업데이트를 최적화하기 위한 시간 관리 알고리즘.

📖 구조화된 지식 (Synthesized Content)

  • 추출된 패턴: 가변적인 프레임 속도(Variable Frame Rate) 환경에서도 물리 엔진은 고정된 시간 간격(Fixed Delta Time)으로 업데이트하여 시뮬레이션의 안정성을 확보하는 패턴.
  • 핵심 패턴:
    • Fixed Time Step: 물리 연산을 항상 동일한 시간 간격(예: 1/60초)으로 수행하여 충돌 감지 오류나 물리 발산을 방지.
    • Accumulator Pattern: 지난 프레임부터 흐른 시간을 누적기에 쌓고, 고정 타임스텝만큼 소모하며 물리 업데이트를 반복 실행.
    • Interpolation (평활화): 남은 잔여 시간(Remainder)을 활용하여 이전 물리 상태와 현재 상태 사이를 보간해 프레임 끊김 현상 제거.
    • Deterministic Lockstep: 모든 클라이언트가 동일한 타임스텝 로직을 공유하여 멀티플레이어 동기화 유지.

⚠️ 모순 및 업데이트 (Contradictions & RL Update)

  • 과거 데이터와의 충돌: 단순히 프레임 간격(\Delta t)을 물리 연산에 곱하던 방식은 프레임 드랍 시 물체가 벽을 뚫는 등 심각한 오류 유발. 현대 게임 엔진은 반드시 누적기 기반의 고정 타임스텝을 사용함.
  • 정책 변화: Skybound 프로젝트는 1/60초 고정 타임스텝을 적용하며, 복잡한 물리 상황에서도 'Spiral of Death'에 빠지지 않도록 프레임당 최대 업데이트 횟수를 제한함.

🔗 지식 연결 (Graph)

  • Physics-Engine, Game-Analytics, Parallel-Computing, Numerical-Analysis
  • Raw Source: 10_Wiki/Topics/AI/Time-Step-Logic-in-Games.md