Game Client Programmer

만든 것을 끝까지 내보냅니다

게임 클라이언트 프로그래머 김대원입니다.
조선을 배경으로 한 3D 액션 어드벤처 사화를 Unity와 Unreal 두 갈래로 개발했고, 그중 유니티 사화는 Steam과 Google Play에 출시했습니다.
출시 이후에는 같은 게임을 처음부터 다시 설계하며 유지보수 가능한 구조를 만드는 데 집중하고 있습니다.

출시 실적

유니티 사화 · Steam / Google Play 동시 출시 기준

18,802
누적 다운로드
94%
해외 유저 비율
1,659
Steam 유저
385
Google Play 유저

Project 01

유니티 사화 리팩토링

출시까지 마친 유니티 사화를 Unity 6에서 처음부터 다시 설계한 개인 프로젝트. 기능을 더하는 것이 아니라, 같은 게임을 유지보수 가능한 구조로 다시 짜는 것이 목표였습니다.

Unity 6 · C# · PC(Windows) / Android · 2026.04 ~ 2026.09 · 개인 프로젝트

시스템 경계 재정의

폴더 하나를 시스템 하나로 못 박고, 12개 시스템의 역할·진입점·설계 규칙을 문서로 확정한 뒤에만 코드를 쓰도록 순서를 바꿨습니다.

의존성 주입 시스템 자체 구현

싱글톤 11개와 인스펙터 드래그로 얽혀 있던 참조를, 어트리뷰트 한 줄로 인터페이스를 주입받는 컨테이너를 직접 만들어 대체했습니다.

AI를 품질 게이트로 활용

코드를 대신 짜게 하는 대신, 제가 정한 기준으로 제 코드를 검사하게 만들었습니다. 1인 프로젝트에 리뷰어를 붙인 셈입니다.

Project 02

유니티 사화

조선을 공격하는 마법 세력을 물리치고, 침식된 사방신을 해방시키는 3D 액션 어드벤처. 적을 공격해 ‘덧칠’을 쌓고, 일정량이 누적된 적을 처형하는 액션 시스템을 축으로 합니다.

Unity 2022.3 · C# · PC(Windows) / Android · 2024.06 ~ 2025.06

모바일 플랫폼 최적화

PC 타겟 게임을 모바일로 전환하며 발생한 메모리 부족·프레임 드롭을 Profiler로 분석하고 해결해, 모든 구역에서 평균 50~60 FPS를 달성했습니다.

빌드 디버깅

발표 당일 실행 파일에서 입력이 먹지 않던 문제를 빌드 환경 디버깅으로 추적해 당일 해결했습니다.

먹 이펙트 구현

평면으로 노출되던 2D 트레일을 3D 메쉬와 Shader Graph로 전환해 1주일 만에 개선·적용했습니다.

Project 03

언리얼 사화

유니티 사화와 같은 세계관·스토리를 공유하되, 그때 선택하지 않은 다른 갈림길을 배경으로 한 게임입니다.

Unreal Engine 5.4.4 · Blueprint · PC(Windows) · 2025.04 ~ 2025.12

몬스터 설계·구현

반복 구현되던 공통 기능을 상속 가능한 BP_Enemy_Base로 분리하고, Event Dispatcher와 행동 트리로 확장 구조를 만들었습니다.

기믹 설계·구현

기믹을 입력 감지와 동작으로 분류하고 BPI_SendIO 인터페이스로 신호를 전달해, 기획자가 직접 조립할 수 있는 구조를 설계했습니다.

What I do

담당해 온 일

세 프로젝트에서 실제로 맡아 끝낸 영역입니다.

성능 최적화

Profiler로 GPU 병목을 짚고 해상도·폴리곤·씬 분리·프리로딩을 조정해 목표 프레임을 확보합니다.

빌드 트러블슈팅

에디터에서는 재현되지 않는 빌드 전용 버그를 로그와 참조 추적으로 좁혀 들어갑니다.

셰이더 · 이펙트

Shader Graph와 파티클 커스텀 데이터로 아트 요구사항을 런타임에서 구현합니다.

확장 가능한 구조 설계

상속과 인터페이스로 공통 기능을 분리해, 신규 콘텐츠 추가 시 특징 구현에만 집중하게 만듭니다.

플레이어 · UI 클라이언트

플레이어 입력과 UI 흐름을 담당하며, 조작감에 직접 닿는 부분을 다듬습니다.

출시 운영

Steam과 Google Play 동시 출시를 진행하고, 유저 평가를 다음 업데이트로 되돌립니다.

개발하면서 배운 것과 트러블슈팅 기록을 정리합니다.