DirectX9 API를 사용하여 수많은 탄환이 빗발치는 종스크롤 슈팅 게임을 개발하며 대규모 오브젝트 처리와 성능 최적화 아키텍처를 설계했다.
화면 내에 수백 개의 오브젝트가 동시에 존재하더라도 프레임 저하 없이 매끄러운 플레이를 보장하기 위한 전투 루프 구성에 모든 노력을 기울였다.
탄환과 폭발 이펙트 등 빈번하게 생성되고 파괴되는 객체들을 관리하기 위해 오브젝트 풀링(Object Pooling) 기법을 전면 도입하여 메모리 부하를 획기적으로 줄였다.
충돌 판정 로직을 탄환-적, 적-플레이어, 폭발 범위 등 레이어별로 세분화하여 불필요한 검사 횟수를 최소화하고 디버깅의 명확성을 확보했다.
특히 화려한 궁극기 발동 시 발생하는 연산 폭주를 막기 위해, 대상 리스트를 먼저 고정한 뒤 순차 처리하는 방식을 적용하여 안정성을 높였다.
적들의 등장 패턴을 관리하는 웨이브 시스템은 시간 기반 스케줄링으로 설계하여 플레이어에게 긴장감 넘치는 템포를 선사했다.
C++과 DirectX9이라는 저수준 환경에서 AABB 충돌 판정과 같은 기초 기술들을 직접 구현하며 게임 엔진의 내부 동작 원리를 깊이 있게 파악했다.
이 프로젝트를 통해 슈팅 게임의 진정한 재미는 화려한 무기보다 충돌 처리와 자원 재사용 같은 견고한 기초 설계 위에서 탄생함을 확인했다.
시스템의 자원을 효율적으로 분배하고 실행 순서를 정교하게 조율하는 과정이 플레이 감각에 얼마나 큰 영향을 미치는지 직접 체감했다.
성능과 재미라는 두 마리 토끼를 잡기 위해 기술적 한계에 도전하며 최적화된 게임 환경을 구축했다.