Dev Log #1 – 언리얼과 함께 시작하는 게임개발
Dev Log #1 – 언리얼과 함께 시작하는 게임개발
게임 개발을 시작한 지 얼마 되지 않았지만, 이미 많은 배움과 도전의 순간들이 있었습니다. 예전에 유니티를 사용하며 게임을 개발했던 경험이 있었지만, 이번에는 언리얼 엔진으로 새로운 도전에 나서기로 결심했습니다. Wizsurvive라는 게임을 개발 중인데, 뱀파이어 서바이벌 스타일의 액션 RPG로, 나만의 독특한 게임 시스템을 추가하고자 했습니다. 이 Dev Log에서는 언리얼 엔진을 선택한 이유와 개발을 시작하면서 겪은 첫 번째 경험을 공유해보려 합니다.
언리얼 엔진을 선택한 이유
처음에는 유니티가 익숙했지만, 언리얼 엔진의 강력한 시네마틱 기능과 고급 그래픽 렌더링 기술을 활용하고 싶었습니다. 특히 언리얼 엔진 5의 Lumen과 Nanite 기술은 게임의 비주얼 퀄리티를 한 단계 끌어올릴 수 있는 잠재력을 가지고 있었기 때문에 큰 매력으로 다가왔습니다. 또한, 블루프린트를 활용한 시각적 스크립팅 시스템이 매우 직관적이어서, 프로그래밍에 대한 부담감을 덜어주고 게임 시스템을 빠르게 프로토타입할 수 있다는 점에서 언리얼을 선택하게 되었습니다.
개발 초기 설정
게임의 기획과 전반적인 시스템 설계를 마친 후, 언리얼 엔진 프로젝트를 생성하고 기본적인 레벨을 구성하는 데 집중했습니다. 처음에는 단순한 플레이어 캐릭터와 적 AI를 설정하는 것부터 시작했습니다. 플레이어 캐릭터는 블루프린트로 움직임과 공격 기능을 구현했고, 적 AI는 AI 컨트롤러를 이용해 간단한 추적 및 공격 동작을 추가했습니다.
게임의 전투 시스템은 유니티에서 사용했던 방식과 비슷하지만, 언리얼의 컴포넌트 기반 시스템 덕분에 각 기능을 좀 더 세부적으로 관리할 수 있었습니다. 예를 들어, 캐릭터의 스킬 시스템을 설계하면서, 스킬의 종류나 쿨타임 관리 등을 블루프린트로 시각적으로
구현하는 작업이 매우 직관적이었습니다.
UI 시스템 설계
UI는 **UMG (Unreal Motion Graphics)**를 사용해 구현했습니다. 게임의 로비 UI와 메인 메뉴, 인벤토리 UI 등을 설계하는 과정에서 애니메이션을 추가하여, 버튼 클릭 시 부드럽게 나타나는 효과와 화면 전환 시 매끄러운 애니메이션을 구현했습니다. 언리얼 엔진의 애니메이션 블루프린트와 Timeline 기능을 활용하여, 버튼이나 텍스트의 애니메이션을 자연스럽게 만들 수 있었습니다. 처음에는 UI 요소들이 불안정하게 움직였지만, 여러 번 테스트 후 안정된 UI 구조를 완성할 수 있었습니다.
배운 점과 첫 번째 도전
개발을 하면서 언리얼 엔진의 콜리전 시스템이나 애니메이션 블루프린트와 같은 부분에서 처음에는 많은 어려움을 겪었습니다. 특히, 플레이어와 적의 충돌 처리나 애니메이션 전환에서 예상치 못한 버그가 발생하곤 했습니다. 예를 들어, 캐릭터의 공격 애니메이션이 끝나지 않으면 공격이 중복으로 발생하는 문제가 있었고, 이 문제를 해결하기 위해 애니메이션 노티피케이션을 사용하여 애니메이션 상태를 정확하게 관리하는 방법을 익혔습니다.
앞으로의 계획
현재는 게임의 AI와 전투 시스템을 마무리하고, 무기 시스템과 확률형 아이템 시스템을 구현하는 중입니다. Wizsurvive는 아이템 수집과 캐릭터 성장 요소가 중요한 게임이기 때문에, 무기 업그레이드 시스템과 토템 시스템을 차례대로 구현해 나가려고 합니다. 또한, 게임의 그래픽 품질을 더욱 향상시키기 위해 언리얼 엔진의 레이 트레이싱을 활용할 계획입니다.
이번 Dev Log에서는 게임 개발의 첫 단추를 꿰어본 과정과 언리얼 엔진의 강력한 기능을 활용한 첫 번째 개발 경험을 다뤄봤습니다. 앞으로의 여정에서는 더 많은 기술적인 도전이 기다리고 있을 것 같지만, 이를 해결하면서 성장하는 과정이 정말 기대됩니다. 다음 Dev Log에서는 게임 시스템 설계와 UI/UX에 대해 더 구체적으로 다뤄볼 예정입니다.