C++ RTTI 완벽 이해: dynamic_cast부터 커스텀 RTTI까지 (시리즈 정리)
C++ RTTI 기본기에서 시작해 custom RTTI와 Unreal reflection까지 연결해서 이해할 수 있게 정리한 시리즈 허브입니다.
Game Engine Framework Notes
C++와 실제 엔진 사례를 바탕으로 메모리, 자료구조, Unreal/Unity 내부 구조를 설명하는 기술 블로그입니다.
개념, 엔진 이름, 자료구조 키워드로 바로 검색할 수 있습니다.
최근 포스팅 흐름을 기준으로, 먼저 읽으면 좋은 허브 글을 앞에 배치했습니다.
C++ RTTI 기본기에서 시작해 custom RTTI와 Unreal reflection까지 연결해서 이해할 수 있게 정리한 시리즈 허브입니다.
C++ 메모리 구조, allocator, memory pool, placement new를 시리즈 흐름으로 읽을 수 있게 정리한 허브 글입니다.
스택/힙, cache miss, AoS/SoA, ECS까지 게임 개발자 관점의 메모리 구조 글을 한데 모은 시리즈입니다.
Unity 개발 경험을 바탕으로 C++ 게임 엔진 공부가 왜 도움이 되는지, 어떤 순서로 보면 좋은지 안내하는 글입니다.
AI 시대에 게임 개발자가 왜 엔진 구조와 C++를 다시 공부해야 하는지, 성장 방향을 정리한 글입니다.
Unity 실전 RPG 개발과 학습 자료를 찾는 방문자를 위해 책 소개와 실습 방향을 묶는 진입점 글입니다.
C++ RTTI 기본기에서 시작해 custom RTTI와 Unreal reflection까지 연결해서 이해할 수 있게 정리한 시리즈 허브입니다.
게임 개발에서 스택과 힙을 아는 게 중요할까요? 개발을 처음 공부하시는 분들은 스택과 힙을 아는 게 그렇게 중요할까? 그냥 적절하게 변수를 생성하고, 생성한 변수를 다루는 함수를 잘 작성해서 기능을…
게임 개발에서 스택과 힙을 아는 게 중요할까요? 개발을 처음 공부하시는 분들은 스택과 힙을 아는 게 그렇게 중요할까? 그냥 적절하게 변수를 생성하고, 생성한 변수를 다루는 함수를 잘 작성해서 기능을…
게임 개발에서 스택과 힙을 아는 게 중요할까요? 개발을 처음 공부하시는 분들은 스택과 힙을 아는 게 그렇게 중요할까? 그냥 적절하게 변수를 생성하고, 생성한 변수를 다루는 함수를 잘 작성해서 기능을…
게임 개발에서 스택과 힙을 아는 게 중요할까요? 개발을 처음 공부하시는 분들은 스택과 힙을 아는 게 그렇게 중요할까? 그냥 적절하게 변수를 생성하고, 생성한 변수를 다루는 함수를 잘 작성해서 기능을…
C++ 메모리 구조, allocator, memory pool, placement new를 시리즈 흐름으로 읽을 수 있게 정리한 허브 글입니다.
게임 개발에서 스택과 힙을 아는 게 중요할까요? 개발을 처음 공부하시는 분들은 스택과 힙을 아는 게 그렇게 중요할까? 그냥 적절하게 변수를 생성하고, 생성한 변수를 다루는 함수를 잘 작성해서 기능을…
게임 개발에서 스택과 힙을 아는 게 중요할까요? 개발을 처음 공부하시는 분들은 스택과 힙을 아는 게 그렇게 중요할까? 그냥 적절하게 변수를 생성하고, 생성한 변수를 다루는 함수를 잘 작성해서 기능을…
게임 개발에서 스택과 힙을 아는 게 중요할까요? 개발을 처음 공부하시는 분들은 스택과 힙을 아는 게 그렇게 중요할까? 그냥 적절하게 변수를 생성하고, 생성한 변수를 다루는 함수를 잘 작성해서 기능을…
게임 개발에서 스택과 힙을 아는 게 중요할까요? 개발을 처음 공부하시는 분들은 스택과 힙을 아는 게 그렇게 중요할까? 그냥 적절하게 변수를 생성하고, 생성한 변수를 다루는 함수를 잘 작성해서 기능을…
스택/힙, cache miss, AoS/SoA, ECS까지 게임 개발자 관점의 메모리 구조 글을 한데 모은 시리즈입니다.
게임 개발에서 스택과 힙을 아는 게 중요할까요? 개발을 처음 공부하시는 분들은 스택과 힙을 아는 게 그렇게 중요할까? 그냥 적절하게 변수를 생성하고, 생성한 변수를 다루는 함수를 잘 작성해서 기능을…
게임 개발에서 스택과 힙을 아는 게 중요할까요? 개발을 처음 공부하시는 분들은 스택과 힙을 아는 게 그렇게 중요할까? 그냥 적절하게 변수를 생성하고, 생성한 변수를 다루는 함수를 잘 작성해서 기능을…
게임 개발에서 스택과 힙을 아는 게 중요할까요? 개발을 처음 공부하시는 분들은 스택과 힙을 아는 게 그렇게 중요할까? 그냥 적절하게 변수를 생성하고, 생성한 변수를 다루는 함수를 잘 작성해서 기능을…
게임 개발에서 스택과 힙을 아는 게 중요할까요? 개발을 처음 공부하시는 분들은 스택과 힙을 아는 게 그렇게 중요할까? 그냥 적절하게 변수를 생성하고, 생성한 변수를 다루는 함수를 잘 작성해서 기능을…
Unity 개발 경험을 바탕으로 C++ 게임 엔진 공부가 왜 도움이 되는지, 어떤 순서로 보면 좋은지 안내하는 글입니다.
게임 개발에서 스택과 힙을 아는 게 중요할까요? 개발을 처음 공부하시는 분들은 스택과 힙을 아는 게 그렇게 중요할까? 그냥 적절하게 변수를 생성하고, 생성한 변수를 다루는 함수를 잘 작성해서 기능을…
게임 개발에서 스택과 힙을 아는 게 중요할까요? 개발을 처음 공부하시는 분들은 스택과 힙을 아는 게 그렇게 중요할까? 그냥 적절하게 변수를 생성하고, 생성한 변수를 다루는 함수를 잘 작성해서 기능을…
게임 개발에서 스택과 힙을 아는 게 중요할까요? 개발을 처음 공부하시는 분들은 스택과 힙을 아는 게 그렇게 중요할까? 그냥 적절하게 변수를 생성하고, 생성한 변수를 다루는 함수를 잘 작성해서 기능을…
게임 개발에서 스택과 힙을 아는 게 중요할까요? 개발을 처음 공부하시는 분들은 스택과 힙을 아는 게 그렇게 중요할까? 그냥 적절하게 변수를 생성하고, 생성한 변수를 다루는 함수를 잘 작성해서 기능을…
최근 포스팅을 시간순으로 확인할 수 있습니다.
Unity 개발자가 C++ 게임 엔진 구조를 공부하면서 게임 루프, 객체 관리, 메모리 구조를 더 깊게 이해하는 과정을 표현한 이미지Unity를 활용해 게임을 개발하면 초반에는 대부분의 기능을 빠르게 구현할 수…
게임 엔진을 공부하다 보면 생각보다 많은 문제들이 결국 메모리 구조로 연결된다는 것을 알게됩니다. 왜 최근 엔진들이 ECS 구조에 관심을 가지는지, 왜 allocator를 직접 구현하는지, 왜 Cache Locality가 중요한지,…
들어가며 C++에서 메모리 관리는 단순히 new와 delete를 사용하는 수준에서 끝나지 않습니다. 특히 게임 엔진이나 고성능 시스템을 직접 구현하다 보면 메모리를 언제 확보하고, 객체를 언제 생성하며, 이미 확보한 메모리를…
dynamic_cast를 왜 써야 하는지, RTTI 개념부터 typeid 활용까지 한 번에 정리했습니다. 👉 잘못된 캐스팅으로 인한 버그, RTTI로 안전하게 해결할 수 있습니다. C++로 게임이나 엔진을 개발하다 보면 이런…
예제 코드 깃허브 링크 🚀 들어가며 👉 이 시리즈는 RTTI 개념에서 시작해 엔진 구조까지 단계적으로 확장됩니다. C++에서 타입을 다루는 방법은 단순한 문법 이상의 의미를 가집니다. dynamic_cast로 시작해서👉…
AI 시대에는 단순히 코드를 사용하는 능력보다, 코드와 시스템의 동작 원리를 이해하고 활용하는 능력이 더 중요해지고 있습니다. 유니티나 언리얼 같은 상용 게임 엔진을 사용하는 게임 개발자 역시, 엔진의…
안녕하세요, 장세윤입니다. 유니티 RPG 게임 개발을 주제로 한 책을 출간했습니다. 책 이름은 [유니티 엔진 개발자가 알려주는] 유니티를 활용한 RPG 게임 개발입니다. 이 책은 그동안 진행해 온 RPG 제작…
이번에는 배열에 대한 이야기를 해보려고 합니다. 자료구조를 공부하다 보면 배열은 가장 먼저 배우는 자료구조입니다. 그래서인지 배열을 너무 단순하게 생각하는 경우가 많습니다. 같은 타입의 데이터를 여러 개 저장하는 공간이고,…
자료구조를 공부할 때는 보통 시간 복잡도(Big-O)를 중심으로 배우게 됩니다. 그래서 linked list는 삽입/삭제가 빠르고, vector는 중간 삽입이 느리다고 배웁니다. 그리고 게임 엔진은 linked list 같은 구조를 굉장히 많이…
최근에 ECS라는 키워드를 굉장히 자주 듣습니다. Unity DOTS, Unreal Mass, Data Oriented Design 같은 키워드들을 살펴 보면 거의 반드시 등장합니다. 대표적인 상용 엔진들은 컴포넌트 기반(Component Based)으로 게임 객체를…
지금까지 메모리 구조와 관련해서 Stack과 Heap, Cache Miss, allocator, placement new, Object Pool에 대해 살펴봤습니다. 이 내용들을 하나씩 따로 보면 서로 다른 주제처럼 느껴질 수도 있습니다. 스택과 힙은…
게임이나 프로그램을 개발하다보면 동적으로 메모리가 필요할 때가 있습니다. 이때 보통은 객체가 필요하면 생성하고, 필요 없어지면 제거하면 된다고 생각하게 됩니다. 이렇게 필요할 때 new로 필요한 메모리를 할당하고, 모두 사용한…
이번에는 placement new라는 문법에 대해 살펴보려고 합니다. placement new는 일반적으로 사용하는 new와 문법에서 다소 차이가 있습니다. 사용 방법은 아래와 같습니다. new (memory) Actor(); new와 타입 사이에 메모리 주소가…
게임 개발을 하거나 게임 개발 공부를 하다보면, 힙에서 사용할 객체를 생성할 때 자연스럽게 new를 사용하게 됩니다. 사전에 객체 생성 시점을 정확하게 예측하기 어렵고, 언제 해제될지도 명확하지 않은 상황이라면…
자료구조를 처음 공부할 때는 보통 시간 복잡도(Big-O)를 중심으로 배우게 됩니다. 그래서 연결 리스트(linked list)는 삽입/삭제가 빠르고, 동적 배열(vector)은 중간 삽입이 느리다고 배우게 됩니다. 저도 처음에는 게임 엔진에서도 연결…