횡스크롤 런앤건프로젝트 소개

철갑특송: 라스트 라인

수송차를 지키는 가로 액션 게임 제작기. 조이스틱 밖으로 손이 나갔을 때의 이동 해제와 넓은 화면에서 찌그러진 HUD를 고친 경험을 담았습니다.

AI Tools Lab · 소개 글 작성 · 수정

철갑특송: 라스트 라인 시작 화면
수송차를 호위하며 전진하는 가로 액션 게임 철갑특송: 라스트 라인의 시작 화면입니다.

전진하는 게임에서도 뒤로 갈 수 있어야 했다

철갑특송: 라스트 라인은 수송차를 호위하는 가로 액션 게임입니다. 플레이어 이동, 적의 공격, 구조 대상과 수송차의 상태가 한 전장에 있습니다. 저는 모바일 조이스틱과 행동 버튼으로 이 흐름을 연결했는데, 2026년 7월 후보정에서 “뒤로 안가!”라는 문제가 나왔습니다.

조이스틱은 처음 누른 영역 안의 이동과 해제 이벤트에 의존하고 있었습니다. 손가락이 영역 밖으로 나가거나 일시정지 같은 화면이 겹치면 포인터를 이어 받거나 해제하는 흐름이 불안정했습니다. 버튼이 보이고 움직임이 시작된다는 확인으로는 끝까지 정상적인 입력인지 알 수 없었습니다.

저는 조이스틱의 이동과 손 떼기를 장면 전체의 포인터 이벤트로 받도록 바꿨습니다. 최초에 잡은 포인터를 추적하고, 영역 밖에서 손을 떼는 입력도 같은 해제 경로로 보냅니다. 뒤로 이동하는 문제를 캐릭터 속도만 바꿔 해결할 수는 없었습니다. 입력의 시작과 종료가 어디에서 들어오는지 먼저 맞춰야 했습니다.

포인터와 이동값을 한곳에서 비웠다

조이스틱을 초기화할 때는 포인터 번호, 이동값, 손잡이 위치를 함께 정리하도록 했습니다. 손잡이만 가운데로 돌아오고 이동값이 남으면 화면과 실제 움직임이 달라집니다. 반대로 이동만 멈추고 포인터가 남으면 다음 손가락 입력이 새 조작으로 시작되지 않을 수 있습니다.

일시정지와 재개에서는 터치 컨트롤을 숨기는 것과 입력을 비활성화하는 것을 함께 처리했습니다. 눈에 보이지 않는 버튼이라도 입력을 받을 수 있는 상태로 남아 있으면 메뉴를 누른 손이 전투 행동으로 이어질 수 있습니다. 재개 때는 보이는 상태와 입력 가능한 상태를 같이 복구합니다.

이 경험에서 저는 컨트롤의 모양보다 상태 정리를 먼저 확인하게 됐습니다. 누름, 이동, 바깥에서 해제, 일시정지, 재개를 하나의 순환으로 봅니다. 조작이 잠시 끊겨도 다음 입력이 이전 포인터나 이동값을 이어받지 않아야 수송차를 지키는 판단에 집중할 수 있습니다.

가로 HUD를 늘렸더니 금속 테두리도 변형됐다

다른 문제는 넓은 화면의 상단 표시였습니다. 원본 HUD 이미지는 730×352인데 표시 영역은 1252×72로 직접 늘려 두었습니다. 가로와 세로의 배율 차이가 컸고 모서리와 테두리가 눌린 형태가 됐습니다. 원본 그림의 해상도만 높여서는 표시 비율의 왜곡을 없앨 수 없습니다.

저는 금속 프레임을 NineSlice와 균일 배율로 바꿨습니다. 모서리와 테두리의 형태를 보존하면서 가운데 영역이 필요한 폭을 채우도록 한 것입니다. 글자와 상태 아이콘은 실제 카메라 폭을 기준으로 배치하고, 화면 크기가 바뀌면 좌표를 다시 계산합니다.

게임의 논리 높이는 720으로 두고 넓은 화면에서 폭을 확장하도록 바꿨습니다. 기존 고정 비율 방식에서는 19.5:9 화면에 좌우 여백이 생겼습니다. 폭을 늘린 뒤에는 HUD뿐 아니라 좌우 터치 UI와 배경 레이어도 같은 카메라 크기를 사용해야 했습니다. 화면 하나의 설정을 바꾸면 그 위에 놓인 여러 요소의 기준도 따라 바뀝니다.

움직이는 수송차는 체력 상태를 그림으로 읽게 했다

수송차는 호위 목표이므로 체력이 줄어드는 모습이 전투에 보입니다. 저는 정지, 주행, 피격, 손상, 위기, 수리, 파괴를 각각의 애니메이션 상태로 연결했습니다. 숫자만 떨어지는 목표물보다 지금 어떤 상태의 차량을 지키는지가 화면에서 드러나게 한 구조입니다.

구조 대상도 해방된 뒤 능력을 사용하고 퇴장하는 흐름을 뒀습니다. 구출을 완료했는데 충돌 대상이 남거나 이전 상태의 그림이 계속 보이면 보상과 다음 행동을 혼동할 수 있습니다. 그림이 바뀌는 것과 충돌 판정을 정리하는 일을 함께 연결했습니다.

배경에는 항만, 야드, 전투 구역의 레이어를 사용합니다. 경계에서 전체 배경을 갑자기 교환하던 흐름은 공간 이동에 따라 두 구역이 이어지게 다듬었습니다. 이동한 위치와 화면이 보여 주는 장소가 함께 바뀌어야 수송차가 하나의 여정을 지나고 있다는 느낌이 유지됩니다.

화면 전환 뒤에도 호위가 같은 상태로 시작하도록

이 게임의 확인 조건에는 전투 중의 움직임뿐 아니라 재시작 뒤의 상태도 들어갑니다. 수송차 상태와 적 투사체, 보스 경고가 이전 전투에서 새 전투로 남지 않아야 합니다. 점수와 투사체 풀을 새 판에 맞춰 정리하고, 장면을 반복할 때 입력 연결과 배경음이 누적되지 않는지 봅니다.

저는 가로 액션을 다듬으며 ‘더 넓게 보인다’와 ‘같은 조작으로 움직인다’를 같이 확인해야 한다는 기준을 얻었습니다. 화면 폭을 바꾸면 HUD와 조이스틱 위치가 달라지고, 포인터를 놓는 위치도 넓어집니다. 표시와 입력을 따로 고치면 다른 쪽에서 문제가 남습니다.

다음 호위 게임에서도 처음 이동부터 바깥 해제, 일시정지, 재시작까지 이어서 보려고 합니다. 차량과 구조 대상의 그림은 실제 상태 전환에 붙이고, 프레임은 원본 비율을 보존합니다. 수송차를 끝까지 데려가는 규칙을 읽을 수 있게 만드는 일은 이 작은 연결들을 맞추는 작업이었습니다.

개발 자료

게임 프로젝트

수송차 호위 액션의 조이스틱 입력과 가로 화면의 HUD 비율을 다듬은 제작 과정입니다.

GitHub 게임 저장소 · coreline-ai ↗ · 문의·정정 요청