제가 인프런에서 진행하고 있는 ‘C++로 만드는 게임 엔진 프레임워크’ 강의에 새로운 심화 파트를 추가했습니다.
이번 업데이트에서는 기존 강의에서 완성한 게임 엔진과 게임 프로젝트를 그대로 이어서 사용하면서,
Actor 중심 구조를 Component 기반 구조와 Transform Scene Graph로 확장합니다.
신규 강의 영상과 함께 각 강의의 수업 노트, 단계별 프로젝트 ZIP 파일까지 모두 업로드를 완료했습니다.

기존 강의를 확장한 이유
기존 강의는 게임 루프, Actor와 Level, 렌더링, 충돌, RTTI 등 게임 엔진의 핵심 실행 흐름을 이해하는 데 집중했습니다.
학습 과정에서는 이해하기 쉽도록 Actor가 위치, 렌더링, 충돌 정보를 직접 관리하는 구조를 사용했습니다.
하지만 기능이 늘어날수록 Actor가 너무 많은 책임을 가지게 되고, Renderer와 CollisionSystem도 Actor 내부 구조에 강하게 의존하게 됩니다.
이번 확장 파트에서는 기존 엔진을 새로 만드는 대신, 잘 동작하는 코드를 점진적으로 리팩토링하면서 각 기능의 책임을 Component로 분리합니다.
어떤 내용이 추가되었나?
1. Component 기반 Actor 구조
Actor가 직접 관리하던 위치, 렌더링, 충돌 정보를 다음 Component로 분리합니다.
- TransformComponent
- SpriteRendererComponent
- BoxCollisionComponent
Component의 생성과 삭제, 생명주기, Actor의 Component 추가·조회 구조를 구현하고,
Renderer와 CollisionSystem도 Component를 통해 데이터를 읽도록 변경합니다.
2. Transform Scene Graph
부모와 자식 Actor의 계층 관계를 표현할 수 있도록 local position과 world position을 구분하고,
AttachTo()와 DetachFromParent()를 구현합니다.
비행 슈팅 게임에서는 PlayerGun과 PlayerEngineEffect를 Player의 자식으로 연결해, Player가 움직일 때 함께 이동하는 구조를 완성합니다.
3. 기존 게임의 Component 구조 이전
새로운 예제만 만드는 것이 아니라 기존 강의에서 완성한 소코반과 비행 슈팅 게임을 Component와 Scene Graph 구조로 직접 이전합니다.
기존에 잘 동작하던 코드를 새로운 구조로 옮기면서 Component의 소유권과 생명주기, 시스템 의존성, 부모와 자식 관계를 함께 정리합니다.
4. Prefab과 ECS 확장 방향
마지막에는 Scene Graph의 계층과 Component 구성을 데이터로 저장하는 Prefab 관점을 살펴봅니다.
현재의 Actor-Component 구조와 ActorID, Component Storage, DOD/ECS 구조의 차이도 비교합니다.
ECS를 직접 완성하는 과정은 아니지만, 현재 구조가 앞으로 어떤 방향으로 확장될 수 있는지 이해할 수 있도록 구성했습니다.
총 7개 챕터, 17개 강의가 추가되었습니다
- 기존 Actor 구조 복습과 확장 목표
- Component 기반 Actor 구조 구현
- Transform Scene Graph 구현
- Renderer와 CollisionSystem 업데이트
- 소코반 게임 Component 구조 이전
- 비행 슈팅 게임 Component 구조 이전
- ActorID와 DOD/ECS 구조 비교
기존 수강생과 신규 수강생 모두를 위한 확장입니다
기존 강의를 완강했다면 처음부터 다시 들을 필요 없이 기존 마지막 강의 다음에 추가된 19강부터 이어서 수강하면 됩니다.
새롭게 수강하는 분은 게임 엔진의 기본 구조부터 두 개의 게임 제작,
Component 기반 리팩토링과 Scene Graph까지 순서대로 경험할 수 있습니다.
처음부터 완성된 구조만 사용하는 것이 아니라, 프로젝트가 발전하면서 왜 Component와 Scene Graph가 필요한지 직접 확인하는 것이 이번 확장의 핵심입니다.
제공 자료
- 신규 강의 영상
- 강의별 수업 노트
- 복습을 위한 체크포인트
- 단계별 프로젝트 ZIP 파일
기존 강의를 통해 게임 엔진의 핵심 흐름을 이해했다면,
이번 확장 파트에서는 완성한 엔진을 한 단계 더 발전시키는 과정을 경험해보시기 바랍니다.