소개
소개서

창의성의 액셀러레이터,

한지원입니다.

게임 개발은 직군에 관계없이, 다양한 사람들이 모여 이루어내는 고도의 창작 활동이라 생각합니다. 저는 클라이언트 엔지니어로서 의도한 대로 동작하는 기능을 구현하는 것뿐만 아니라, 팀원이 각자의 창의성을 온전히 발휘할 수 있는 개발 환경을 만들고자 노력해 왔습니다.

Project I에서 보스 몬스터의 패턴 기능을 구현할 때였습니다. 저는 StateMachineBehaviour을 기반으로 하는 FSM을 구현하여, 디자이너가 기획한 공격 패턴과 전이 조건을 엔진 내에서 바로 조립하고 검증하며 작업 효율을 높일 수 있도록 도왔습니다. 각 스킬을 이루기 위한 최소 단위를 팀원과 논의하여 모듈화하고, 애니메이션 레이어를 나누어 작업한 클립을 적용하거나 AnimationClip을 수정하지 않고도 특정 프레임에 이벤트를 할당할 수 있게 하였습니다. 병합을 마친 뒤 제가 구현한 기능을 통해 보스의 패턴을 이리저리 수정해가며 완성도를 올려가는 팀원의 모습은 저에게 큰 울림을 주었고, 이는 제가 엔지니어로서 어떤 길을 걸어야할지 깨닫게되는 중요한 사건이었습니다.

이후 Project C에서는 AI Navigation을 사용하여 차량을 이동시키는 기존의 워크플로우를 최대한 해치지 않고 WheelCollider를 적용시켰습니다. NavMeshAgent를 사용하지 않는 환경으로 변화하였기에 오브젝트의 동작 방식은 완전히 달라졌지만, NavMesh Baking 과정을 통합한 주행 경로 에디터를 구현하여 씬의 수정 없이 지정한 경로로 차량이 주행하는 새로운 기능을 추가하였습니다. 기술적인 변화가 있었음에도 불구하고 동료들이 큰 걱정 없이 작업을 이어나가는 모습은 저에게 큰 카타르시스가 되었으며, 이 과정에서 에디터 확장을 공부해나가며 저와 제 동료들이 더 편리한 작업 환경에서 개발할 수 있도록 노력하였습니다.

‘Project PZ’에서는 절차적 레벨 생성 로직에 실시간 프리뷰 환경을 통합하여, 디자이너가 빌드라는 지루한 기다림 없이 자신의 설계를 즉시 검증할 수 있게 했습니다. 또한, 디자이너의 요청에 따라 몬스터의 행동 패턴을 CSV 형태의 텍스트로 관리하고, 인게임에서는 틱 단위의 패턴 뷰어를 제공하여 의도대로 동작하였는지 확인할 수 있도록 하였습니다. 동료들이 기술적 제약에 갇히지 않고 “이건 어때?”라고 자유롭게 제안할 수 있는 환경을 만드는 것, 그것이 제가 엔지니어링을 통해 팀에 기여하고자 하는 궁극적인 가치입니다. 이후의 프로젝트에서는 엔진이 제공하는 기본 기능만으로는 어쩌고 저쩌고…

저는 이것을 해결하고자 에디터 확장 기능을 공부하며 각 팀원이 더 편안하게 작업할 수 있도록 노력했습니다.

또한 Unity Profiler와 DisAssembly를 통해 실질적인 성능 개선을 이루어낸 경험이 있습니다. 근데 잘모르니까 공부하면서 했음