2026-05-01 TIL (49일차)
Jira (Scrum 기준) 1. 백로그 (Backlog) 개념: 프로젝트에서 앞으로 해야 할 모든 작업(이슈, 버그, 새 기능 등)이 쌓여 있는 대기열입니다. 사용법: 팀원 누구나 아이디어나 요구사항을 티켓(이슈)으로 생성해 백로그에 등록할 수 있습니다. 보통 우선순위가 높은 항목을 위로 드래그하여 정렬해 둡니다. 2....
Jira (Scrum 기준) 1. 백로그 (Backlog) 개념: 프로젝트에서 앞으로 해야 할 모든 작업(이슈, 버그, 새 기능 등)이 쌓여 있는 대기열입니다. 사용법: 팀원 누구나 아이디어나 요구사항을 티켓(이슈)으로 생성해 백로그에 등록할 수 있습니다. 보통 우선순위가 높은 항목을 위로 드래그하여 정렬해 둡니다. 2....
Trace와 DamageType 과제 강의 복습 콜리전 정리 언리얼 엔진에서 콜리전(충돌)은 크게 두 가지 완전히 다른 시스템으로 나뉘어 돌아갑니다. 쿼리 (Query - 감지/탐색) 역할: 물리적인 실체라기보다는 ‘센서’나 ‘스캐너’에 가깝습니다. 하는 일: 엔진이 공간을 향해 “이 선(레이저)에 닿는 거 있어?”, “이 구역(박...
알고리즘 분할 정복과 재귀란? 분할 정복: 말 그대로 엄청나게 크고 복잡한 문제를, 해결할 수 있을 만큼 아주 작은 단위로 쪼개어(Divide) 해결(Conquer)한 뒤, 그 결과들을 다시 합치는(Combine) 알고리즘 설계 기법입니다. (예: 병합 정렬) 재귀와의 관계: 문제를 쪼개다 보면 “크기만 작아졌지, 결국 똑같은 성질의 문제”...
타이머 매니저(TimerManager)의 원리와 디버프 해제 로직 드론이 슬로우 디버프에 걸렸을 때, 시간이 다 되면 호출되는 해제 함수 코드를 보면 단순히 bIsSlowed = false;로 스위치만 끄고 있습니다. void AWeek3Drone::ClearSlow() { bIsSlowed = false; } 이 코드를 보면 “상...
프로그래밍 팁: “당장 구현”에서 “설계”로 넘어가기 부모 클래스(Inheritance) vs 인터페이스(Interface) 부모 클래스 (Is-A): “아이템은 물리 액터다”처럼 공통된 속성과 기능을 물려줄 때 사용합니다. (예: 모든 아이템은 이름을 가지고 있고, 바닥에 놓일 수 있다.) 인터페이스 (Can-Do): “이 물체는 상호작용...
객체 지향 설계피해야 할 구조 코드를 짤 때 “돌아가기만 하면 된다”는 마인드는 프로젝트가 커질수록 유지보수를 지옥으로 만듭니다. 피해야 할 3가지 대표적인 안티 패턴입니다. 1) 뒤엉킨 변경 정의: 하나의 클래스가 여러 가지 이유로 계속 수정되어야 하는 상태입니다. (단일 책임 원칙 위배) 해결: 데이터 관리 로직과 게임플레이 로직을 각...
언리얼 코어 아키텍처 1. 블루프린트(BP)와 C++ 클래스의 관계 블루프린트는 C++ 클래스의 확장 버전입니다. * 프로그래머가 C++로 게임의 뼈대와 복잡한 로직을 클래스(Class)로 만들어두면, 아티스트나 기획자가 이를 상속받아 블루프린트(BP)로 확장합니다. 기획자는 코드를 몰라도 블루프린트 에디터에서 수치를 조정하고 에셋을 교체하...
Unreal 게임 플로우 설계와 데이터 관리 아키텍처 게임 플로우(Game Flow)란 플레이어가 게임을 시작하고, 진행하며, 클리어(또는 게임 오버)하기까지의 모든 규칙과 흐름을 의미합니다. 언리얼 엔진에서는 이 흐름을 어디에 구현하느냐가 프로젝트의 안정성과 직결됩니다. 1. 게임 흐름을 어디에 구현할까? (아키텍처 설계) 작성하신 대로 G...
Unreal 아이템 시스템 구현 설계: 상속과 인터페이스의 활용 • 상속 vs 인터페이스 상속 “부모의 유산을 물려받는 것” 부모 클래스(Base Class)가 가진 속성(변수)과 기능(함수)을 자식 클래스가 그대로 물려받아 사용하는 개념입니다. (예: AActor를 상속받으면 트랜스폼, 충돌, 렌더링 기능을 물려받음)...
알고리즘 참고 강의: 알고리즘 강의 정렬 알고리즘 정렬이란 데이터를 특정한 기준에 따라 순서대로 나열하는 것을 말합니다. 일반적인 문제 상황에 따라서 적절한 정렬 알고리즘이 공식처럼 사용됩니다. • 선택 정렬 처리되지 않은 데이터 중에서 가장 작은 데이터를 선택해 맨 앞에 있는 데이터와 바꾸는 것을 반복합니다. 시간 복잡도 ...