Last Minute Keeper: 최후의 1분
골키퍼의 느린 드래그와 빠른 플릭을 나눈 제작기. 다이빙을 했는데 더 빗나가던 도달 범위를 고치고, 높은 공과 실점 이유를 화면에 보이게 했습니다.
AI Tools Lab · 소개 글 작성 · 수정

이동과 다이빙을 같은 드래그로 구분했다
Last Minute Keeper에서는 골키퍼가 연속해서 들어오는 공을 막습니다. 저는 느린 드래그를 위치 선정으로, 빠른 플릭을 다이빙으로 나눴습니다. 버튼을 더 붙이는 대신 손의 움직임 속도로 두 행동을 구분합니다. 다이빙 뒤 회복 중에는 다시 드래그해 곧바로 이동할 수 없도록 했습니다.
공은 세이브마다 모두 사라지지 않습니다. 캐치는 공을 정리하지만 펀칭과 다리막기는 리바운드를 남깁니다. 다음 슛은 살아 있는 공 수를 보며 들어오므로 막은 직후에도 다른 위협이 이어질 수 있습니다. 저는 성공 연출 뒤 게임이 정지하는 구조보다 반응이 다음 상황으로 이어지는 골키퍼 게임을 만들었습니다.
공의 위치와 함께 높이도 보여 줘야 했습니다. 높은 공과 낮은 공에 필요한 행동이 다르고, 빠른 플릭이 어느 범위까지 닿는지도 알아야 하기 때문입니다. 위치를 정확히 잡는 행동과 다이빙하는 행동이 서로 다른 결과를 만들어야 했습니다.
높은 공에는 다이빙이 필요했는데 화면은 말하지 않았다
2026년 8월 후보정에서 “공을 어떻게 막는지 모르겠어”라는 문제가 나왔습니다. 판정은 높은 공에 다이빙을 요구하고 있었지만 그 이유가 화면에 충분히 보이지 않았습니다. 정확히 따라갔는데 실점하는 장면만 보면 위치를 못 맞춘 것으로 읽기 쉽습니다.
저는 골라인 도착 위치를 보여 주는 마커와 공의 높이에 맞춘 색, 도달 범위를 나타내는 표시를 넣었습니다. 실점에도 이유를 붙였습니다. 단순히 실패 문구를 보여 주는 대신 높이 때문에 다이빙이 필요했는지 등 현재 판정의 조건을 알려 주는 구조입니다.
세이브 등급 문구도 행동의 결과와 연결했습니다. 플레이어에게 더 빠르게 움직이라고만 안내하면 이미 정확히 자리 잡은 상황의 문제를 해결하지 못합니다. 어떤 공에 어느 자세가 필요한지를 볼 수 있어야 다음 입력을 바꿀 수 있습니다.
정답 행동을 했는데 몸이 공을 지나쳤다
같은 과정에서 더 중요한 판정 문제가 확인됐습니다. 다이빙 이동 거리는 300인데 도달 반폭은 248이었습니다. 공 앞에 정확히 서서 다이빙하면 몸이 공을 지나 도달 범위 밖으로 나갈 수 있었습니다. 높은 공에 필요한 행동이 오히려 막기 어려운 결과를 만들고 있었습니다.
저는 다이빙 이동 거리를 140으로 줄이고 도달 배수와 지속 시간을 조정했습니다. 동작을 크게 만드는 것보다 현재 위치에서 공을 잡는 범위와 이동이 어떻게 겹치는지를 맞춘 것입니다. 골문 안에 서 있는 위치와 플릭 뒤의 위치를 따로 계산해야 했습니다.
일반 드래그도 속도와 가속도를 낮췄습니다. 공의 비행 시간 동안 골문을 여러 번 가로지를 만큼 이동이 빠르면 위치를 먼저 고르는 의미가 줄어듭니다. 위치 선정에는 준비의 가치가 있고, 다이빙에는 넓은 도달 범위와 회복 시간이 있는 쪽으로 두 행동을 나눴습니다. 판정 수치도 한곳의 설정으로 모아 화면 설명과 연결했습니다.
공이 높은 것과 가까이 오는 것은 다른 표현이다
다른 후보정에서는 공의 원근이 뒤집히는 문제가 있었습니다. 크기가 진행 거리 대신 아크 높이에 연결돼 로빙 공이 비행 중간에 가장 크게 보였습니다. 저는 진행도에 따라 크기가 변하도록 바꾸고 높이는 화면 위로 떠오르는 이동으로 표현했습니다.
슈터의 발사선도 배경의 잔디 위치에 맞췄습니다. 위쪽의 고정 비율에 놓인 슈터가 관중석이나 하늘에 떠 보였기 때문입니다. 발끝이 바닥에 닿는 기준을 사용하고, 발사 위치를 옮긴 만큼 속도를 조정해 비행 시간을 유지했습니다. 발사선과 골라인 사이 거리가 바뀌면 반응할 시간도 같이 달라집니다.
그림자의 불투명도는 두 단계에서 곱해지지 않게 정리했습니다. 공과 그림자의 위치와 색은 높이를 읽는 정보이므로 너무 희미하거나 서로 맞지 않으면 판정 안내도 설득력을 잃습니다. 원근, 아크, 그림자가 각각 다른 값을 표현하게 한 수정입니다.
다음 슛을 기다리는 동안에도 규칙은 이어진다
골키퍼 게임은 한 번 막은 순간만 확인하면 부족합니다. 펀칭 뒤 공이 남고, 다이빙 뒤 회복이 있고, 새로운 슛이 들어옵니다. 공 풀은 정해진 상한 안에서 사용하고 캡처를 만들 때도 스테이지의 동시 공 상한을 지키도록 했습니다. 실제로 나올 수 없는 공 수를 화면에 얹으면 혼잡도를 잘못 판단하게 됩니다.
다이빙과 일반 이동의 차이는 공을 막는 판정에서도 드러나야 합니다. 높은 공에는 다이빙이 필요하다고 설명한다면, 정확한 위치에서 다이빙했을 때 몸이 공을 지나치지 않아야 합니다. 위치 선정이 중요하다면 일반 이동이 모든 실수를 즉시 지우지 않아야 합니다.
다음 반응 게임에서도 이동 거리, 도달 범위와 회복 시간을 함께 보려고 합니다. 공이 오는 위치만 표시하는 대신 높이와 실패 이유를 연결합니다. 동작을 크게 만들거나 공을 빨리 보내는 것보다, 플레이어가 읽고 고른 행동이 판정과 같은 방향으로 작동하게 맞추는 경험이었습니다.
개발 자료
게임 프로젝트
골키퍼의 위치 선정과 다이빙 도달 범위, 공의 높이와 실점 이유를 연결해 다듬은 경험입니다.
GitHub 게임 저장소 · coreline-ai ↗ · 문의·정정 요청