공간과 시간의 여유

모서리에 걸린 점프

작은 위치 오차, 벽까지 거리, 멈춘 발판의 과거 속도를 서로 다른 규칙으로 비교합니다.

A · 보정 없음출발 대기
B · 조건부 보정출발 대기

← → / 화면 버튼으로 위치 이동 · Space로 재생/정지 · 조건 변경 시 재시작 · 공간 단위 px, 물리 간격 50ms

모서리에 걸린 점프

문제 · 작은 어긋남이 이동 전체를 막습니다

상승 중 머리가 조금 걸리거나, 벽 점프를 벽에서 조금 떨어져 누르면 이동이 취소됩니다. 이동 발판의 현재 속도만 사용하면 발판이 멈추자마자 점프 보너스도 사라집니다.

원인 · 공간과 시간은 다른 상태입니다

천장 보정은 좌우의 빈 공간, 대시 보정은 위아래의 빈 공간을 찾습니다. 벽 점프는 벽까지 거리를 판단합니다. 속도 보존은 이전 발판 속도와 기록 시각을 조회합니다.

해결 · 필요한 조건에만 여유를 줍니다

가까운 후보부터 1px씩 검사하며 보정 경로와 이후 이동 경로가 모두 비어 있어야 합니다. 한 틱에 한 번만 보정합니다. 벽 점프는 거리 한도 안에서만 허용하며, 발판 속도는 같은 발판의 유효한 기록을 한 번 더합니다. 점선은 보정 후보입니다.

대가 · 큰 허용 폭은 의도를 바꿀 수 있습니다

너무 큰 보정은 예상하지 못한 위치 이동과 점프를 만듭니다. 이 실험은 축 정렬 직사각형, 20Hz 물리, 1px 후보 검색을 사용한 자체 2D 모델입니다. 일방향 발판·회전 장애물·원작의 검색 순서는 구현하지 않았습니다. ‘얇은 장애물’은 목적지가 비어도 경로가 막히는 조건을 만듭니다.

제작자 글 · Celeste & ForgivenessGodot · safe_margin과의 차이