태그: ECS
5편
-
C++ 데이터 지향 설계 실전 | SoA·캐시 친화적 레이아웃·ECS·핫/콜드 분리 가이드
10만 개 엔티티 업데이트가 60fps를 못 넘는 문제를 AoS에서 SoA로 바꾸는 예제로 풀고, 캐시 친화적 레이아웃, SoA 기반 ECS, 핫/콜드 데이터 분리를 C++ 코드로 보여줍니다. SoA로 바꿨는데 오히려 느려지는 경우도 설명합니다.
-
C++ 게임 엔진 구조 잡기: 게임 루프, ECS, 씬 그래프, 리소스 매니저, 물리 통합
프레임 드랍, 삭제된 엔티티를 참조하는 크래시, 씬 로딩 중 화면 멈춤, 같은 텍스처 중복 로드 같은 문제를 엔진 구조로 풀어 봅니다. 고정 timestep과 보간, 지연 삭제를 쓰는 ECS, 씬 그래프, 비동기 로딩 리소스 매니저, Box2D 연동을 다룹니다.
-
C++ 게임 엔진 기초: 게임 루프·ECS·씬 그래프·입력 처리 구현
60fps에서 캐릭터가 너무 빠르거나 키 한 번에 점프가 두 번 되는 문제를 게임 루프와 입력 처리 구조로 풀어 봅니다. 고정 타임스텝과 가변 델타타임 비교, 최소 ECS 구현, 씬 그래프의 dirty 전파, 이벤트·폴링 방식 입력 처리를 예제로 설명합니다.
-
C++로 ECS 구현하기: Entity·Component 스토리지·System·쿼리 설계
적이 드롭 아이템으로 바뀌고 플레이어가 몬스터에 빙의하는 요구 앞에서 상속 계층이 무너지는 이유를 짚고 ECS로 다시 설계합니다. ID 기반 Entity, AoS와 SoA 컴포넌트 스토리지, 컴포넌트 조합을 쿼리하는 System, 실행 순서와 삭제 시 댕글링 문제를 다룹니다.
-
C++ 게임 엔진 기초 | 렌더링·물리·입력·스크립팅 시스템 구현 [#50-3]
ECS 아키텍처를 기반으로 2D 게임 엔진의 렌더링·물리·입력·Lua 스크립팅 시스템을 구현합니다. 충돌 감지 누락, 물리 터널링, Lua 콜백 nil 에러 같은 실전 트러블슈팅과 Box2D 연동까지 다룹니다.