곽근오 · Game Programmer

[GDTS] 콜라보 이벤트 기믹 작업

그림자 분신 퍼즐 & 텔레포트

개요

스테이지 전체에서 사용하는 기믹으로 퀘스트의 진행도에 따라 기능들이 해금되는 구조

스테이지 진행에서 완전 별도로 진행되는 기믹인 만큼, 플레이어가 퀘스트를 진행하거나 연출을 보는 등의 행동에서 기믹의 생성/제거가 용이했어야 했음

진행도 마다 기믹의 기능이 추가되었기 때문에 기획자가 각 진행도에서 테스트 해볼 수 있도록 데이터를 분리해 관리하도록 작업

핵심 기여

FSM 기반의 객체 상태 제어

스테이지 전체에 배치되는 스포너(Spawner)와 그림자 분신 객체의 생애 주기(대기, 캐스팅, 스폰, 밀림 등)를 상태 머신 패턴으로 설계

상태 머신을 통해 각 상태에서의 동작이 명확히 분리되어 새로운 상태나 전이 규칙 추가 시 기존 코드 수정을 최소화했습니다.

데이터 기반 설계 작업

기믹의 단계별 기능 확장, 지속 시간 등의 기획적으로 수정될 수 있는 변수들은 데이터 파일로 분리하여 밸런싱 및 테스트가 간편해지도록 수정.

프로그래머가 코드 수정 없이 게임 밸런싱을 빠르게 반복할 수 있게 되어, 기획-프로그래밍 사이의 피드백 루프가 매우 단축되었습니다.

메시지시스템 활용 및 메모리 관리

메시지 시스템을 활용해 이벤트를 구독/해제(Subscribe/Unsubscribe)하는 방식으로 설계

느슨한 결합으로 인해 각 객체가 독립적으로 동작하면서도 필요한 이벤트만 수신하도록 설계했습니다. 반복 생성/삭제되는 기믹 특성상 메모리 관리가 매우 중요했는데, 풀링 형식으로 작업하여 메모리 누수를 보완하였습니다

사용 기술

Unity C# Lua FSM EDA