내일배움캠프 우수 TIL | Unreal 언리얼 게임 개발 8기 8월 1주차
내일배움캠프 수강생들은 매일 그날 배운 것을 정리하는 TIL(Today I Learned)을 블로그에 업로드합니다. TIL은 자신의 역량을 객관적으로 파악할 수 있음은 물론, 취업할 때 성실함을 증명하는 수단이 되죠.
내일배움캠프의 수강생들은 TIL을 어떤 방법으로 작성하고 있을까요? 내일배움캠프 수강생들의 우수 TIL을 발표합니다.
양윤성
✍🏻 양윤성님의 블로그
🧑🏻💻 선정 이유
읽으면서 가장 좋았던 점은 구현보다 설계 기준을 먼저 설명했다는 부분이었습니다.
쓰레기통 기능 하나를 만들면서도 물리 충돌, 내용물 판정, Gameplay Tag, 서버 권한 처리까지 각각의 역할을 명확하게 분리한 이유를 순서대로 설명해 글의 흐름이 매우 자연스러웠습니다.
특히 Gameplay Tag를 단순 식별 용도가 아니라 획득 방식과 보관 규칙을 독립적으로 관리하기 위한 설계 요소로 활용한 부분은 확장성까지 고려한 접근이라는 점에서 인상 깊었습니다.
또한 오버랩 이벤트가 여러 번 발생할 수 있는 상황을 고려해 단순 카운트 방식 대신 현재 상태를 다시 계산하는 구조를 선택한 이유, TSet과 TWeakObjectPtr를 활용해 안정성을 높인 부분 등은 실제 프로젝트에서 발생할 수 있는 문제를 미리 고려한 흔적이 잘 드러났습니다.
기능 구현 과정을 나열하기보다 선택한 구조의 이유와 장점을 함께 설명해 다른 사람이 읽어도 그대로 참고할 수 있는 자료가 되었고, 설계 의도를 이해하는 데 큰 도움이 되는 TIL이었습니다.
조재혁
✍🏻 조재혁님의 블로그
🧑🏻💻 선정 이유
이번 TIL은 단순히 구현 과정을 정리하는 수준을 넘어, UI와 게임플레이 시스템의 책임을 어떻게 분리해야 하는지에 대한 설계 의도까지 함께 설명한 점이 특히 돋보였습니다.
단순히 "조준선을 만들었다"가 아니라 PlayerController, CombatComponent, Weapon, ShooterReticle가 각각 어떤 역할을 가져야 유지보수가 쉬워지는지 흐름을 단계적으로 풀어냈고, Pawn 교체나 무기 복제 지연처럼 실제 멀티플레이에서 자주 발생하는 문제까지 함께 고려한 점에서 깊이 있는 고민이 느껴졌습니다.
또한 Dynamic Material Instance를 사용하는 이유, UI가 무기 종류를 직접 알지 않도록 설계를 분리한 이유, ReticleParams를 데이터 구조로 만들어 확장성을 확보한 이유 등 구현 결과보다 선택의 근거를 중심으로 설명해 읽는 사람이 자연스럽게 설계 방향을 이해할 수 있도록 작성했습니다.
마지막에는 각 클래스가 어떤 책임을 가지는지 전체 구조를 다시 정리해 개별 기능이 하나의 시스템으로 연결되는 모습까지 보여주어, 단편적인 기능 구현이 아닌 아키텍처 관점에서 학습 내용을 정리한 점이 매우 인상적이었습니다.
이러한 점 때문에 다른 수강생들이 참고하기에도 좋은 TIL이라고 판단되어 우수 TIL로 선정했습니다.
여러분의 결심이 결실을 맺을 때까지 내일배움캠프가 함께합니다.
내일배움캠프는 단순히 지식을 쌓는 곳이 아닙니다. 성장할 수 있는 토대를 마련하는 장이죠. TIL과 같은 아주 작은 습관부터 끝까지 나를 믿고 해내는 끈기까지. 누구나 꿈에 가닿을 수 있도록 가장 안전하고 튼튼한 계단을 놓아드립니다.
오직 성장에만 몰입할 수 있는 환경, 가장 효율적으로 역량을 키울 수 있게 지도하는 튜터진, 매니저의 꼼꼼한 멘탈 관리까지 체계적인 관리 시스템이 준비되어 있습니다.
내일배움캠프와 함께 인생에서 가장 성장하는 시간을 만들어 보세요.