지난주는 진행하던 프로젝트가 종료되면서, 이를 정리하는 시간을 가졌습니다.
현재 저는 유니티 클라이언트 개발자에서 언리얼 클라이언트 개발자로 전향하는 과정에 있으며, 이번 프로젝트는 비교적 짧은 기간 동안 게임을 제작하는 경험이었습니다.
처음 게임 개발을 공부할 때는 단순히 "재미있는 게임을 만들고, 그 재미를 다른 사람에게 전달하는 것"이 가장 큰 목표였습니다.
하지만 이번 프로젝트를 진행하면서는 전혀 다른 고민들이 머릿속을 채웠습니다.
"이 기능을 어떻게 구현해야 성능적으로 더 나을까?"
"오큘루전 컬링이나 프리스트럼 컬링을 적용해서 이 큰 레벨을 어떻게 최적화할 수 있을까?"
이처럼 게임을 ‘잘 만들기’보다는 ‘잘 동작하게 만들기’에 집중한 한 주였습니다.
이번 프로젝트에서 제가 담당한 기능은 다음과 같습니다.
- 언리얼 테이블을 활용한 인벤토리 시스템
- 아이템을 줍는 인터랙션 시스템
- 레벨 스트리밍을 관리하는 레벨 매니저
- 게임의 진행 방향을 안내하는 미션 시스템
- 챕터 변경을 감지해 배경음악과 환경을 바꾸는 챕터 시스템
게임의 안정성과 최적화에 집중하면서 잘 기능을 완성했습니다.
그러나, 막상 프로젝트 발표 때 다른 팀의 게임을 보며 이런 생각이 들었습니다.
“나는 이 게임의 ‘재미’를 위해 어떤 고민을 했을까?”
이 질문이 머릿속을 떠나지 않았습니다.
게임 클라이언트 개발자로서 안정적인 시스템을 구축하는 것이 가장 중요하다고 생각했습니다.
하지만 결국 저도 한 명의 플레이어라는 사실을 잊고 있었습니다.
게임이 ‘잘 굴러가게’ 만드는 것만큼, 플레이어가 재미를 느낄 수 있도록 고민하는 것도 중요합니다.
이번 프로젝트를 통해 이 부분을 놓치고 있었다는 걸 깨달았습니다.
물론, 다음 프로젝트를 대비해 멀티플레이어 관련 기술을 공부했고, 꾸준히 코딩 테스트도 준비했습니다.
하지만 이전처럼 빠르게 나아가기보다는, 잠시 멈춰서 방향을 고민하는 시간이 많았던 한 주였습니다.
이번 경험이 후회되지는 않습니다. 오히려 중요한 공부였다고 생각합니다.
그리고 앞으로의 개발자로서의 방향을 다시 한번 깊이 고민할 기회가 되었습니다.