Unreal 개발 사전캠프 1일차 -소감- 오늘은 OT시간을 가졌다. 팀원분들과 팀 노션에 참가하게 되었다. Slack 프로필 설정 및 자기소개 멤버 카드를 노션에 작성하였다. 개발 관련 부트 캠프에 처음 참가하다 보니 설레기도 하고 잘할 수 있을까라는 걱정도 들었다. 열심히 해서 프로젝트를 성공적으로 끝내고 싶다. 사전캠프 퀘스트 1. 게임 개발자...

0\. 튜터님 질의응답 시간궁금한 기술적인 부분들?엔진 버전 -> 전 기수:5.55.5 혹은 5.6 쓸 예정5.7 애니메이션 리팔렛팅 기능이 잘 되어 있어서 고민 중5.6 이 안정 버전이어서 이걸로visual studio 버전은 2022로 사용라이더 사용도 괜찮음강의는
오늘 학습 진행 내용C++ 강의1-3 코딩 테스트 이해하기코딩 테스트의 의미제한 시간 내 주어진 문제 프로그래밍 언어 활용해서 푸는 시험푸는 과정을 체계화되는 것이 중요함(시험 중 고민 시간이 늘어나게 됨)일주일에 한번 정도는 실전 동일 환경에서 테스트효율성이 중요함(
언리얼 사전캠프 4일차오늘 학습 진행 내용C++강의2-1. 알고리즘 효율성빅오 표기법의 개념알고리즘의 목적은 대규모 입력값이 들어오는 문제를 효율적으로 해결하는 것알고리즘 성능 측정 방식절대 시간 측정입력값 들어온 시간부터 최종 반환 시점까지 경과 시간 측정PC의 성능

언리얼 사전캠프 4일차오늘 학습 진행 내용언리얼 강의1-10.블루 프린트 연산 (1)1-11.블루 프린트 연산 (2)언리얼 튜터 특강부트캠프 목표언리얼 개발 역량을 심어주는 것이 목표엔진 중에서는 탑티어 엔진언리얼 개발자가 대체 어떠한 일들을 하는지에 대해서언리얼 개발

오늘 학습 진행 내용2-1. 액터 움직이기액터 이동을 위한 블루프린트 클래스 생성하기새 블루 프린트 클래스 생성컨텐츠 브라우저 -> 블루프린트 클래스(Actor)로 생성Static Mesh 컴포넌트 설정블루프린트 내 컴포넌트 탭에서 -> Stataic Mesh 컴포넌트
오늘 학습 진행 내용 2-3 콜리전 콜리전은 액터가 서로 부딪히고 캐릭터가 벽을 만나서 막히는 등의 물리적 상호작용 오버랩 충돌 이벤트 이런 교차와 충돌을 결정해주는 핵심 시스템이 콜리전 콜리전 채널 오브젝트 채널과 트레이스 채널 기반으로 동작 채널은 오버랩(Overlap), 블록(Block), 무시(Ignore) 중 하나로 설정돼, 서로 마주쳤을 때 어...

오늘 학습 진행 내용2-6. 환경 디자인 - 머티리얼 애니메이션머티리얼 애니메이션블루프린트뿐만 아니라 머티리얼만을 활용해서 애니메이션 제작 가능.빌딩 옥상에 존재하는 항공 장애등 제작 사인 그래프사인그래프를 활용해서 머티리얼에 반짝이는 효과를 줄 수 있음기본적으로 y=

오늘 학습 내용C++2-5. 효율적인 코드 구현하기동작은 비슷해 보이지만 성능 차이가 심해 시간 복잡도에 영향 미치는 케이스 정리벡터 VS 덱벡터는 사용하는 관점에서는 둘다 임의 접근이 가능한 컨테이너하지만 둘의 내부 완전히 다름벡터의 메모리 전략벡터는 배열과 동일하게
오늘 학습 진행 내용 C++ 3-1. 재귀함수 재귀함수이해 필요한 자료 구조형 트리 순회 그래프 탐색 D-P 백트랙킹 재귀 호출 단계와 기조 조건으로 나누어 재귀를 설계하는 방법 이해, 간단한 예제를 통해서 재귀 호출 흐름 익힘 반복문과 재귀 함수의 차이(재귀가 유용한 상황) 재귀의 정의 재귀란 자기 자신을 정의하거나 호출하는 것 재귀 함수(recurs...

사전캠프 퀘스트 캐릭터 Blueprint 생성 및 이동 설정 (Part 1) 왜 중요한가요?Unreal Engine의 핵심 기능 중 하나는 캐릭터가 공간 내에서 움직이는 것을 구현하는 것입니다. 오늘 과제를 통해 캐릭터를 생성하고 입력 시스템을 연결하는 기본 구조를 익

오늘 학습 진행 내용C언어 기초 세션c언어는 프로그래밍 뿌리 언어C언어에서 파생된 언어들이 많아서 C언어 배우면 다른 언어 이해력 상승main()은 프로그램의 시작점main 함수{} 중괄호의 의미중괄호 열기 -> 여기부터 한 묶음중괄호 닫기 -> 여기까지가 묶음 끝C언

사전 캠프 퀘스트간단한 상호작용 구현 (문 열기 또는 아이템 줍기) 왜 중요한가요?상호작용은 사용자가 게임과 소통하는 핵심 수단입니다. 문을 열거나 아이템을 줍는 것처럼 단순한 기능이라도, 사용자 경험을 ‘게임답게’ 만드는 결정적인 요소입니다. 이 과제를 통해 수강생은

사전 캠프 퀘스트미니 프로젝트: 나만의 인터랙티브 공간 만들기 왜 중요한가요?지금까지 배운 기능들을 실제로 조합해보는 종합 과정을 통해, 기술의 이해를 자기 것으로 만드는 실전형 경험을 얻게 됩니다. 주어진 기능을 단순히 따라하기보다, 자신만의 기획으로 구성해보는 과정
오늘 학습 진행 내용C++ 강의3-3 정렬정렬이란?사용자가 정의한 순서대로 데이터를 나열사용자가 정의한 순서는 오름차순 또는 내림차순 혹은 임의로 정한 조건 가능정렬을 하는 이유1\. 원하는 값을 빨리 찾을 수 있어서중앙값이나 최대값이 필요한 경우 데이터 정렬된 상태면
조별 내부 팀 미니프로젝트 나만의 공간 만들기 발표이번 조별 내부 팀 미니프로젝트에서는 각 조원이 제작한 ‘나만의 공간 만들기’ 결과물을 공유하며 구현 과정과 주요 기능을 소개하는 시간을 가졌다. 발표를 통해 서로의 작업물을 비교해보고, 구현 방식에 대해 질의응답을 진

오늘 학습 진행 내용OT8개월간 진행(09:00~21:00)커리큘럼 구성블루프린트 학습 주차언리얼 블루프린트로 게임 개발 입문언리얼 엔진 통합 개발 환경 세팅 및 기본 인터페이스 익히기게임 개발을 위한 기초적인 프로그래밍 개념 학습(변수, 조건문, 반복문 등)Unrea

오늘 학습 진행 내용라이브 세션DAY 2 게임 개발 과정에 대해 알아보고 언리얼 엔진과 놀아보기!게임 개발 과정 간접 체험해보기영화가 감독, 배우, 촬영감독, 음향감독 등 수많은 전문가가 손을 거쳐 만들어지는 것처럼, 게임 개발에도 다양한 능력을 가진 사람들이 모여 협

오늘 학습 진행 내용언리얼 강의라이브 세션DAY 3 블루프린트를 이용한 비주얼 스크립팅블루 프린트가 무엇인지 배우고, 변수,이벤트 함수에 대해 배워본다.Branch,Sequence, 함수에 대해 배워보고 이를 이용하여 간단한 과제 진행While, For, Array,

오늘 학습 진행 내용언리얼 강의라이브 세션DAY 4 플레이어 캐릭터와 나만의 레벨 디자인블루프린트로 캐릭터를 세팅하는 법을 이해향상된 입력 시스템을 통해 보다 직관적인 입력 기능을 적용캐릭터의 이동 구현에 필요한 핵심 노드를 학습레벨디자인이란?레벨 디자인은 게임 속에서

오늘 학습 진행 내용언리얼 강의라이브 세션DAY 5 블렌더 스페이스와 움직이는 액터블레드 스페이스를 사용하여 자연스럽게 애니메이션을 연결블루프린트를 사용하여 동적인 액터를 구현캐릭터 애니메이션애니메이션을 추가하기 위해서는 애니메이션 블루프린트 생성해당 캐릭터가 갖고 있
오늘 학습 진행 내용게임 개발자를 위한 C++ 문법챕터 1-1. 프로그래밍 기초 (1)세상에서 가장 간단한 프로그램Hello, World 출력이미 많은 기능이 라이브러리로 구현, 이걸 사용하기 위해서는 구현된 헤더 파일을 코드에 포함C++ 표준 라이브러리의 입출력 기능
오늘 학습 진행 내용 라이브 세션 CH2 과제 발제 1번 과제 상태창 구현 프로그래밍 기본 요소에 대해서 학습 변수, 배열, 함수, 조건문, 반복문 학습과제 목표 C++ 기본 문법 이해 배열과 함수 사용하여 데이터 처리 사용자 입력 받아 출력하는 간단한 프로그램 설
오늘 학습 진행 내용게임 개발자를 위한 C++ 문법챕터1-4 : 포인터와 레퍼런스포인터 변수의 연산포인터의 모든 연산은 주소값과 관련변수의 주소값을 담을 수 있음담고 있는 주소값에 해당하는 메모리에 있는 값을 읽거나 수정 가능메모리에 변수는 3개로 존재하고 x는 정수형
오늘 학습 진행 내용게임 개발자를 위한 C++ 문법챕터1-6 : 객체지향 프로그래밍CH2 학습 가이드미니 실습옛날 컴퓨터는 부팅할 때 autoexec.bat을 무조건 실행했어요.저는 이걸 이용해서, 초등학교때 친구 몰래 이걸 수정해서 장난을 쳤었어요.“ 삐빅! 당신의
오늘 학습 진행 내용게임 개발자를 위한 C++ 문법1-7 1주차 숙제핸드폰 정보 출력 프로그램다형성과 상속의 개념을 이해하고, 반복문을 활용하여 다양한 핸드폰 브랜드와 그 특징을 출력하는 프로그램을 작성하세요.메인함수 실행시 아래와 같이 출력 되어야 합니다.Samsun
오늘 학습 진행 내용 라이브 세션 알고리즘 강의 게임 개발자를 위한 C++ 문법 챕터2-1.자원 관리하기 스택 메모리 일반 변수들은 대부분 스택 메모리 공간을 차지 스택 메모리의 가장 큰 특징은 변수의 생존 주기가 끝나면 선언 시 할당되었던 메모리가 자동으로 히수 변
오늘 학습 진행 내용라이브 세션알고리즘 강의2포인터 및 참조자에 대하여메모리는 컴퓨터가 프로그램을 실행하는 동안 데이터를 저장하는 커다란 보관함메모리 주소 실제 컴퓨터 메모리에 있는 아주 많은 연속된 작은 저장칸에 기본적인 단위정보(1바이트)를 담고 이 칸 하나하나가
오늘 학습 진행 내용 게임 개발자를 위한 C++문법 챕터2-3 : STL 기초-2 알고리즘 STL은 다양한 컨테이너와 독립적으로 동작하는 범용 알고리즘을 제공 특정 원소 값을 찾거나, 정렬을 하는 등의 기능을 표준 라이브러리에서 바로 사용 가능 특정 컨테이너의 내부 구현을 몰라도 동일한 방식으로 알고리즘을 적용 가능 sort 컨테이너 내부의 데이터를 정렬...

필수 기능 가이드Player라는 기본 클래스를 정의 합니다.Player 클래스에는 attack()이라는 순수 가상 함수를 포함합니다.attack() 함수는 무기를 휘두르기만 하는 기본적인 공격 함수입니다.Player 클래스를 상속받아 다양한 직업 클래스를 생성합니다.예

오늘의 학습 진행 내용템플릿을 활용하여 Vector 구현하기필수 기능 가이드Inventory<T> 클래스 구현Item 뿐만 아니라, Weapon, Potion 등 어떤 타입의 객체든 저장할 수 있도록 템플릿 클래스로 작성합니다.클래스 이름: Inventory템플릿
차주부터 알고리즘 코드카타9시부터 10시까지 프로그래머스 사이트 기반으로 문제들 풀어보는 시간진도는 본인이 체크다음주부터 문제 해석하는 연습1) 뼈대를 생각(solution이 되는)2) 뼈대를 직접 작성3) 작성한 뼈대에 로직을 하나씩 작성(로직 한번에 생각하는 행위는
프로그램 수행 성능을 최악의 경우를 가정하여 정량화하는 것코딩테스트 기준첫 난이도 하 --> 일단 해결이 중요중, 상 난이도 -> 수행 속도가 중요코드가 정답인지 판단할 수 있는 테스트 케이스Input 조절을 통해서 시스템 부하 성능 테스트 중요알고리즘 유용한지 판단하

디자인 패턴이란 개발 시 반복적으로 등장하는 문제를 해결하기 위한 일반화된 솔루션클래스 구조 + 객체 관계 + 책임 분리 방법유지 보수성, 확장성, 재사용성을 높이기 위한 설계 도구패턴의 종류는 아래와 같이 구성생성 패턴(Creational Patterns)새로운 것을
오늘 학습 진행 내용 C++ 레벨 테스트 대비 개념 정리

언리얼 엔진 프로젝트에서 C++ 기반 프로젝트 생성권장사항 : 프로젝트 에디터 내 라이브 코딩 활성화 해지Visual Studio와 충돌해서 에러 발생시키는 경우 존재실행 결과로그 콘솔창에 다음과 같이 출력실행 결과UE_LOG는 3가지로 구성1\. 카테고리 로그의 카테
개념: while문의 기본 구조와 증감식(i++) 위치에 따른 결과 차이를 익힙니다.i가 0부터 시작하여 i < 5인 동안"안녕하세요"를 출력하는 코드를 쓰세요.i가 0부터 시작하여 i < 10인 동안현재 i의 값을 출력하고 1씩 증가시키는 코드를 쓰세요.i
포인터 관련 부분 활용 실습 반복 타이핑 개념 복습 진행발제 설명여러분들은 팀원분들과 텍스트 기반의 콘솔 RPG 게임을 제작합니다.CH2 게임 개발자를 위한 C++ 문법 과정에서 익힌 내용을 바탕으로 개발합니다.플레이몬스터와 전투를 할 수 있습니다.상점을 이용할 수 있

배경코드월드에는 수많은 몬스터들이 존재한다. 이들은 프로그래밍의 지식을 흩트려 놓고, 혼돈을 만든다. 용감한 플레이어인 너는 “코드 마스터”가 되어 몬스터들을 물리치고, 각 라운드의 보스를 쓰러트려야 한다.페이즈 1: 변수의 숲몬스터 등장: 변수, 상수, 자료형, 초기
📘 TIL – C++ 콘솔 RPG 아이템·인벤토리 구조 리팩터링 (SOLID 기반)오늘은 C++ 텍스트 콘솔 RPG 프로젝트에서아이템, 인벤토리, 캐릭터, 효과 처리 구조를 전반적으로 정리하고 리팩터링했다.단순 구현이 아니라, SOLID 원칙을 최대한 지키는 구조를
오늘은 콘솔 RPG 프로젝트에서 아이템 시스템 전반을 구조적으로 정리하는 데 집중했다.실제 UI와 상점 기능을 바로 구현하기보다는,데이터 기반 아이템 관리 + 안전한 Shop–Inventory 연결 구조를 먼저 설계하는 것이 목표였다.1️⃣ 오늘 작업의 핵심 요약아이템
데이터 기반(monster_drops.dat) 몬스터 드랍 시스템 구조 정리기존 전투 / 상점 / 인벤토리 로직 최대한 유지SOLID 원칙을 지키는 책임 분리콘솔 UI를 Grid 기반 ASCII UI로 통합UTF-8(한글) 환경에서도 UI 정렬 안정화monster_dr
CH2: 팀 프로젝트 텍스트 콘솔 RPG
Keep도전,필수 외에 추가 구현 아이디어 시도한 것일부 클래스에 책임 가중되는 것들 분리해서 관리 시도한 것데이터 파일로 분리해서 코드 수정 없이 변경 가능하게 한 점Problem초기 설계한 기능 위주 구현으로 중복 코드 발생기능 구현 시 다른 클래스들과 자주 연동
언리얼 C++ 프로젝트에서 Visual Studio 2022에서 디버그 할 시 옵션 선택으로 빌드 구성 선택할 수 있다.DebugGame게임 로직만 디버그 정보를 포함하고, 엔진은 최적화된 상태로 빌드합니다.언리얼 에디터 없이, 독립된 실행 파일 환경에서 게임 로직을

언리얼 엔진의 리플렉션 시스템은 C++ 클래스의 변수 및 함수 정보를 엔진 내부의 메타데이터 형태로 저장하고, 이를 에디터나 블루프린트에서 활용할 수 있게 만들어주는 기술\*\*\` - 언리얼 엔진이 자동 생성하는 헤더 파일로, 클래스의 리플렉션 및 엔진 통합에

GameMode언리얼에서 제공하는 멀티플레이 기능 (세션, 플레이어 연결 로직 등)을 일부 포함하고 있으며, 싱글 플레이에서도 문제없이 사용GameMode는 게임의 전반적인 규칙과 흐름을 총괄 관리하는, 일종의 컨트롤 타워 역할을 하는 클래스C++ 클래스에서 GameM

캐릭터 클래스에서 입력 액션 연결1\. PlayerController는 SpartaInputMappingContext(IMC)를 활성화합니다.2\. 해당 IMC에는 IA_Move, IA_Jump 등의 UInputAction들이 키보드/마우스와 맵핑되어 있습니다.3\.
장애물 인터페이스 기반 상속 클래스로 설계해당 구조로 설계1차적으로 구조 설계 이후 내부 기능들 구현 및 나머지 요구사항 구현각각 StaticMeshComponent를 가지며, 맵에 배치 가능한 형태여야 합니다.두 클래스는 서로 다른 동작 로직을 수행해야 합니다.회전
📌 작업 개요이번 과제에서는 회전 발판과 움직이는 장애물을 단순히 “동작만 구현”하는 방식이 아니라,확장성과 유지보수를 고려한 구조 설계를 목표로 작업을 진행했다.장애물마다 동작 방식은 다르지만,이동회전스폰충돌 처리와 같은 공통 개념은 동일하다고 판단했고,이를 인터페
오늘 학습 진행 내용 [6번 과제] 회전 발판과 움직이는 장애물 📘 TIL – 장애물 시스템 확장 (이동 / 회전 / 랜덤 스폰 구조) 📌 오늘의 목표 장애물을 인터페이스 기반 구조로 설계하고 확장성 있게 구현 Tick 기반 이동·회전 로직을 완성 Timer + 랜덤 요소를 활용한 고급 장애물 패턴 구현 필수 과제 + 도전 과제 요구사항 충족 여...
📘 TIL – 회전 발판 & 이동 장애물 구현 (PatrolObstacle) 📌 과제 정보 과제 번호: 6번 주제: 회전 발판과 움직이는 장애물 핵심 키워드: Tick 기반 이동, DeltaTime 프레임 독립, Overlap 반응, SpawnBounds 🎯 오늘의 목표 필수 요구사항 Tick 기반 이동 / 회전 구현 DeltaTime을 사용한 ...
📘 TIL FallingObstacle (Timer + Physics) RotatingLaunchObstacle SpawnVolume 랜덤 스폰 / 중복 방지 / 디버깅 🎯 오늘의 목표 도전 과제 Tick 없이 Timer 기반 동작 낙하 시작 지연 제거
📘 TIL – Pawn 직접 이동 & 드론 시스템 총정리 (CharacterMovement 없이) Enhanced Input · Possess 전환 · 6DOF · 인공중력(접지) · 애니메이션 토글 디버깅 목표: CharacterMovementComponent 없이 APawn에서 직접 이동/회전을 구현하고, Enhanced Input(IMC/IA)으...
신호등과 자판기가 스테이트 머신인 이유?상태를 가져서(신호, 동전 없음, 동전 있음, 음료수 배출 등)상태를 변화 시킬 수 있는 입력->트랜지션->출력 구조 형태가 있어야 됨게임에서는상호작용 대상(예: 문, 아이템) 같은 입력에 대해서 여러 가지의 상태를 결과로 출력될
📌문자열 탐색 문제 디버깅 & 성능 개선🔍 문제 상황keymap과 targets가 주어졌을 때,각 target 문자열을 만들기 위해 필요한 최소 키 입력 횟수를 구하는 문제를 풀이했다.초기 접근은:target의 각 문자마다keymap 전체를 순회하며 find()로
📘 TIL - 코드카타 “둘만의 암호" 문제 풀이 ✅ 문제 요약 문자열 s의 각 문자를 skip에 포함된 문자를 건너뛰면서 index칸 뒤로 민다. z를 넘으면 a로 순환한다. skip의 알파벳은 “카운트에서 제외”해야 한다. 예) s="aukks", ski
재료 배열 ingredient가 주어짐1, 2, 3, 1 순서가 연속으로 등장하면 햄버거 1개 완성햄버거를 만들면 해당 4개의 재료는 제거최종적으로 만들 수 있는 햄버거 개수 구하기❌ 1차 시도: 인덱스 기반 + erase 방식초기 코드🚨 문제점 분석 (디버깅 포인트
오늘은 카카오 성격 유형 검사 문제를 풀고,“이미 통과한 코드인데 더 깔끔하게 만들 수 있는가?”를 기준으로 리팩터링을 진행했다.이 문제는 알고리즘 자체보다👉 점수 누적 방식과 코드 구조를 얼마나 명확하게 표현했는지가 중요한 문제였다.🧩 문제 성격 정리질문 수 최대
GAS – Gameplay Effect(GE)로 값 변화 다뤄보기“Attribute 값을 직접 만지지 말고, ‘변화의 규칙’을 Gameplay Effect로 정의하자.”GAS에서 Gameplay Effect는👉 값을 바꾸는 ‘결과’가 아니라, ‘방법’을 정의하는 도구
🎯 오늘의 주제코딩테스트에서 날짜 문제를 어떻게 판단하고 접근할 것인가substr / find / stringstream 선택 기준substr에서 가장 많이 헷갈리는 포인트 정리1️⃣ 날짜 문제의 본질: 달력이 아니라 숫자다날짜 문제를 처음 보면 달력부터 떠올리기 쉽
📘 챌린지반 5일차 TIL Unreal 공격 애니메이션 시스템 정리 (ABP / Montage / Notify / Slot / Mixamo + GAS 데미지) 오늘은 “공격 버튼을 눌렀을 때 애니메이션이 자연스럽게 재생되고, 정확한 타이밍에 데미지가 들어가게 만드는 구조”를 언리얼 애니메이션 시스템 관점에서 정리했다. 결국 핵심은 상태 기반(이동/점프)...
📘 TIL – 8번 과제 해설 1. 객체 주기 일관성 & 이벤트 중심 설계 🎯 핵심 목표 객체가 언제 생성되고, 언제 사라지며, 누가 관리하는지가 명확한 구조 “누가 이 이벤트를 처리하는지 몰라도 동작하는” 구조 🔑 핵심 키워드 이벤트 시스템 메시지 시스템 델리게이트 브로드캐스트 GameMode / GameState / Subsystem ...
📘 TIL – 코딩테스트「신고 결과 받기」 1. 처음 내가 접근했던 코드 (원본) ✔️ 당시 의도 set을 사용해 중복 신고 제거 신고 정보를 한 번 모아서 조건에 맞으면 메일 발송 문제점 ❌ 1. 기준이 잘못 잡힘 (관점 오류) int reportnum = idmap[reporter].size(); 이 코드는 reporter(신고당...
📘TIL - 코딩 테스트 : 이진 변환 반복하기 문제 핵심 요약 0과 1로 이루어진 문자열 s가 "1"이 될 때까지 다음 과정을 반복하며 [이진 변환 횟수, 제거된 0의 총합]을 구하는 문제입니다. 문자열에서 모든 0을 제거합니다. 남은 문자열의 길이 c를 2진수 문자열로 변환하여 s를 교체합니다. 🚩 알고리즘 개선 과정 1. 원본 코드 (초기...
📘 TIL – 피보나치 수 1. 처음 접근: 재귀(Recursion) 방식 피보나치 수열의 정의는 그 자체로 재귀적입니다. > $F(n) = F(n-1) + F(n-2)$ (단, $n \ge 2$) 처음에는 이 정의를 그대로 코드로 옮겨 깔끔하게 구현하려 했습니다. 하지만 이 방식은 n이 커질수록 치명적인 결함을 보입니다. 2. 재귀 피보나치의 한...
📘 TIL – Unreal Engine 몬스터 AI 시스템 설계: MoveTo + Warehouse 목표 전달 구조 설계 1. 설계 원칙 및 전제 조건 몬스터 AI가 특정 목표물(창고)을 향해 이동하는 구조를 설계할 때, 가장 중요한 것은 책임의 분리. 전제: 몬스터는 플레이어를 추적하지 않고, 최종 목표인 Warehouse Actor를 향해 이동. ...
📘 TIL : Unreal Engine 몬스터 AI 설계 + 토너먼트 알고리즘 분석 🧠 오늘의 이슈 알고리즘 → 토너먼트는 “번호 문제”가 아니라 “이진 트리 구조” Unreal AI → 이동은 “경로 탐색”이 아니라 “역할 분리된 시스템 설계” 1️⃣ [Algorithm] 토너먼트 라운드 계산 문제 분석 📌 문제 요약 N명의 참가자가 토너...
📘 TIL – Monster Wave Spawner – 경로 및 스폰 위치 지정 구현 🧠 오늘의 이슈 레인 기반 스폰 위치 분리 경로 포인트 관리 체계화 Spawner와 Path 시스템 분리 몬스터 이동 초기화 안정화 1️⃣ 기존 구조의 한계 기존에는: 몬스터를 특정 위치에서 Spawn AI가 Warehouse를 향해 MoveTo NavMes...
📘 TIL – 코딩 테스트 문제 H-Index, 몬스터 공격 로직 적용 및 안정화 🧠 오늘의 이슈 > “구조를 먼저 정리하면 구현은 단순해진다.” 코딩테스트: 반복 계산을 구조화해서 제거 게임 개발: 공격을 “AI 행동”이 아니라 “타이밍 시스템”으로 정리
📘 TIL – 귤 고르기 (Greedy 구조 이해) → 몬스터 전투 시스템 안정화 및 AnimSet 구조 확립 🧠 1️⃣ 코딩테스트 – 귤 고르기 (Greedy) 📌 문제 요약 다양한 크기의 귤 중 $k$개를 골라야 함. 귤의 종류(크기)를 최소한으로 선택하여 $k$개를 채우는 것이 목표. 🎯 문제 핵심: Greedy 알고리즘 > "종류를...
📘 TIL – 코딩테스트: 괄호 회전하기, 게임: 몬스터 스폰 실제 레벨 적용 및 애니메이션 버그 수정 🧠 1️⃣ 코딩테스트 – 괄호 회전하기 📌 문제 요약 문자열 s를 왼쪽으로 $0$ ~ $n-1$번 회전시킨 결과 중, 올바른 괄호 문자열이 되는 경우의 수를 구하는 문제. 🎯 핵심 포인트 이 문제는 '회전 문자열 생성'과 '괄호 유효성 ...
📘 TIL –연속 부분 수열 합의 개수, 몬스터 UI/사운드 적용 및 피격·사망 애니메이션 안정화 🧠 1️⃣ 코딩테스트 – 연속 부분 수열 합의 개수 (원형 수열) 📌 문제 핵심 원형 수열 모든 연속 부분 수열 합 서로 다른 합의 개수 🔥 구조적 해결 전략 1️⃣ 원형 → 선형 변환 ` 2️⃣ Prefix Sum 생성 3️⃣ 부분합 계...
📘 TIL – H-Index, 몬스터 SFX/VFX 적용, WaveId 자동 갱신 로직 및 GameMode 수정 🧠 1️⃣ 코딩테스트 – H-Index 📌 문제 핵심 h번 이상 인용된 논문이 h편 이상 나머지는 h번 이하 가능한 h의 최댓값 겉보기엔 조건 문제처럼 보이지만, 실제로는 정렬 후 개수 비교 문제다. ❌ 비효율적 접근 h 값을 0...
📘 TIL – 투사체 버그 수정, World Space Damage Text 시스템 안정화, 몬스터 특수 기믹 시스템 로직 반영 작업 🎯 오늘의 이슈 물리 기반 Projectile 불안정 제거 HUD 기반 데미지 텍스트 → 월드 오브젝트 전환 Special Skill 트리거를 전투 흐름에 완전 연결 Proc 정책 확정 크래시 원인 범위 압축 🚀...
📘 TIL — 특수 기믹 몬스터 로직 반영: Skeleton(광역 스킬) 및 Turtle(방어 기믹) 1. 개요: 몬스터 공통 구조와 특수 기믹의 분리 오늘은 몬스터 공통 구조 위에 특수 기믹을 유연하게 붙일 수 있도록 구조를 정리했습니다. 특히 Skeleton의 광역 스킬 공격과 Turtle의 HardenShell 방어 기믹을 반영하며, 본체 코드...
📘TIL- 가시거북 특수기믹 버그 수정 문제 상황 몬스터가 일정 HP 이하로 떨어지면 하드닝(HardenShell) 상태에 진입하면서 색상이 변하도록 구현하려고 했다. 목표는 다음과 같았다. HP가 일정 비율 이하로 떨어지면 하드닝 발동 데미지 감소 적용 몬스터 머티리얼이 검보라색 분위기로 덮이는 연출 발생 이를 위해 PotatoHardenShel...
📘TIL- 몬스터 시스템 디버깅 및 구조 개선 TIL 개요 몬스터 시스템을 테스트하는 과정에서 여러 문제가 동시에 발견되었다. FirePillar 스킬 데미지 미적용 CPP-local helper 코드 난립 NavMesh 이동 중 장애물 통과 실패 히트스캔 공격 시 데미지 과다 적용 각 문제를 디버깅하면서 데이터 설정, 충돌 구조, 데미지 처리 방...
📘 TIL — 슬라이딩 윈도우 문제 풀이 & 웨이브 조기 종료 보상 페이즈 처리 코딩 테스트 — 할인 행사 문제 풀이 (슬라이딩 윈도우) 문제 XYZ 마트에서는 10일 동안 회원 할인이 적용되며 하루에 하나의 할인 품목만 구매할 수 있다. 정현이는 자신이 원하는 상품과 수량이 연속된 10일 동안의 할인 목록과 정확히 일치하는 시작 날짜에 회원가입하...
프로젝트 초기에 컨셉 / 시스템 / UI / 밸런스 / 레벨 디자인 / 사운드 / 클래스 구조까지 전 영역을 문서화했다.개발 중 기능 변경이 발생하면 즉시 문서에 반영했고, 문서는 단순 참고 자료가 아니라 구현 기준으로 사용되었다.그 결과“이 기능 어떻게 하기로 했지?
📘 TIL —피로도, Hybrid GAS 기반 재사용 가능한 Monster Framework 설계 코딩테스트 - 피로도 1. 문제 이해: 던전 탐험 조건 현재 피로도 k가 주어지고 각 던전마다 다음 두 가지 값이 존재한다. 최소 필요 피로도 req 탐험 후 소모 피로도 cost 던전은 하루에 한 번만 방문 가능하며 최대 몇 개의 던전을 탐험할 수 ...
배열 numbers가 주어지고 각 숫자 앞에 + 또는 -를 붙여 계산했을 때 결과가 target이 되는 경우의 수를 구하는 문제이다.핵심 특징예시처음에는 각 숫자마다 + 또는 -를 선택하는 완전 탐색 구조로 접근하였다.핵심 구조DFS 코드 구조시간 복잡도문제를 분석하면
1. k진수 변환 후 소수 찾기 문제 핵심 문제 해결을 위한 핵심 흐름은 다음과 같이 정리할 수 있다. 즉 이 문제는 다음 세 가지 기본 알고리즘을 조합하는 문제이다. 기존 코드 접근 방식 풀이에서는 다음 방식으로 구현하였다. 진수 변환 나머지를 이용하여 k진수 문자열을 생성하는 전형적인 방식이다. 문자열 분리 stringstream을 사용...
1. 주차 요금 계산 문제 문제 핵심 주차장의 입·출차 기록을 기반으로 차량별 누적 주차 시간을 계산한 뒤 요금을 정산하는 문제이다. 전체 해결 흐름은 다음과 같이 정리할 수 있다. 기록 문자열에서 시각, 차량번호, IN/OUT 정보 파싱 차량별 입차 시각 관리 OUT 발생 시 주차 시간 누적 출차 기록이 없는 차량은 23:59 기준으로 처리 누적 주...
1. 멀티플레이 숫자야구 게임 서버 시간 관리, 게임 로직 보완 및 로그인 기능 설계 문제 멀티플레이 숫자야구 게임을 서버 기반 구조로 구현하면서 다음과 같은 문제가 발생했다. 채팅 입력과 게임 로직이 분리되지 않아 시도 횟수 표시가 실제 값과 어긋나는 문제가 발생했다. 턴 기반 게임이지만 서버 기준 시간 관리가 없어 플레이어 입력이 무기한 대기 상태...
문제 멀티플레이 숫자야구 게임에 로그인 기능과 전적 저장 기능을 붙이면서 GameMode에 너무 많은 책임이 몰리는 문제가 발생했다. 초기에는 게임 진행만 담당하던 GameMode가 점점 다음 역할까지 모두 떠안게 되었다. | 기존 GameMode에 몰린 책임 | 내용 | | --------------...
문제 기존 채팅 기반 숫자야구 게임에 UI를 도입하면서 다음과 같은 문제가 발생했다. | 문제 영역 | 내용 | | ------ | ----------------------------------- | | 입력 구조 | 채팅 입력과 UI 입력이 분리되지 않아 라우팅 혼재 | | 상...
문제 기존 숫자야구에 회원가입,UI 연결 등 업데이트된 게임 구조에서는 한 번 리팩토링을 거친GameMode가 여전히 너무 많은 책임을 동시에 맡고 있었다. 하나의 클래스 안에서 다음 역할이 한꺼번에 처리되고 있었다. 회원가입 / 로그인 요청 처리 일반 채팅 / 시스템 메시지 브로드캐스트 턴 시작 / 턴 전환 / 시간 초과 처리 숫자 판정(스트라이크/...
문제 멀티플레이 기반 GAS 구조에서 콤보 공격과 방어 시스템에 스태미나를 연동하는 과정에서 다음과 같은 문제가 발생했다. 콤보 공격 시 스태미나 소모가 적용되지 않음 GameplayEffect 적용 로그는 찍히지만 실제 Stamina 값은 감소하지 않음 Block / Attack / Regen이 서로 간섭하여 리젠이 비정상 동작 스태미나 로직이 여러...
문제 인식 붉은 사막 관련 사용자 편의성 이슈에 대해서 알아보고 언리얼 엔진일 경우 어떤식으로 수정할 수 있을지에 대해서 분석하는 방향으로 공부를 진행했다. 큰 이슈 위주로 분석을 했다. 1. 키매핑 이슈 2. 물리적 상호작용 오발동 이슈 출시 이후 사용자 피드백을 보면 단순히 “조작이 어렵다” 수준이 아니라 입력이 상황에 따라 다르
문제 1. 플러그인 생성 후 빌드 실패 신규 프로젝트에서 플러그인을 생성하고 빌드를 시도했을 때 다음과 같은 에러가 발생했다. Target.cs 관련 RulesError UnrealEditor-MySpartaLog.lib 중복 생성 에러 모듈이 중복으로 빌드되는 문제 분석 1. 모듈 중복 등록 구조 에러 로그를 기반으로 원인을 추적한 결과, 플러그...
문제 이번 전투 시스템을 실제 플레이 가능한 형태까지 붙이는 과정에서 단순 기능 문제가 아니라 “왜 이렇게 안 되지?” 싶은 지점들이 여러 군데에서 발생했다. | 문제 | 체감된 상황 | | ------------- | ------------------------ | | HPBar 갱신 안됨 | 적...
문제 기존 플러그인의 기본 구조와 에셋 포함 방식에 대한 설계만 되어 있었고, 실제 기능은 거의 없는 상태였다. 정리하면 이런 상태였다. 플러그인 모듈 구조만 만들어진 상태 플러그인에 콘텐츠(에셋)를 포함시키는 방식만 설계됨 말풍선 UI 없음 캐릭터 연동 없음 로그와 연결된 구조 없음 블루프린트에서 사용하는 패턴도 정리되지 않음 그래서 단순히 UI ...
문제 기존 플러그인 구조와 말풍선 시스템의 기본 설계 및 1차 구현을 완료했지만, 실제 반영 단계에서 여러 가지 예상 못한 문제들이 한 번에 터졌다. 정리해보면 이런 상태였다. 말풍선은 뜨긴 하는데 로그 시스템과 완전히 연결되지 않음 일부 함수는 블루프린트에서 아예 노드가 안 보임 로그는 찍히는데 말풍선은 안 뜨고 PrintString만 나옴 위젯 접...
문제 RTS 멀티플레이 프로젝트에서 UI를 전담하게 되면서 단순히 화면을 만드는 작업이 아니라 다음과 같은 구조적인 고민이 필요했다. UI는 어디까지 책임져야 하는가 서버 권한 구조에서 UI는 어떻게 동작해야 하는가 데이터 기반 구조를 어떻게 설계해야 하는가 Command Panel, Selection UI, 단축키를 어떻게 연결해야 하는가 입력 딜레이...
문제 이번 작업의 목적은 단순한 UI 구현이 아니라 RTS 장르에서 실제 플레이에 맞는 HUD 레이아웃 구조를 설계하고, 데이터 흐름이 안정적으로 반영되는지 검증하는 것이었다. 초기에는 좌하단 / 우하단으로 패널을 분리하는 구조를 고려했지만, 구조를 실제 플레이 기준으로 다시 검토하면서 다음과 같은 문제가 있었다. 선택 정보와 명령 UI가 분리되면 ...
문제 UI 스켈레톤 구조를 기준으로 WBP와 C++을 연결한 뒤 실제 테스트를 진행했을 때, 단순 표시 수준에서는 정상처럼 보였지만, 실제 입력 기반으로 상태를 바꿔보면 UI가 정상적으로 갱신되지 않는 문제가 발생했다. 발생한 증상 정리 | 구분 | 증상 | | -----------...
문제 UI 스켈레톤을 기반으로 실제 동작까지 연결한 이후, 기능적으로는 UI가 정상적으로 동작하게 되었지만 구조적으로 다음과 같은 한계가 드러났다. 구조적 문제 | 구분 | 문제 | | ------------ | -----------------------...
문제 DataTable 기반 구조로 UI 아키텍처를 정리한 이후, 기본적인 Single Selection과 CommandPanel 동작은 안정적으로 동작했지만 다음과 같은 한계가 남아 있었다. 구조적 문제 | 구분 | 문제 | | --------------- | ---------...
문제 기존 UI 구조에서 Selection과 Command는 각각 안정화되어 있었지만 실제 RTS 흐름 기준에서는 다음 문제가 남아 있었다. 구조적 한계 | 구분 | 문제 | | --------- | ------------------------------------ | | Sel...
문제 어제까지는 다음 구조까지는 만들어둔 상태였다. UI에서 시작해서 서버를 거쳐 다시 UI로 돌아오는 흐름 자체는 정상적으로 동작하는 상태였다. 다만 실제 프로젝트 기준으로 보면 몇 가지 빠진 부분이 있었다. 구조적 문제 | 구분 | 문제 | | ------- | --------------------- ...
문제 어제까지는 다음 흐름까지 연결된 상태였다. 이 구조가 붙으면서 선택, 명령, Context 전환, Queue 반영까지는 실제로 동작하는 상태가 됐다. 즉, 이 흐름은 완전히 살아있는 상태였다. 하지만 실제 플레이 기준으로 보면 새로운 문제가 드러났다. 구조적 문제 | 구분 | 문제 ...
문제 어제까지는 UI 표현 계층을 규격화하는 작업이 중심이었다. 이 기준을 세우면서 TopBar, SelectionPanel, CommandPanel, MenuPanel 같은 각 패널의 역할과 표현 규칙을 정리하는 데 집중했다. 즉 어제의 핵심은 “동작하는 UI를 유지 가능한 UI로 바꾸는 것”이었다. 그런데 오늘 작업으로 넘어오면서 문제가 달라졌다...
문제 이전 단계에서는 까지는 정상적으로 동작하는 상태였다. 하지만 실제 게임 로직까지 연결하려는 순간 문제가 발생했다. 대표적으로 드러난 증상: 즉 문제는 단순 UI가 아니라 이 전체 흐름 어딘가에서 끊기고 있었다. 구조적 문제 | 구분 | 문제 | | ---------- | -...
📘TIL - UI 파이프라인 통합 과정에서 발생한 버그 분석 및 구조 정리 문제 상황 어제까지는 UI를 다음 기준으로 정리한 상태였다. TopBar, SelectionPanel, CommandPanel 등 각 패널의 역할과 표현 규칙을 정리하면서 “동작하는 UI → 유지 가능한 UI”로 구조를 맞춘 상태였다. 오늘은 그 위에 이 실제 게임 데이터...
📘 TIL - 커서/드래그 UI 좌표계·입력·렌더링 디버깅 문제 상황 어제까지는 를 정리하면서 까지 맞춘 상태였다. 오늘은 그 위에 를 추가하면서, 플레이어 입력을 직접 시각적으로 피드백하는 레이어를 붙이는 작업을 진행했다. 구현 목표는 다음과 같았다. 하지만 구현 과정에서 다음과 같은 문제가 발생했다. 발생 증상 커서가 특정 영역에서 사...
문제 상황 어제까지는 을 정리하면서 까지는 안정화된 상태였다. 오늘은 그 위에 를 붙이면서 단계로 넘어가는 작업을 진행했다. 구현 목표는 다음과 같았다. 하지만 구현 과정에서 다음과 같은 문제가 발생했다. 발생 증상 SelectionPanel은 뜨는데 실제 선택 대상 정보가 불완전함 단일 선택 / 다중 선택 전환 시 UI 상태가 어긋남 건...
[Keep] 오전과 오후에 간단한 스크럼을 진행하면서 서로의 개발 상태나 이슈를 빠르게 파악할 수 있어서 좋았다. 오전, 오후 스크럼을 통해 오늘 진행할 작업과 현재 상태를 계속 공유하면서 전체 흐름을 놓치지 않고 따라갈 수 있었다. 짧은 시간이지만 방향성을 계속 맞춰가는 데 도움이 되었고, 우선순위를 정리하는 데에도 도움이 되었다. 처음 사용해보는 기술...
배경 언리얼에서 Chaos Vehicle을 기반으로 자율주행 느낌의 시스템을 만들어보려고 하다 보니, 단순히 Spline 따라 이동시키는 것만으로는 뭔가 부족하다는 생각이 들었다. 그래서 “조금 더 실제 주행에 가깝게 만들려면 어떤 요소들을 추가해야 할까”라는 방향으로 구조를 한번 정리해봤다. 자율주행 구조 기본적인 자율주행 구조는 이미 프로토타입 코...
1. Behavior Tree / Blackboard 개념 정리 Behavior Tree는 AI의 행동 규칙을 미리 정의해두는 구조라고 보면 된다. 조건에 따라 분기되는 트리 형태라서 상황별 행동을 나누기 좋다. Blackboard는 Behavior Tree에서 사용하는 데이터 저장소 역할을 한다. AI가 현재 어떤 상태인지, 타겟이 있는지 같은 정보를...
배경 이번 작업은 Chaos Vehicle 기반 자율주행 프로토타입에 카메라와 LiDAR 센서를 붙이고, 센서 결과를 기반으로 주행 성능을 비교할 수 있게 만드는 것이 목표였다. 기존에는 Spline을 따라 차량이 움직이고, Steering / Throttle / Brake 입력을 계산해서 적용하는 구조였다. 이번에는 여기에 센서 컴포넌트 센서 프...
📘TIL - 센서 프리셋 기반 실험 구조를 에디터 환경에 연결 배경 어제까지는 자율주행 시뮬레이터에 필요한 센서 구조를 코드 중심으로 구현했다. 카메라는 UCameraSensorComponent로 분리했고, LiDAR는 ULidarSensorComponent로 분리했다. 또한 센서 프리셋, BEV 시각화, Timestamp 동기화, 평가 점수 구조까...
📘TIL - 언리얼 AI 관련 개념 적용한 술래잡기 게임 설계 배경 AI 게임 디자인 강의와 Behavior Tree, Blackboard 등 언리얼 AI 개념을 학습하면서 이론을 실제 게임 설계에 적용해보고자 했다. 강의의 AI 기반 게임 기획 예시를 참고해, 상태에 따라 행동이 바뀌는 구조를 직접 설계하는 방향으로 술래잡기 게임 기획을 진행했다....
배경 이전 작업에서는 카메라 센서와 LiDAR 센서를 차량에 붙이고, 프리셋을 DataTable로 바꿔가며 실험할 수 있는 구조까지 만들어둔 상태였다. 오늘은 여기서 한 단계 더 나아가서, 이 기능들이 단순히 화면에 보이는 수준을 넘어서 자동 주행, BEV, 데이터 로거, 평가 시스템까지 자연스럽게 이어지도록 구조를 정리하는 데 집중했다. 실제로 자동...
구현 배경 이전에는 술래/도망자 상태를 기준으로 게임 흐름과 AI 구조를 설계하는 단계였다면, 오늘은 실제 언리얼 C++ 코드와 BehaviorTree를 연결해서 AI가 실제로 추적하고 도망가는 흐름을 구현하는 작업을 진행했다. BTTask 구현 오늘은 BehaviorTree에서 사용할 Task들을 실제 C++ 클래스로 구현했다. FindNeares...
배경 이번 코드 리뷰에서는 단순히 “기능이 동작하는가”보다, 협업 환경에서 코드가 얼마나 읽기 쉽고 유지보수 가능한지에 대한 피드백을 많이 받았다. 특히 언리얼 멀티플레이 프로젝트는 시스템 규모가 커질수록: 초기화 순서 리플리케이션 라이프사이클 객체 책임 분리 성능 관리 같은 요소들이 계속 얽히기 때문에, 구현 자체보다 코드 스타일과 구조가 더 중요...
이력서 항목 💼 직장 / 인턴십 | 회사명 | 기간 | 역할/포지션 | 업무 내용 | 성과/배운점 | | -------- | ----------------- | -----...
배경 최근에는 언리얼 프로젝트를 진행하면서 단순히 기능을 구현하는 것보다, 프로젝트 규모가 커졌을 때도 구조를 안정적으로 유지하는 방식에 대한 고민을 많이 하게 됐다. 특히 UI, 전투, AI, 던전, 보상, 네트워크 같은 기능들이 서로 연결되기 시작하면, 처음에는 단순했던 구조도 점점 여러 시스템이 서로를 직접 참조하게 되고, 나중에는 어디서 어떤 흐...
배경 기존 RTS 프로젝트에서는 SceneCapture2D + RenderTarget + FogRT 기반으로 미니맵을 구현했었다. 실시간으로 월드를 캡처하고, Fog Of War와 유닛 아이콘을 합성하는 방식이었는데 RTS 구조에서는 잘 동작했지만, 이번 오픈월드 RPG 프로젝트에서는 방향이 조금 달랐다. 특히 이번 프로젝트는: 방향으로 설계되고 있었...
배경 어제는 기존 RTS 프로젝트의 SceneCapture2D + FogRT 기반 구조를 오픈월드 RPG 방향에 맞게 재설계하면서, 정적 MapTexture + 등록형 아이콘 + 탐험 Overlay 기반 구조로 방향을 정리했다. 오늘은 여기서 한 단계 더 나아가 실제로 동작하는 형태의 미니맵 시스템을 구현하고, HUD 위젯·Material UV·카메라 ...
배경 어제는 기존 RTS 프로젝트에서 사용하던 SceneCapture2D + FogRT 기반 구조를 오픈월드 RPG 방향에 맞게 다시 정리하면서, 구조로 방향을 잡았다. 오늘은 여기서 한 단계 더 나아가 실제 레벨 크기를 키워 테스트하면서 드러난 좌표 문제를 수정했고, 월드맵·통합 패널·대형 텍스처 대응까지 포함해서 전체 구조를 프로젝트 기준으로 다시...
📘TIL - 인벤토리·아이템·무기 장착 데이터 구조 및 독립 UI 창 구조 정리 배경 어제까지는 미니맵과 월드맵 UI 구조를 정리하면서 다음 방향으로 구조를 잡았다. 오늘은 인벤토리 / 아이템 / 무기 장착 시스템을 실제 프로젝트 스켈레톤 코드 기준으로 구현하면서, 기획 단계에서만 정리되어 있던 흐름을 런타임 구조에 맞게 구체화했다. 특히 이번 작업...
📘TIL - 인벤토리 슬롯 UI 구조 및 인벤토리 조작 흐름 정리 배경 어제까지는 인벤토리와 장착 시스템의 데이터 구조를 정리하면서: 사이의 역할 분리를 중심으로 구조를 설계했다. 오늘은 그 구조를 실제 UI와 연결하면서: 흐름을 블루프린트 기준으로 구현하기 시작했다. 이번 작업에서 가장 중요했던 건 단순히 슬롯을 나열하는 게 아니라: 이 서로...
배경 어제까지는 인벤토리 슬롯 UI 구조를 정리하면서: 사이의 역할 분리를 중심으로 UI 흐름을 정리했다. 오늘은 그 흐름을 기반으로: 작업을 진행했다. 이번 작업에서 가장 중요하게 본 건 단순히 코드를 옮기는 게 아니라: 가 서로 꼬이지 않도록 구조를 정리하는 것이었다. 미니맵 시스템 본 프로젝트 이주 테스트 프로젝트(MinimapTest)...
📘TIL - 아이템 획득 상호작용 시스템 설계 및 컴포넌트 기반 리팩토링 배경 어제까지는 미니맵 이주와 UI VFX 구조 설계를 정리하면서: 라는 큰 분류 위에서 UI 구조가 어떻게 흩어져야 하는지 정리했다. 오늘은 그 위에 본격적으로 아이템 획득 흐름을 얹기 위해: 작업을 진행했다. 이번 작업에서 가장 중요했던 건 단순히 픽업 기능을 만드는 게 ...
배경 어제까지는 상호작용 컴포넌트 구조를 잡고 GA_Interact 흐름을 정리하면서: 라는 책임 분리까지 완료된 상태였다. 오늘은 그 구조에서 "결과 적용" 부분이 아이템 종류가 늘어날수록 컴포넌트 하나에 조건문이 쌓이는 형태가 될 것 같다는 문제를 먼저 잡았다. 그 위에 토스트 UI 동작 이슈와 크래시 수정을 같이 정리했다. 이번 작업의 핵심 ...
배경 어제는 UI VFX를 어떤 구조로 가져갈지 방향을 정리하는 데 집중했다. 패널 슬라이드, 게이지 펄스, 버튼 반응 같은 효과들을 각각 따로 구현하기보다 공통 구조 안에서 관리할 수 있게 만드는 게 목표였다. 오늘은 그 설계를 실제 프로젝트에 붙이면서: 작업을 진행했다. 이번 작업에서 가장 중요하게 본 건 “효과를 어떻게 보여줄까”보다: 이 ...
배경 오늘은 인벤토리 관련 UI 에셋 스타일링 작업을 진행했다. 게임 분위기에 맞게 판타지 RPG 스타일로 방향을 잡았는데, 기능 구현 상태에서 디자인을 얹는 작업이다 보니 예상하지 못한 곳에서 버그가 몇 가지 나왔다. 인벤토리 패널 버튼 스타일링 버튼은 판타지 RPG 분위기에 맞게 장식적인 요소를 중심으로 꾸몄다. 방향은 크게 세 가지였다. 일...
배경 현재 프로젝트는 인벤토리, 장착, 아이템 획득, 상호작용 시스템이 각각 독립적으로 구현되어 있는 상태였다. 하지만 RPG에서는 플레이어가 탐험 → 전투 → 보상 획득 → 성장 → 다음 지역 진입이라는 흐름을 반복하게 되는데, 이를 자연스럽게 연결해주는 거점 시스템이 필요했다. 이번 작업에서는 모닥불을 단순 체크포인트가 아닌 게임 진행의 중심 허브...
📘TIL - 탐색과 상호작용 UX 안정화 배경 오늘은 전날 구현한 모닥불 기반 빠른 이동 시스템을 실제 플레이 흐름에 맞게 확장하고 안정화했다. 작업은 월드맵 패널의 렌더링 버그 수정에서 시작했지만, 월드맵 아이콘 표시 방식, 빠른 이동 좌표 보정, 퀵슬롯 HUD, 저장 슬롯 UI, 제작 시스템까지 이어졌다. 기능을 단순히 추가하는 것보다 서로 다른 ...
📘 TIL - 모닥불 상호작용 관련 UI 디버깅, 리팩토링 배경 오늘은 어제 구현한 모닥불 제작·저장 시스템의 UI가 실제로 의도대로 동작하는지 확인하면서 시작했다. 기능이 "코드상 연결"은 되어 있지만 "실제로 눌리지 않는" 상태였다. 제작 탭에서 레시피를 클릭해도 아무 반응이 없었고, 월드맵은 해상도에 따라 렌더링 영역이 달랐다. 작동하지 않는 원...
📘 TIL - 보스 체력바 · 원소 게이지 · 원소 버프 MVVM 연동 배경 오늘은 HUD 쪽 MVVM 구조를 정리하면서 원소 게이지 UI와 보스 체력바를 연동하는 작업을 진행했다. 기존에 플레이어 HP/스태미나는 MVVM으로 정상 동작하고 있었지만 원소 게이지는 ViewModel 연결이 끊어진 상태였고, 보스 체력바는 아직 구현되지 않은 상태였다. ...
배경 오늘은 HUD 전투 정보 표시 흐름을 중심으로 보스 체력바, 원소 게이지, 원소 모드, 버프 시스템을 정리했다. 기존에는 플레이어 HP와 스태미나는 MVVM 기반으로 정상 동작하고 있었지만, 원소 게이지와 보스 체력바는 런타임 데이터가 UI까지 안정적으로 전달되지 않는 문제가 있었다. 원소 모드 아이콘 전환이나 버프 표시처럼 C++ 코드와 Blue...
📘 TIL - 보스 체력바 · 원소 게이지 · 원소 모드 · 원소 버프 MVVM 연동 배경 오늘은 HUD 전투 정보 표시 흐름을 중심으로 보스 체력바, 원소 게이지, 원소 모드, 버프 시스템을 정리했다. 기존에는 플레이어 HP와 스태미나는 MVVM 기반으로 정상 동작하고 있었지만, 원소 게이지와 보스 체력바는 런타임 데이터가 UI까지 안정적으로 전달되...
📘 TIL - 일반 몬스터 StateTree 전투 흐름 및 충돌 문제 분석 배경 오늘은 일반 몬스터 AI 전투 흐름을 중심으로 플레이어 추적, 공격 진입, 몬스터 간 충돌 문제를 점검했다. 기존에는 소수의 몬스터만 있을 때는 크게 문제가 보이지 않았지만, 여러 마리가 동시에 플레이어를 추적하는 상황에서는 공격 상태 진입이 꼬이거나 몬스터끼리 서로 밀어...
📘 TIL - 일반 몬스터 StateTree 전투 흐름 개선 및 충돌 구조 정리 배경 오늘은 일반 몬스터 AI 전투 흐름을 중심으로 공격 진입 조건, 공격권 관리 구조, 충돌 채널 구성, 락온 대상 판정 등을 점검했다. 기존에는 소수의 몬스터만 있을 때는 큰 문제가 보이지 않았지만, 여러 마리가 동시에 플레이어를 추적하는 상황에서는 공격 상태 진입이 ...
1. 원소 게이지 스킬 프리뷰 UI 구현 배경 기존 원소 게이지는 슬롯 상태만 표시하고 있었기 때문에 플레이어가 현재 어떤 흡수 스킬과 버스트 스킬을 사용할 수 있는지 직관적으로 파악하기 어려웠다. 이를 개선하기 위해 WBP_ElementGauge 양옆에 흡수 스킬과 버스트 스킬 아이콘을 표시하는 프리뷰 UI를 추가했다. 게이지 상태가 변경될 때마다...
오늘 한 일 요약 오늘은 신규 기능 추가보다는 기존 UI 시스템의 안정성과 데이터 동기화 문제를 해결하는 작업에 집중했다. 특히 버프 UI의 스택 처리 구조를 개선하고, 에픽 몬스터 체력바 프레임이 표시되지 않는 문제를 수정했으며, 인벤토리 UI에서 발생하던 툴팁 및 상세 정보 갱신 문제를 정리했다. 또한 원소 게이지 스킬 프리뷰 UI를 실제 게임플레...
1. 에픽 몬스터 그로기 시스템 구현 배경 에픽 몬스터는 일반 몬스터보다 전투 패턴이 길고, 플레이어가 특정 조건을 만족했을 때 그로기 상태로 진입하는 구조가 필요했다. 기존 NormalMonsterHealthBarComponent는 HP만 표시하고 있었기 때문에, 그로기 누적 상태는 별도 컴포넌트로 분리했다. 구현 EpicMonsterGrogg...
1. 에픽 몬스터 공통 패턴 시스템 구축 배경 기존 구조는 몬스터 종류가 늘어날 때마다 별도의 StateTree Task나 전용 로직을 추가해야 할 가능성이 있었다. 에픽 몬스터가 계속 추가될 경우 유지보수 비용이 증가하고, 동일한 공격 흐름을 여러 곳에서 관리해야 하는 문제가 발생할 수 있었다. 이를 해결하기 위해 몬스터 종류와 관계없이 동일한 S...
배경 오늘은 에픽 몬스터(드래곤·나무 몬스터·바위 몬스터) 전반에 걸쳐 세 가지 큰 주제를 다뤘다. 버그 수정: 투사체 데미지, 패리 반사, 그로기 적용, 지상 이동 애니메이션, 라바 투사체 VFX 코드 격리: 에픽 몬스터 전용 로직이 공통 파일을 오염시키는 문제의
목차 오늘 작업 개요 공통 코드 하드코딩 제거 (리팩토링 설계) 공통 StateTree Task에서 EpicMonsterCharacter 직접 의존 제거 Build.cs 에디터 모듈 의존성 누락 수정 DataTable 필드명 호환성 복구 및 develop 구조 정렬 develop 머지 충돌 해결 전략 에픽 기본 공격 태그 누락 버그 그로기 시스템 3종 버...
작업 배경 상점(Shop) 시스템을 다듬으며 세 가지 주제를 다뤘다. NPC 포커스 카메라: 상점을 열면 카메라가 NPC 정면으로 전환되고 플레이어 캐릭터는 일시적으로 숨겨지는 연출 레이아웃 재구성: 상점 화면을 "중앙에 NPC가 보이고 좌/우·하단에 패널 카드가 떠 있는" 형태로 바꾸고, 그 과정에서 레이아웃을 누가 소유하는가(C++ vs WBP) 를...
작업 배경 오늘은 크게 두 가지 작업을 진행했다. 첫 번째는 플레이어가 월드맵에서 직접 목적지를 지정하고 HUD에서 방향을 확인할 수 있도록 하는 월드맵 내비게이션 시스템 구현이다. 기존에는 플레이어 위치와 맵 아이콘만 표시할 수 있었기 때문에 목적지를 지정하거나 이동 방향을 직관적으로 확인하기 어려웠다. 이를 개선하기 위해: 월드맵 웨이포인트 시...
작업 배경 월드맵, 미니맵, 나침반은 모두 같은 월드 좌표를 기반으로 동작하지만 실제 구현은 서로 다른 기준을 사용하고 있었다. 기존에는 SceneCapture2D 위치, OrthoWidth, MapOrigin, MapExtent를 수동으로 관리하고 있었기 때문에 맵 크기가 변경되거나 레벨 구조가 수정될 때마다 여러 시스템의 좌표를 다시 맞춰야 했다. ...
목차 미니맵 / 월드맵 좌표 어긋남 & SceneCapture 의존 제거 빠른이동 / 불러오기 로딩 컷신 — 캐릭터 보이며 낙하 버그 월드맵 모닥불 비활성 표시 버그 (WP 스트리밍 의존) 인벤토리 미리보기(InventoryPreviewActor) 포즈·방어구 파괴 버그 인벤토리 패널 중단점(Breakpoint) 버그 — ABP 클래스 하드코딩 1. 미...
목차 설정 기능 구현 — 영속화 3계층과 적용 파사드 서브시스템 설정 창 위젯 — 카테고리 5종과 키 리바인딩(중복 검사 포함) 인벤토리 더블클릭 먹통 버그 — 선택/활성화 재진입 문제 체력바·스태미나바 통합 HotBar — 기존 위젯 리플렉션 재사용 1. 설정 기능 구현 — 영속화 3계층과 적용 파사드 서브시스템 목표 그래픽 / 조작 / 오디오 /...
목차 설정 초기화·저장 안전성과 적용 생명주기 분리 오디오 채널 시스템 — SoundMix와 DataAsset 중앙 라우팅 UI 접근성 — 테마 교체와 중첩 위젯 재귀 적용 설정 슬라이더 행 위젯 — 값 박스가 썸이 되는 커스텀 슬라이더 1. 설정 초기화·저장 안전성과 적용 생명주기 분리 목표 이미 만들어 둔 설정 시스템을 실제 플레이 로직과 일치시...
목차 아이템 획득 토스트 — 아이콘 텍스처 미표시와 애니메이션 미재생 상호작용 프롬프트 — GridPanel 셀 폭 레이아웃 버그 모닥불·제작 패널 UI — 3컬럼 재구성과 목록 행 데이터 불일치 원소 게이지 스킬 아이콘 분리 — 위젯트리 컨테이너 제거 순서 1. 아이템 획득 토스트 — 아이콘 텍스처 미표시와 애니메이션 미재생 목표 WBPItemPi...
목차 인벤토리 장비 중복 보관 — ItemId에서 SlotInstanceId로 식별 기준 확장 중복 장비 선택·장착·해제 — 슬롯 단위 UI 상태와 더블클릭 처리 모닥불 휴식 — 상호작용 상자 재활성화와 몬스터 즉시 리스폰 아이템 데이터 테이블 — 장비 인스턴스와 강화 데이터 스키마 확장 모닥불 강화 시스템 — 확률·소모 규칙·진행 연출·결과 팝업 1....
목차 경량 NPC 베이스 클래스 — 지역별 방랑 상인 6종 확장 실내 구역 미니맵 — 멀티 에어리어 시스템과 상시 캡처 서비스 UI 사운드 프리셋 확장 — 컨텍스트별 사운드와 힐 VFX 연동 채집·채광 리소스 — 공용 피격 판정 라이브러리와 Chaos 파괴 연출 Synty 몽타주 자동 빌드 툴 — 리타겟부터 잠금 노티파이까지 원클릭화 1. 경량 NPC ...
목차 RetrieveInteractionResponseComponent 가시성 버그 — Shipping에서 루멘 메시가 통째로 사라짐 나침반 방위 바늘 Wrapping 버그 — 남/북 경계에서 나침반 띠가 확 점프함 1. RetrieveInteractionResponseComponent 가시성 버그 — Shipping에서 루멘 메시가 통째로 사라짐 목...
목차 마을 배경 NPC 순찰 — StateTree 기반 신규 AI 구현 NPC 대화 확장 — 몽타주 재생, 아이템 보상, 대화 중 정지 일시정지 메뉴 — 순수 게임플레이 ESC와 배타 패널 시스템 편입 패키지에서 조용히 사라진 패널 — TSoftClassPtr와 쿠킹 경로 메뉴 버튼 배선 — 기존 진입점 재사용으로 설정·조작키 안내 연결 조작키 안내 위젯...
목차 일상 행동 애니메이션 미재생 — 몽타주 SequenceLength 0 버그 신규 캐릭터 팩 3종 확장 — "팩당 1회" 리타겟 파이프라인 재사용 신규 팩 인사 시 "팔 벌어짐" — 관절 트랙 삭제 vs 포즈 복사 레시피 혼동 인사할 때 실제로 드러눕는 버그 — 방치된 헤어 어태치 콜리전 대화(다이얼로그) 트리거 시 드러눕기 — Deactivate가 ...
목차 메인메뉴 "이어하기" — 최근 슬롯 자동 선택과 서버 권위 로드 흐름 불러오기 패널 — 모닥불 저장 슬롯 위젯 재사용의 제약 3가지 퀘스트 진행 저장/복원 — 로드할 때 완료 알림이 다시 우르르 뜨는 문제 저장 시점 "추적 퀘스트" 표시 — HUD의 로컬 상태는 세이브에 없다 메인메뉴에서 패널을 닫으면 커서가 죽는 문제 — 무조건 GameOnly 복...
목차 Part A — 버그 수정 & 접근성 (PR #294, 커밋 63579a4) 보스 몬스터 드랍 미작동 — 상속 분기가 공통 처리를 건너뛴다 통화 드랍이 조용히 사라진 이유 — AddItem의 카테고리 화이트리스트 "HUD 숨기기" 접근성 — 숨기되 기능은 살린다(Visibility가 아니라 RenderOpacity) HUD 숨김은 "프리뷰 값"이 ...