← 모든 글

Unreal C++를 이용한 플랫폼 게임 1

언리얼 엔진의 이동·회전·소멸 발판과 상호작용 시스템을 활용해 만든 기초 플랫폼 퍼즐 게임의 제작 과정을 정리합니다.

Unreal Engine 5 Unreal Engine 5Unreal C++C++BlueprintPlatform GamePuzzle GameGame Development

프로젝트 소개

이 프로젝트는 Unreal C++로 진행 중이다. 언리얼 엔진의 기본 기능과 C++ 기반 게임플레이 구현을 익히기 위해 짧은 플랫폼 퍼즐 게임을 제작했다. 플레이어는 시작 지점에서 여러 종류의 발판을 통과해 가장 높은 곳까지 올라가야 한다. 마지막 지점에 도착한 뒤 상호작용 키를 일정 시간 누르면 게임을 클리어할 수 있다.

규모는 작지만 캐릭터 이동만으로 끝내지 않고, 서로 다른 동작을 가진 발판과 상호작용 UI, 클리어 조건까지 하나의 플레이 흐름으로 연결하는 것을 목표로 했다.

플랫폼 퍼즐 게임 시작 지점

움직이는 발판으로 경로 만들기

첫 번째 장애물은 회전하는 발판이다. 발판이 계속 방향을 바꾸기 때문에 플레이어는 현재 각도와 이동 방향을 살피며 올라갈 시점을 결정해야 한다. 정지된 지형만 배치했을 때보다 간단한 움직임 하나만으로도 점프의 난도가 달라졌다.

회전하는 플랫폼

다음 구간에는 일정한 경로를 따라 움직이는 발판을 배치했다. 플레이어는 발판이 가까워지는 순간을 기다렸다가 올라탄 뒤 다음 위치로 이동해야 한다. 이 구간을 만들면서 발판 자체의 이동뿐 아니라, 발판 위에 선 캐릭터가 움직임을 자연스럽게 따라가는지도 함께 확인했다.

이동하는 플랫폼

사라지는 발판으로 긴장감 더하기

후반부에는 밟은 뒤 사라지는 발판을 배치했다. 처음에는 여러 발판이 목적지까지 이어져 있지만, 플레이어가 이동하는 동안 지나온 발판이 사라지면서 되돌아갈 수 있는 공간이 줄어든다.

사라지기 전의 플랫폼

일부가 사라진 플랫폼

발판 위에 올라왔을 때는 다음 발판의 위치와 남아 있는 이동 경로를 빠르게 판단해야 한다. 단순히 점프 거리를 맞추는 것에 더해 제한된 시간 안에 다음 행동을 결정하게 만드는 장치다.

사라지는 발판 위에 올라간 모습

다음 발판으로 이동하는 모습

정상에서 진행하는 상호작용

모든 발판을 통과하면 상단의 초록색 목표 지점에 도착한다. 플레이어 캐릭터 주변의 빨간색 구는 상호작용이 가능한 범위를 나타낸다. 목표 지점에서는 곧바로 클리어되지 않고, 화면에 Press 'E' And Hold 안내가 나타난다. 이를 통해 플레이어는 이 장소에서 별도의 입력이 필요하다는 것을 알 수 있다.

플레이어 캐릭터 주변에 표시된 빨간색 구는 상호작용이 가능한 범위를 나타낸다. 상호작용 대상이 이 범위 안에 들어오면 안내 문구가 나타나고, 플레이어가 상호작용 입력을 진행할 수 있다.

목표 지점에 도착한 모습

상호작용 키 안내

E 키를 누르고 있는 동안에는 진행 상태를 보여 주는 게이지가 표시된다. 키를 잠깐 누르는 방식보다 의도적인 입력을 요구하고, 상호작용이 완료되기까지 남은 시간을 시각적으로 전달할 수 있다.

키를 누르는 동안 표시되는 상호작용 게이지

게임 클리어

상호작용 게이지가 끝까지 차면 게임이 종료되고 축하 화면이 나타난다. 시작 지점에서 목표물을 확인하고, 서로 다른 발판을 차례로 통과한 다음, 마지막 상호작용까지 완료하는 짧은 게임 루프를 구성했다.

게임 클리어 화면

마무리

이번 프로젝트를 통해 정적인 지형을 배치하는 데서 한 단계 더 나아가 회전, 왕복 이동, 소멸처럼 상태가 변하는 플랫폼을 구성해 보았다. 또한 목표 지점에 안내 문구와 진행 게이지를 추가하면서 플레이어의 입력과 UI 피드백을 연결하는 흐름도 익힐 수 있었다.

작은 연습 프로젝트지만 시작, 장애물, 목표, 클리어라는 구조를 끝까지 완성했다는 점에 의미가 있다.

이번 작업으로 게임을 진행하고 클리어하는 데 필요한 기본적인 플레이 로직을 만들었다. 다음 글에서는 아래 내용을 이어서 다룰 예정이다.