곽근오 · Game Programmer

[GDTS] 월드 20 미니게임

3D 무한 러너 & QTE

개요

오브젝트가 무한히 연결되어야 하는 구조적 특징으로 오브젝트 풀링이 중요 과제

스테이지 구조가 기획자의 의도에 맞게 지속적으로 밸런싱 수정이 필요했었기에 데이터 파일로 별도 분리

핵심 기여

시스템 모듈화

개발 과정에서 지속적인 게임 구조 수정이 진행되어, 이를 위해 각각의 시스템을 독립적으로 설계 최소한의 수정으로 기획 변경에 대응 및 코드 관리

각 시스템이 독립적으로 동작하면서 메인 시스템을 통해서만 통신하도록 설계했습니다. 이를 통해 한 시스템의 변경이 다른 부분에 미치는 영향을 최소화 하였습니다.

오브젝트 풀링(Pooling) 및 큐(Queue) 기반 메모리 최적화

게임이 진행되는 동안 무한히 생성되는 타일로 인한 가비지 컬렉션(GC) 스파이크를 방지하기 위해 RingObjectPool을 구현하고, 커스텀 큐를 통해 카메라 밖 타일을 재사용하도록 최적화

미리 할당된 풀에서 재사용하는 방식으로 GC 발생을 최소화 하였습니다.

사용 기술

Unity C# Object Pooling QTE