시간 간격과 조작감
물리 간격, 적분 순서, 버튼 해제, 표시 속도를 각각 바꿔 궤적이 달라지는 원인을 분리합니다.
Space를 눌러 직접 점프, 놓아서 높이 조절 · ← → / 화면 버튼을 누르고 이동 · ‘예시 점프’는 설정한 시각에 자동 해제
매 화면마다 같은 거리를 더하면 FPS에 따라 속도가 달라집니다. 시간을 곱해도 중력과 충돌의 이산 계산 오차는 남습니다. 여기서는 물리 틱과 표시 프레임을 독립적으로 조절합니다.
초기 속도 10m/s, 중력 −20m/s², 한 틱 0.1s에서 정확 위치는 0.9m, 명시적 Euler는 1.0m, 반암시적 Euler는 0.8m입니다. 점선은 일정 중력 해석해이며, 실선은 선택한 적분과 해제·중력 규칙으로 계산한 궤적입니다.
물리 간격을 줄이면 적분 오차가 줄고 계산 횟수가 늘어납니다. 하강 중력 배수와 상승 중 버튼 해제는 의도적으로 궤적을 바꿉니다. 해제는 상승 속도만 제한하며 하강 속도는 건드리지 않습니다. 수평 이동은 입력 가속, 반대 입력 제동, 공중 제어, 무입력 감속을 사용합니다.
보간은 이전·현재 물리 상태를 섞어 표시하며 최대 한 틱 지연이 있습니다. 표시 FPS는 수치 결과를 바꾸지 않습니다. 여기서는 평평한 바닥에 착지하고 틱 끝에서 높이를 0으로 제한하므로 착지 시각은 양자화됩니다. 가변 중력의 전환·해제도 틱 경계에서 일어납니다. 원작 마리오의 상수를 재현하지 않았습니다.