카테고리 보관물: 자작 앱 소개

야광봉 2

개요

기존에 만들었던 야광봉 앱은 막대모양으로 되어 있어 좀 단순했습니다. 그리고 색상도 정해진 것만 선택할 수 있는 단점이 있었습니다. 야광봉의 모양과 색상을 선택할 수 있도록 하면 좋겠다는 생각이 들어 제작하게 되었습니다.

개발도구

야광봉 2 는 Unreal 로 개발 했습니다. Unity 와 비슷한 점도 있었지만 생각보다 시간이 많이 소요되었습니다. 하지만 Unreal 에 많이 익숙해 질 수 있는 기회였습니다.

과정

휴대전화에 표시될 야광봉의 모양을 먼저 정했습니다. 기본 막대모양, 도형, 여러가지 모양을 추가하기로 하고 간단하게 3D 모델링을 진행했습니다.

설정 화면에서 모양과 색상을 변경하면 미리보기 기능이 있어야 사용자 입장에서 편리할 것 같아 많은 시간을 투자했습니다. UMG 로 설정 화면을 디자인하는 것은 어렵지 않았습니다. 그런데 Mesh 를 미리보기 하는 기능을 넣는 것은 생각보다 쉽지 않았습니다.

UMG에서 Mesh 미리보기

핵심은 SceneCaptureComponent2D 였습니다. Mesh를 캡쳐해서 이미지 형태로 보여주는 방식으로 미리보기를 구현했습니다.

야광봉 2 설정 화면

부가 기능

밝기와 크기도 조절할 수 있도록 해서 다양한 모양, 색상, 크기를 지원하도록 했습니다. 그리고 설정된 사항을 즐겨찾기로 저장해서 쉽게 원하는 형태를 선택할 수 있도록 했습니다. 이전 앱과 같이 잠금 버튼을 추가해서 의도하지 않은 터치가 발생하지 않도록 했습니다.

눈 결정모양

여기에서 앱 정보를 확인하실 수 있습니다. 유료 앱 입니다.

투호 게임

개요

이전에 Unity 로 제작했었던 동전 던지기 게임을 응용해서 투호 게임을 만들어보면 좋겠다는 생각이 들어 진행하게 되었습니다.

게임 엔진 선택

Unreal 엔진으로 이전할 생각을 가지고 있었지만 새롭게 공부해야 하는 부담이 있었습니다. Unity 엔진으로 제작하면 시간이 단축될 것 같았지만 나중을 생각하면 Unreal 엔진으로 제작하는 것이 합리적이라는 판단이 들었습니다.

Unity 엔진에서 Unreal 엔진으로

Unreal 엔진을 설치해 보니 개인적으로 Unity 엔진보다는 무겁다는 생각이 들었습니다. Unreal 엔진에 대한 지식이 없어 일단 Unity와 비교해서 공부를 시작했습니다.

두 엔진을 비교한 자료 위주로 보았습니다. Unity 엔진에서 사용하는 개체(Prefab…)에 대해서 대응되는 Unreal 엔진의 개체에 대한 설명이 전체적인 개념을 이해하는데 많은 도움이 되었습니다.

투호 게임 화면

개발 과정

Unreal 엔진을 많이 다루어 보면서 익숙해 지려고 노력했습니다. 프로그래밍을 주로 하는 필자는 노드를 이어서 로직을 만드는 Blueprint 가 쉽게 와 닿지 않았습니다.

동영상 강좌도 보고 실습을 해 보면서 간단한 것은 C++ 코드 없이 구현할 수 있겠다는 생각이 들었습니다. 하지만 결국 모두 C++ 로 하거나 Blueprint 로 구현하는 것은 불가능하고 둘을 적절하게 조합하는 것이 최선이라는 생각이 들었습니다.

게임 로직은 최대한 C++ 로 작성했고 게임의 설정과 관련한 부분이나 화면에 보여지는 부분은 Blueprint 로 구현했습니다. 작업이 진행될 수록 Unity 엔진과는 차이가 느껴졌습니다. 처음에는 시행착오가 많았는데 점점 익숙해 지면서 속도가 붙었습니다.

가장 어려웠던 부분은 화살이 항아리에 들어가 있는지 여부의 판단이었습니다. 여러가지 방법을 적용해 보았으나 정확하게 판단이 되지 않았습니다. 계속 찾아보면서 결국 잘 판단이 되도록 했고 사용자가 기다리는 시간을 최소로 줄였습니다.

최적화 과정

이전에는 일단 배포를 목표로 했었습니다. 그러나 이제는 배포 전에 최대한 최적화를 많이 진행하게 되었습니다. 간단한 부분이지만 어떻게 하는 것이 더 효율적인가 고민, 적용하기를 반복했습니다. 최적화 작업을 무한하게 할 수는 없으므로 적절한 선에서 마무리하고 배포 했습니다.

배포 과정에서도 또 다른 문제를 마주했지만 그 또한 필요한 과정이라 생각했습니다.

Unreal 엔진으로 처음 만든 게임인데 아마 개선해야 할 사항이 많을 것 같습니다. 하지만 개인적으로 Unity 엔진으로 처음 만든 게임보다는 완성도가 더 높다고 생각되었습니다. 조금 더 마무리 작업에 공을 들인 것이 그 차이를 만들어 낸 것 같았습니다.

후기

지나서 보니 Unity 엔진에 경험이 있었기 때문에 그래도 빠르게 Unreal 엔진에 적응할 수 있었던 것 같습니다. 필자와 같은 상황에 계신 분이 있을 것 같은데 너무 겁먹을 필요는 없는 것 같습니다.

개인적으로는 초반의 큰 고개 하나(Unity 엔진과 Unreal 엔진의 차이)와 여러 개의 작은 고개(Unreal 엔진만의 기능)만 잘 넘으시면 큰 문제 없이 Unreal 엔진에 익숙해 지실 것으로 생각됩니다.

다음 주소에서 게임 정보를 확인하실 수 있습니다. 하단에 배너 광고가 포함되어 있습니다.

https://play.google.com/store/apps/details?d=jaeyoung.kim.throwarrow