Portfolio

실제로 참여했거나 주도한 프로젝트 중, 주요 작업 내용을 중심으로 정리한 포트폴리오입니다.

실시간 멀티플레이 논타겟 액션 게임

네시삼십삼분 · 챔피언스튜디오 팀장 (2022.02 ~ 2023.02)

실시간 멀티플레이 논타겟 액션 게임 신규 개발 프로젝트를 리드하며, 커스텀 물리 시스템과 네트워킹 구조를 직접 설계·구현했습니다.

역할: 팀장 / 리드 클라이언트 개발자

핵심 기술: Unity, URP(Post-Processing), Addressable, uGUI, Photon, Unity NetCode, UniRx


넷코드 & 스킬 구현 상세


Netcode 1 – UniRx 기반 입력 처리

  • UniRx의 Observable.EveryUpdate를 활용해 매 프레임 로컬 유저 입력을 스트림으로 처리.
  • 입력 스트림을 Tick 스트림(ObservableEx.EveryTick)과 분리하여, 렌더링 프레임과 게임 로직 Tick을 독립적으로 운영.
  • 각 Tick마다 입력 스냅샷(InputPayload)을 생성해 버퍼에 기록하고, 서버 동기화용 RPC에 재사용할 수 있도록 구조화.

Netcode 2 – Circular Buffer로 Tick 상태 관리

  • 고정 크기 BUFFER_SIZE를 가진 순환 버퍼를 두어, tick % BUFFER_SIZE 인덱스로 입력/포지션 이력을 저장.
  • 서버 보정(Server Reconciliation) 시, 서버에서 수신한 확정 상태를 기준으로 해당 Tick 이후의 입력을 재적용(리플레이)하여 예측/보정을 구현.
  • Tick 별 InputPayloadPositionPayload를 분리해 디버깅 및 롤백 시 특정 Tick 상태를 빠르게 복원 가능.

스킬 구현 1 – 브레이크 데이터 기반 돌진 스킬

  • 가장 기본이 되는 “앞으로 돌진” 스킬을 설계하면서, 기획자가 원하는 감속 구간(BrakeData)과 일반 마찰 계수를 자유롭게 조정 가능하도록 구현.
  • BrakeData와 스킬 파라미터들을 ScriptableObject로 분리해 기획자가 에디터에서 실시간으로 값 튜닝 및 A/B 테스트를 수행할 수 있게 지원.
  • 커브(예: AnimationCurve speedGraph)와 BrakeData를 조합해 초반 가속–중반 유지–후반 감속과 같은 다양한 속도 속성을 코드 수정 없이 구성 가능.

복싱스타 – 라이브 서비스 & 시스템 리팩토링

네시삼십삼분 · 챔피언스튜디오 사원 (2018.09 ~ 2022.02)

라이브 중인 모바일 게임 <복싱스타>의 신규 콘텐츠 개발과 기존 복합 시스템을 모듈화/리팩토링하며, 플랫폼 이슈 대응과 CI/CD·빌드 머신 운영까지 담당했습니다.

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

핵심 기술: Unity (Legacy RP), NGUI, AssetBundle, Native Plugin, Jenkins


주요 기여 & 기술 포인트

1. 스탯 시스템 구조 리팩토링

  • UserStatSystemBase를 도입하여 Player / Bot / Replay 등 다양한 컨텍스트에 따라 다른 스탯 시스템을 사용할 수 있도록 베이스화.
  • UserStatSystem은 인게임 유저 전용 구현으로, 라이브 서비스 중인 프로젝트의 세부 로직은 숨기고 인터페이스/구조만 외부에 설명.

2. 계정/캐릭터 단위 스탯 테이블 분리

  • AccountStatTable – 계정 단위 스탯(코스튬 컬렉션, 계정 레벨 등)을 관리.
  • CharacterStatTable – 캐릭터별 스탯을 Dictionary<int, ClientStatData>로 관리.
  • ClientStatData – 실제 숫자 데이터(레벨/퍼센트/그룹 스탯)를 모아두는 최하단 데이터 구조.

3. Arabic 문자열 지원

  • nGUI에 Arabic지원을 위해 손수 플러그인 제작 (스트링 이슈로 상용 플러그인 적용 불가)

리팩토링 리뷰 발표 자료 (PPT)

C# 코드 보기

실제 구현 코드에서 민감한 부분을 제외한 발췌본을 별도의 페이지에서 제공합니다. 스탯 시스템의 베이스 구조와 데이터 테이블 설계를 확인할 수 있습니다.

슈퍼콜라 택틱스 – 모바일 RPG 신규 개발

멘티스코 · 슈퍼콜라 택틱스 (2023.12 ~ 2024.12)

URP 기반 모바일 프로젝트의 전투/툴/최적화/CI/CD 전반을 담당하며, 인게임 시스템과 개발 툴, 빌드 파이프라인을 구축했습니다.

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

핵심 기술: URP, uGUI, UniRx, UniTask, Addressable, UI Toolkit, Jenkins


주요 기여 & 기술 포인트

  • MVP 기반 UI 시스템 및 인게임 전투 시스템 구현.
  • UI Toolkit을 활용한 개발용 툴 제작으로 디자이너/기획자 워크플로우 개선.
  • Profiler 기반 최적화로 FPS 향상 및 APK 용량 감소(FPS +30%, APK −37.5%).
  • Jenkins 전/후처리 스크립트(manifest, plist, shell-script)로 빌드 파이프라인 자동화.