전인재

Unity 클라이언트 구조와 라이브 운영 문제를 해결하는 게임 프로그래머

Unity 게임 개발 경험을 바탕으로 모바일 게임의 신규 개발과 장기 라이브 서비스에서 전투 시스템, 실시간 네트워크, 개발 도구와 배포 자동화를 구현해 왔습니다.
클라이언트 기능을 안정적으로 완성하기 위해 필요한 서버 API와 배포 환경까지 연결할 수 있습니다.

이메일 papa7545@gmail.com / 연락처 010-6789-7545 / 서울

게임 프로그래머 전인재 프로필

소개

안녕하세요. 복잡한 문제를 구조적으로 풀고, 오래 운영할 수 있는 게임을 만드는 개발자 전인재입니다. Unity 클라이언트 개발을 중심으로 모바일 게임의 신규 개발과 라이브 서비스를 경험했습니다. 전투와 UI를 구현하는 데 그치지 않고 비동기 작업의 종료와 정리, 데이터 확장성, 메모리 사용량과 렌더링 부하, 라이브 배포 이후의 유지보수까지 함께 고려합니다.

라이브 서비스에서 발생한 성능 저하와 데이터 구조, 플랫폼 대응 문제를 직접 재현하고 프로파일러와 로그로 원인을 좁혀 기존 시스템을 개선해 왔습니다. 기획 데이터 변환과 API 코드 생성처럼 반복되는 작업은 도구로 자동화했고, 최근 프로젝트에서는 Unity 클라이언트와 ASP.NET Core 서버를 함께 구현하며 게임 출시까지 전체 개발 과정을 경험했습니다.

핵심 역량과 성과

  • [클라이언트 구조 설계] 웨이브, 유닛, 스킬, 버프와 오브젝트 풀을 데이터 중심으로 연결하고, 전투 종료와 오브젝트 파괴 시 비동기 작업이 함께 정리되는 구조를 구현했습니다.
  • [실시간 네트워크] Tick 기반 입력 예측과 순환 버퍼 기반 서버 보정 구조를 설계하여 렌더링 프레임과 게임 로직 Tick을 분리했습니다.
  • [성능 및 리소스 관리] 프로파일러로 렌더링과 리소스 병목을 분석하고 AssetBundle 의존성, 캐시와 모바일 리소스 구성을 개선했습니다.
  • [개발 도구] UI Toolkit과 EditorWindow로 데이터 조회, 임시 수정, 적용 소스 선택과 리소스 탐색을 지원하는 도구를 제작했습니다.
  • [서버 연동 자동화] Swagger 기반 Unity API 생성 도구인 SwaggerToUnity를 구현해 서버 명세 변경을 Unity 통신 코드와 DTO에 반영했습니다.

기술 스택 및 활용 경험

Unity 클라이언트

  • Unity, C#URP와 Legacy RP 기반 모바일 게임 개발 및 라이브 운영
  • uGUI, NGUI, UI Toolkit게임 UI와 에디터 도구 구현
  • UniTask, UniRx비동기 처리와 이벤트 흐름 구성
  • GameplayCommand와 State Machine 기반 전투 구조, 데이터 조합형 스킬 효과, 유닛 AI, 웨이브 패턴과 오브젝트 풀링 구현
  • MultiplayerTick 기반 입력 예측과 서버 보정 구현
  • Unity IAP, Google Mobile Ads결제와 광고 기능 연동

서버 연동 및 구현 경험

  • ASP.NET Core Web APIUnity 클라이언트가 사용하는 게임 API 구현
  • JWT, REST API, WebSocket인증, 요청과 응답, 실시간 알림 흐름 연결
  • EF Core, MySQL계정, 아이템, 전투 기록과 보상 데이터 처리
  • Redis시즌 랭킹 저장과 순위 조회 구현
  • Google Play, Apple IAP클라이언트 영수증 전달과 서버 검증 API 연동

자동화 및 DevOps

  • JenkinsAndroid와 iOS 빌드 자동화
  • Addressables, AssetBundle콘텐츠 빌드와 배포 자동화
  • Swagger, NSwagUnity API 클라이언트와 DTO 코드 생성
  • Excel, CSV, MySQL게임 데이터 자동화 파이프라인 구축 및 운영
  • Docker, Docker Compose서버 실행 환경 구성

경력

(주)쓰리케이엠 - 클라이언트 및 풀스택 게임 프로그래머 ~ / 계약직

방치형 모바일 게임의 클라이언트 개발과 라이브 운영을 담당하고, 이후 디펜스 게임의 클라이언트와 서버를 단독으로 개발했습니다.

방치형 모바일 게임 개발 및 출시 ~

역할: Unity 클라이언트 프로그래머

기술: Unity, UniTask, UniRx, uGUI, AssetBundle, Unity IAP, Google Mobile Ads, Jenkins

  • 출시와 라이브 운영에 필요한 전투, 성장, 뽑기, 장비, PvP 및 상점 콘텐츠를 구현했습니다.
  • UniTask 기반 FIFO 요청 큐를 설계하여 중복 요청을 방지하고 서버 응답 순서를 보장했습니다.
  • AssetBundle Manifest와 hash 기반 갱신 및 캐시 구조를 구현하여 원격 에셋 배포 흐름을 안정화했습니다.
  • Excel 시트를 Client와 Server용 CSV 및 C# 테이블 코드로 변환하는 XlsxToCSVExporter를 제작해 데이터 반영을 자동화했습니다.
  • 디버그 도구와 Jenkins 배포 환경을 구축하여 라이브 검증과 모바일 빌드 과정을 자동화했습니다.
디펜스 게임 개발 및 출시 ~

제한된 개발 인력 환경에서 서버, 클라이언트, 결제 검증과 배포 인프라까지 전체 개발 과정을 단독으로 수행해 게임을 출시했습니다.

역할: 풀스택 게임 프로그래머

기술: ASP.NET Core, EF Core, MySQL, Redis, WebSocket, JWT, Unity, UniTask, Unity IAP, Addressables, Swagger, NSwag, Jenkins, Docker

  • JWT 인증, WebSocket 알림, MySQL 게임 데이터와 Redis 랭킹을 구성하고 게임 규칙과 보상을 서버에서 검증하도록 설계했습니다.
  • 웨이브, 유닛, 스킬, 버프와 오브젝트 풀링을 연결해 데이터 기반으로 확장 가능한 Unity 전투 구조를 구현했습니다.
  • 씬, 전투와 유닛 단위로 비동기 작업의 수명을 분리하고 풀 반환 시 실행 중인 작업이 함께 취소되도록 구성했습니다.
  • Google Play와 Apple 영수증 검증 및 서버 보상 지급 흐름을 구축해 플랫폼 결제 처리의 신뢰성을 확보했습니다.
  • SwaggerToUnity로 API 명세를 Unity 통신 코드와 DTO에 반영해 서버 연동 코드 생성을 자동화했습니다.
  • Jenkins로 DEV, QA, LIVE 환경의 모바일 빌드와 Addressables 배포를 자동화했습니다.
(주)멘티스코/뉴웨이블 - 슈퍼콜라 택틱스 ~ / 사원

모바일 RPG의 신규 개발과 라이브 운영 과정에서 실시간 전투, UI, 데이터 도구와 배포 자동화를 담당했습니다.

역할: 클라이언트 프로그래머

기술: URP, MVP, UniRx, UniTask, Addressables, FlatBuffers, UI Toolkit, Jenkins

  • Command와 State Machine 기반으로 전투, 스킬 효과와 유닛 AI를 모듈화하여 콘텐츠 확장 구조를 마련했습니다.
  • MVP 기반 UI와 재사용 가능한 팝업 및 스크롤 구조를 구현해 화면 개발의 중복을 줄였습니다.
  • Reflection 기반 기능 등록, 공격 기록 필터링과 JSON 저장을 지원하는 UI Toolkit QA 도구를 구현했습니다.
  • 프로파일러로 렌더링과 리소스 병목을 측정하고 모바일 리소스 구성과 배포 데이터를 정리했습니다.
프리랜서 - (주)네시삼십삼분 카피 프로젝트 ~ / 프리랜서

원본 소스가 없어 유지보수할 수 없던 게임을 제공된 리소스와 서버 동작을 분석해 재구축했습니다.

기술: C++, Unity, 소켓 서버

  • 기존 게임의 동작을 C++ 및 Unity로 재현하여 서비스 기능을 복원했습니다.
  • 시스템을 모듈화하여 후속 개발과 유지보수가 가능한 구조로 재구성했습니다.
(주)네시삼십삼분 - 챔피언스튜디오 팀장 ~ / 팀장

실시간 멀티플레이 액션 게임의 동기화와 연결 안정성 문제를 해결하기 위해 클라이언트 구조 설계를 주도했습니다.

기술: Unity, URP(Post-Processing), Addressables, uGUI, Netcode for GameObjects, Photon Realtime Transport, UniRx, CharacterController

  • Network Tick마다 중력, 마찰, 공기 저항과 충돌 탄성을 직접 계산하는 CharacterController 기반 커스텀 물리 시스템을 구현했습니다.
  • ScriptableObject 기반 돌진과 재사용 가능한 지상 및 공중 감속 규칙을 구현했습니다.
  • 클라이언트 예측과 서버 보정(Server Reconciliation), 입력 재적용 구조를 구현해 동기화 품질을 개선했습니다.
  • Netcode for GameObjects의 게임 로직은 유지하고 Photon Realtime Transport를 전송 계층으로 적용해 외부 네트워크 연결을 구성했습니다.
(주)네시삼십삼분 - 챔피언스튜디오 사원 ~ / 사원

복싱스타의 장기 라이브 서비스 과정에서 복잡해진 시스템을 개선하고 플랫폼 정책과 호환성 문제에 대응했습니다.

기술: Unity, C#, 서버-클라이언트 공용 라이브러리, Legacy RP, NGUI, AssetBundle, Jenkins

  • 서버와 클라이언트의 스탯 공식을 공용 라이브러리로 구성해 서버의 비정상 사용자 검증과 Unity 전투 계산 기준을 통일했습니다.
  • NGUI 렌더링 단계에 아랍어 문자 결합과 RTL 변환을 연결해 기존 화면의 혼합 문자열 표시 문제를 해결했습니다.
  • AssetBundle Manifest 의존성을 먼저 로드하고 개별 번들과 packing 번들을 캐시하는 리소스 로딩 구조를 구현했습니다.
  • Unity 버전을 5에서 2018 및 2021 LTS로 순차 전환하여 Android 64비트 정책과 플랫폼 요구사항에 대응했습니다.
  • Jenkins와 빌드 머신을 운영하고 자동화 및 테스트 환경을 구축해 배포 안정성을 높였습니다.
BitFunGames - 창업 ~ / 공동 창업 / 개발 담당

소규모 창업팀에서 신규 게임과 서비스의 기획, 개발 환경 구성 및 기술 의사결정을 담당했습니다. 상용 서비스 수준으로 이어지지는 않았지만 프로젝트 초기 운영 전반을 직접 경험했습니다.

회사 정규 근무 경력으로는 인정되기 어려워 최종 경력 산정에서는 제외하였습니다.

사용 기술: Node.js, MySQL, Unity

  • 게임 프로토타입과 Node.js 및 MySQL 기반 서버를 개발해 Unity 클라이언트와 연동했습니다.
  • 개발 및 협업 환경을 초기 구축하고 일정, 품질과 수익성을 고려해 개발 우선순위를 결정했습니다.

학력 및 자격증

서울호서전문학교 - 게임기획 전공

~ / 졸업 / 학점 3.8 / 4.5

매탄고등학교

~ / 졸업

자격증

  • 게임기획전문가 (한국콘텐츠진흥원, 2012.11)

연락처

포지션 및 협업 제안은 아래 연락처로 부탁드립니다.

  • 이름: 전인재
  • 연락처: 010-6789-7545
  • Email: papa7545@gmail.com
  • GitHub: github.com/kissttokki
  • 거주지: 서울 관악구 신림동
  • 희망 고용형태: 정규직 (연봉: 면접 시 협의)