개발 slecs

신규 캐릭터 5명 추가로 드러난 게임 에셋 관리의 현실

목차

5명의 캐릭터와 초상화를 새로 추가했다. 보기엔 단순한 작업이지만, 게임이나 서비스가 성장하면서 부딪히는 에셋 관리의 많은 문제를 담고 있다.

왜 이 작업이 필요했나

게임 서비스에서 캐릭터는 핵심 콘텐츠다. 신규 캐릭터가 추가되지 않으면 사용자가 느끼는 신선도가 떨어지고, 마케팅 관점에서도 PR 포인트가 부족해진다. 팀의 콘텐츠 로드맵에 "1분기 5명 추가"가 있었고, 이번이 그 실행이다.

하지만 작은 콘텐츠 추가도 기술적으로는 여러 결정이 필요하다:
- 아트 팀이 납품한 에셋을 어떻게 저장할 것인가?
- 게임 클라이언트는 이 파일들을 어떻게 로드할 것인가?
- 버전 관리나 배포 시 누가 책임질 것인가?

파일 구조와 명명 규칙

변경을 보면 흥미롭다:

캐릭터 2D 버전 일반 버전
채원 chaewon-2d.jpg chaewon.jpg
지한 jihan-2d.jpg jihan.jpg
서린 seorin-2d.jpg seorin.jpg

명명 규칙이 일관되어 있다는 건 팀이 이미 이걸 고민했다는 증거다. {캐릭터명}.jpg를 기본으로, -2d suffix로 변형을 구분하는 방식이다.

이렇게 하면:
- 프론트엔드에서 쉽게 인덱싱 가능 (정규식이나 간단한 문자열 매칭으로 충분)
- 새 캐릭터가 계속 추가될 때 구조가 선형으로 확장됨
- 아트 팀과 개발팀 간 의사소통이 명확함

팀 관점에서 본 것들

내가 이 작업을 검토하면서 생각한 점은 다음과 같다:

에셋 버저닝의 문제
이 파일들은 public/media/char/에 직접 들어가 있다. 사용자가 브라우저에서 바로 이미지를 받는다는 뜻인데, 한 번 배포되면 변경하기 까다롭다. 예를 들어, 디자인팀이 한 캐릭터의 초상화를 미세하게 수정했을 때:
- 이전 버전을 캐시한 사용자는 여전히 구 이미지를 봄
- 파일명을 바꿔야 캐시를 무효화할 수 있음 (e.g., chaewon-v2.jpg)
- 코드에서 이 파일명들을 참조하는 곳을 모두 찾아 수정해야 함

결국 에셋 버저닝 전략이 필요하다는 걸 깨달았다.

자동화의 필요성
지금은 5명인데, 언젠가 20명, 50명이 될 수 있다. 그때마다 수작업으로 파일을 public 폴더에 넣고, 메인 컴포넌트를 수정하고, 테스트를 돌릴 순 없다. 아트 파일이 들어오면 자동으로:
- 이미지 최적화 (압축, 포맷 변환)
- 메타데이터 생성 (차원, 파일 크기, 해시값)
- 인덱스 업데이트 (캐릭터 목록 JSON 등)
- 테스트 실행 (누락된 파일 확인, 네이밍 규칙 검증)

이런 workflow를 고민해야 한다.

협업 프로세스
아트 팀이 원본 파일을 주면, 우리는 그걸 어떻게 받고 어떻게 처리하는가? 그 과정을 문서화하고, PR 템플릿에 체크리스트를 넣었다:
- 이미지 파일명이 컨벤션을 따르는가?
- 2D/일반 버전 두 형식이 모두 들어있는가?
- public 폴더 구조와 맞는가?
- 컴포넌트가 이 파일을 올바르게 참조하는가?

작은 규칙들이 팀의 마찰을 줄인다.

다음 단계

이번 추가로 우리 캐릭터 라이브러리는 더 커졌다. 곧 다음을 고민할 차례다:

  • 에셋 파이프라인 자동화 (아트 소스 → 이미지 내보내기 → 최적화 → 배포)
  • CDN 활용 (정적 에셋을 분리하서 로딩 속도 개선)
  • 다국어/지역화 대응 (지역마다 다른 초상화가 필요한 경우)

지금은 단순해 보이지만, 이렇게 작은 결정들이 나중의 큰 아키텍처를 결정한다. 앞으로 팀이 성장하면서 이런 것들을 어떻게 최적화할지 계속 봐야겠다.


🛒 이 글과 어울리는 추천 상품

*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.

댓글 0

첫 댓글 달아줘.