1일차 시작!
학습 목표1\. Unreal Engine의 기본 개념과 역할에 대해 이해합니다. 2\. 게임씬(Game Scene)의 개념과 게임개발에서의 중요한 부분에 대해 알아봅니다.3\. Unreal Engine이 게임 산업에서 사용되는 사례를 찾아보고 탐구합니다. • 게임 엔진

카테고리: 건물 및 건축종로구 북촌 한옥마을 에셋으로 국가유산청에서 무료로 배포한 에셋 중 하나이다. 국가유산청이 2023년 한국문화유산 디지털 콘텐츠 제작 및 공급을 위한 원자재 구축 사업의 일환으로 제작했다.퀄리티도 좋고 쉽게 만들 수 없는 에셋인 것 같아 다운로드

레벨(Level)게임 내 하나의 맵 또는 공간. 하나의 프로젝트 안에 여러 개의 레벨이 있을 수 있고, 각각 독립된 씬처럼 작동한다.Static Mesh움직이지 않는 3D 오브젝트를 의미한다. 모든 레벨 구성은 다양한 Static Mesh를 조합해 완성된다.File >

Light 종류Sky Light: 레벨의 먼 부분을 캡처하여 씬에 라이트로 적용한다. SkyAtmosphere와 DirectionalLight 필요하다.Directional Light: 주요 야외 라이트 또는 굉장히 멀거나 거의 무한히 떨어진 거리에서 드리워지는 것으로

Asset언리얼 엔진에서는 콘텐츠 브라우저를 통해 에셋을 효과적으로 관리할 수 있고 .uasset 형태로 저장한다.Asset 유형Static Mesh: 정지된 3D 모델Skeletal Mesh: 뼈 구조를 가지고 있는 3D 모델, 애니메이션과 연결하여 캐릭터 등을 표현

Yaw: Z축 기준 회전Pitch: Y축 기준 회전Roll: X축 기준 회전Input Action을 Move, Jump, Look으로 각각 만들어서 Input Mapping Context에 매핑시킨다.캐릭터의 고개를 위아래로 움직일 때 pitch를 따라 움직이는데 마우

Character Movement Component: 언리얼의 기본 캐릭터 클래스에는 움직임을 제어하는 컴포넌트가 기본 탑재되어있다. 이동 속도, 점프 높이, 중력 설정 등 다양한 조절이 가능하다.Spring Arm + Camera 세팅: Spring Arm은 카메라와

내비게이션(Navigation)캐릭터가 씬 안에서 자연스럽게 이동할 수 있는 공간을 의미한다.지나갈 수 없는 곳은 막고, 통과 가능한 구조를 명확히 해야 게임이 부드럽게 동작한다.충돌(Collision)오브젝트와 캐릭터가 실제로 닿는지 아닌지를 판별해주는 시스템이다.벽

레벨에 AI 캐릭터를 스폰하고 플레이어 캐릭터가 닿으면 Dead, 이후 R키로 재시작하는 로직 구현. 각 상황별 위젯을 만들고 게임모드에 로드, 언로드 함수를 만들었다.커스텀 오브젝트 콜리전 채널인 PlayerCharacter를 생성하고 플레이어 캐릭터의 콜리전 오브젝
https://school.programmers.co.kr/learn/courses/30/lessons/250128

에픽 게임즈에 올라와 있는 공식 강의를 듣고 따라 해보았다.강의: https://dev.epicgames.com/community/learning/courses/D2r/unreal-engine-791723/pjw8/unreal-engine-4c2497재사용 가

블루프린트란?: 복잡한 코드없이 노드 기반을 그림을 그려 프로그래밍을 가능하게 하는 언리얼 엔진의 비주얼 스크립팅 시스템<span style="background-color: 마우스 좌클릭시 총알이 발사되고 HP가 Damage만큼 깎인다. R키를 눌러 MaxBul

1\. 알고리즘 코드카타(2. 게임 개발자를 위한 C++ 문법 1주차 1-1( - 과제: \*로 다이아몬드 그리기(내배캠에서 알고리즘 코드카타를 한다는 걸 어제 저녁에 처음 알게되어서 오늘 오전에 10번까지 제출했다.짝수의 합배열의 평균 값전위연산 ++a / 후위연산

1. STL 자료구조 2. 범위 기반 for문 3. 포인터와 레퍼런스
Class객체지향 프로그래밍: 유지보수가 용이하고 재사용성이 높다.개발 앞 단계에서 문제를 해결 -> 설계를 잘하자유지보수가 용이한 코드를 만들자 -> 객체지향 프로그래밍 => Class를 사용수정사항이 발생했을 때 영향을 적게 받도록 설계세부사항을 숨기고 사용자가 꼭
Today I Learned 객체 지향 프로그래밍 다형성 상속 객체 설계 추상 클래스 가상 함수 상속 C++의 class는 C의 struct를 확장하여 객체 지향적 특성을 추가한 개념이다. 공통적으로 가지는 특성을 갖는 기본 클래스를 구현하고 이를
char to intC++의 메모리 관리언리얼엔진의 메모리 관리char문자 하나를 저장하는 데이터 타입이지만 내부적으로는 아스키코드에 해당하는 정수값으로 저장된다.따라서 char를 int로 변환하면 아스키코드 값을 반환한다.char to int의 간단한 방법메모리는 한
함수 오버로딩템플릿같은 이름으로 다른 기능을 수행하는 함수를 만들 때 사용한다. 오버로딩을 사용하려면 호출되는 함수가 분명해야 한다.C++에서 함수 이름이 같아도 매개변수의 타입이나 개수가 다르면 다른 함수로 구분한다.1\. 타입 변환이 가능한 매개변수로 인해 두 개
STLC++ 표준 템플릿 라이브러리템플릿이기 때문에 데이터에 의존하지 않고 사용할 수 있는 라이브러리이다.컨테이너: 데이터를 담는 자료구조알고리즘: 동작반복자: 각각 컨테이너나 알고리즘의 세부사항을 몰라도 동일한 문법으로 사용할 수 있게 해준다.데이터를 담는 자료구조특
✍️Today I Learned 객체 지향적 설계 응집도 클래스 내 모듈들이 얼마나 관련되어 있는지를 나타낸다. 응집도가 높을수록 좋은 설계 목적이 다른 기능이 한 클래스에 섞여있거나 하나의 클래스에 모든 기능이 들어있으면 유지보수가 어렵다. 에러가 발생했을 때 찾기
디자인 패턴이란싱글톤 패턴데코레이터 패턴옵저버 패턴개발 시 반복적으로 등장하는 문제를 해결하기 위한 일반화된 솔루션생성 패턴(Creational Patterns)객체를 어떤 방식으로 생성할 지에 관련된 패턴. ex) 싱글톤 패턴구조 패턴(Structual Pattern
시간 복잡도공간 복잡도자주 쓰이는 자료구조프로그램의 수행 성능을 최악의 경우 를 가정하여 정량화하는 방법문제를 해결하는 데 걸리는 시간과 입력의 함수 관계입력이 array인 이중루프의 경우시간 복잡도에 비해 중요하지 않다. 지나치게 공간을 낭비하는 것만 주의!하나의 변

✍️Today I Learned 언리얼 엔진에서 C++ 클래스 생성 Actor C++ 클래스 생성 ❗언리언에서 라이브 코딩 비활성화 하기. Visual Studio와 충돌날 수 있음 1. 언리얼에서 Tools > New C++ Class > Actor > Publi

👀 간단한 도서관 관리 프로그램 구현책 제목으로 검색이 가능해야 한다.작가 이름으로 검색이 가능해야 한다.책 제목이 동일한 경우는 없다.특정 책의 대여 여부를 알 수 있어야 한다.책의 이름으로 대여 여부를 검색하고 대여가 아닌 경우 대여할 수 있어야 한다.책의 작가로

간단한 좌표 이동 프로그램(UE + C++)액터가 스폰되는 시점에 동작하도록 구현한다.시작점은 (0, 0)이고 캐릭터가 랜덤하게 10회 이동한다.이동할 때 마다 죄표를 출력한다.한 번 이동할 때 이동한 x, y좌표가 2미만이어야 한다.로그 출력은 UE_LOG를 활용한다

이전 기록..언리얼과 비주얼 스튜디오를 열어 놓고 솔루션 빌드를 하자 에러가 80개 넘게 나왔다. 프로젝트를 아예 지우고 다시 해도 빌드 두번째에 항상 에러가 난다.UE_LOG말고는 추가한 것도 건든 것도 없어서 코드 문제는 아닌거 같아 찾아보니 프로젝트 경로도 길면

Big-O 표기법알고리즘의 성능은 연산 횟수로 평가한다.연산의 종류점근적 표기법: 연산 횟수의 추이 파악. 연산 횟수에 가장 많은 영향을 주는 부분을 기준으로 변화 양상을 분석하는 게 핵심이다.👉 Big-O 표기법최악의 경우를 기준으로 점근적 표기법을 활용하여 성능을

Vector vs Deque맨 앞에 원소를 추가/삭제 하는 경우임의 접근을 하는 경우정렬이 필요없는데 정렬을 하는 경우특정 원소를 찾는 경우문자열을 결합하는 경우auto& vs auto벡터의 단점을 보완하기 위해 만들어진 컨테이너이다.벡터는 원소 삽입 시 용량이 부족하
✍️Today I Learned 재귀함수 재귀의 정의 자기 자신을 정의하거나 호출하는 것을 말한다. 함수가 실행 중에 자기 자신을 다시 호출하는 방식의 함수를 의미한다. 📌재귀 함수 쓰이는 곳 트리 순회 그래프 탐색 동적 계획법 백트래킹 재귀 함수의
배열동질성배열의 원소는 모두 동일한 타입이다.연속된 메모리 할당물리적으로 메모리에 연속적으로 주소를 할당한다.단편화 문제가 발생할 확률이 적다.특정 위치에 접근하기 위해 추가적 연산이 필요하지 않아 접근 속도가 빠르다.인덱스 기반 접근배열의 첫 번째 원소는 인덱스 0을
✍️Today I Learned 정렬 삽입 정렬 병합 정렬 계수 정렬 힙 정렬 정렬이란 사용자가 정의한 순서대로 데이터를 나열하는 것 정렬을 하는 이유 원하는 값을 빨리 찾기 위해 ex) 중앙값이나 최댓값이 필요한 경우 정렬하면 빠르게 찾을 수 있다. 정렬이 전제
프로그래머스 - 둘만의 암호프로그래머스 문제 링크입력값으로 string s, string skip, int index가 주어질 때 s의 각 알파벳을 index만큼 뒤의 알파벳으로 바꾼 문자열을 반환하는 solution 함수를 만들어라단, skip에 있는 알파벳은 제외하
프로그래머스 - 햄버거 만들기프로그래머스 문제 링크직원이 준비한 재료의 순서를 유지하며 빵-야채-고기-빵 순으로 햄버거를 조립한다.ingredient의 순서를 변경하지 않고 1-2-3-1인 부분을 찾기 위해 다른 벡터 burger에 재료를 하나씩 추가했다.burger의
프로그래머스 - 성격 유형 검사하기프로그래머스 문제 링크survey: 문제의 성격 지표choices: 문제 응답choices의 i번째 원소는 1(매우 비동의) ~ 7(매우 동의) 중 하나이다.1~3은 survey i번째 원소의 첫번째 성격 유형에 해당하는 응답이고 5~
프로그래머스 - 바탕화면 정리프로그래머스 문제 링크바탕화면은 (세로 좌표, 가로 좌표)로 표현하며 가장 왼쪽 위 (0, 0)부터 시작한다.파일이 있는 칸을 \`제한사항wallpaper의 모든 원소의 길이는 동일하다.1 ≤ wallpaper 길이 ≤ 501 ≤ wallp
프로그래머스 - 개인정보 수집 유효기간프로그래머스 문제 링크today에 유효기간이 끝난 개인정보가 있는지 확인하여 파기해야 하는 개인정보의 번호 목록 반환해라terms: 약관 별 유효기간 목록privacies: 개인정보 수집일자별 약관 종류제한사항today는 YYYY.
프로그래머스 - 달리기 경주프로그래머스 문제 링크해설진들은 선수가 자기 바로 앞 선수를 추월할 때 이름을 부른다. 현재 플레이어의 등수와 해설진이 부른 이름을 바탕으로 경주가 끝났을 때 선수들의 이름을 최종 등수 순서대로 담은 배열을 반환해라.players: 1등부터

✍️Today I Learned CH2 팀 프로젝트: 텍스트 RPG KPT 회고 PROJECT 홀리몰리 텍스트 RPG 콘솔창에서 진행하는 텍스트 RPG 게임 KEEP 서로 자유롭게 아이디어를 내는 분위기 새로운 기능을 추가하기 귀찮아하지 않고 적극적으로 참여 PRO
✍️Today I Learned Actor 클래스 Actor 클래스 컴포넌트 Actor 클래스에 컴포넌트 멤버 변수 추가 스태틱 메시 컴포넌트에 메시 및 머티리얼 할당 Item.h Item.cpp Root Component 루트 컴포넌트는 무조건 리플렉션 시스템

GameModeCharacterGameMode에서 DefaultPawn 설정게임 총괄 관리자 역할플레이어 캐릭터 - 월드에 스폰 및 관리PlayerController 클래스 - 캐릭터에 빙의게임 규칙 관리 - 게임 로직(승리, 패배, 점수 계산 등)GameState 클

PlayerControllerEnhanced Input SystemInput Mapping ContextPlayerController에서 IMC 활성화플레이어의 입력은 플레이어 컨트롤러에서 처리한다. 유저가 키보드나 패드 등 입력 장치를 조작할 때 조작에 대한 판단을
캐릭터 클래스에 액션 바인딩 추가하기Move 구현Look 구현Jump 구현Sprint 구현<span style="background-color:
인터페이스아이템 클래스 계층 설계클래스 -> 인터페이스를 구현 -> 반드시 포함되어야하는 함수를 구현상속 vs 인터페이스상속: 부모클래스로부터 물려받는 것인터페이스: 약속을 함인터페이스 구현 순서인터페이스 정의UInterface - 인터페이스 만들기 - 함수 원형들만

Collision이벤트 바인딩Overlap객체를 통과하거나 겹쳐짐Hit객체에 막힘두 이벤트는 서로 다른 충돌 처리 방식이라 동시에 작동하지 않는다.어떤 충돌을 감지하거나 무시할지 설정NoCollision충돌 감지를 하지 않는다. ex) 하늘에 있는 오브젝트, 장식, 실

아이템 랜덤 스폰스폰 영역 지정아이템 확률 지정지정된 범위 내의 랜덤한 좌표에서 아이템 클래스를 랜덤으로 선택하여 스폰한다.TSubclassOf<> TSoftclassPtr<> 둘 다 포인터라기 보다는 클래스를 참조하기 위한 데이터 구조이다.보통 TSoftc
✍️Today I Learned 캐릭터 체력 관리 점수 관리 캐릭터 체력 관리 PlayerState 플레이어마다 고유한 정보 멀티 플레이 동기화 싱글 플레이에서는 없어도 됨 👉이번에는 싱글 플레이이므로 캐릭터 클래스에서 체력 관리 Health: 현재 체력 MaxHealth: 최대 체력 Damage 처리 언리얼에서 데미지 시스템을 제공한다. UGam...
✍️Today I Learned 게임 루프 게임 루프 게임의 전체적인 흐름 게임의 시작부터 종료까지 수행하는 단계를 의미한다. 게임 플로우 플레이어가 게임을 시작해서 진행하고 끝내는 과정에서 발생하는 모든 상호작용 GameState 게임 전역 상태 클라이
✍️Today I Learned HUD HUD Heads-up Display의 약자. 게임 내에서 미니 맵이나 체력 등이 표시되어있는 기본적인 UI 플레이어에게 정보를 제공하기 위한 화면이다. 예시) WoW HUD 내가 표시할 내용 현재 레벨 남은 시간 현
프로그래머스 - 멀리 뛰기프로그래머스 문제 링크한 번에 1칸이나 2칸을 뛸 수 있을 때 n칸을 건너갈 경우의 수를 구하고 이것을 1234567로 나눈 나머지를 리턴하는 함수 solution을 완성해라제한사항1 ≤ n ≤ 2000 1칸, 2칸을 뛸 수 있고 이들의 경우의

회전, 이동하는 플랫폼과 장애물을 피해 모든 🍬을 모아 종료 지점까지 도달하는 게임플레이어의 목숨은 3개 ❤️❤️❤️플레이어가 떨어져 목숨을 잃게 되면 시작지점에서 리스폰된다.해당 레벨의 모든 사탕을 모으지 못하면 종료 지점에 도달해도 레벨을 끝낼 수 없다.YouTu
접근 제어자struct: 기본적으로 모든 멤버가 public 으로 선언. 상속도 마찬가지class: 기본적으로 모든 멤버가 private 으로 선언. 상속도 마찬가지struct 또한 클래스 타입이기 때문에 객체화도 되고 생성자도 만들 수 있다.C++에서 class와 s
상속 관계에서 자식 클래스가 부모 클래스의 가상 함수를 재정의 하는 것이다.상속 관계에서만 발생하며 오버라이딩 시 부모 클래스에 필수적으로 virtual 키워드를 붙여야 한다. virtual 키워드가 붙어 오버라이딩 된 가상 함수들 중 호출될 메서드는 런타임 중에 동적
둘 다 메모리를 할당한다. new는 연산자 이고 malloc은 함수이다.new: C++ 연산자. 객체 지향 프로그래밍의 특징인 생성자/소멸자 호출을 지원한다.malloc: C 표준 함수. 메모리 블록을 할당하는 순수한 메모리 관리 함수. C++에서는 주로 new를 사용

HW08 추가 사항 닿으면 3초 뒤 폭발하는 섬광탄 3초 뒤 범위 안에 있으면 2초 동안 시야가 하얘진다. 추가 하트 먹으면 하트가 늘어난다. 최대 목숨보다 더 가질 수 없다. 유도탄 범위에 들어가면 해당 플레이어 포인터를 저장하여 3초동안 따라간 후 터진

언리얼 AI플레이어키보드/마우스 입력 - Player Controller - Character -> 움직임AI프로그래밍된 로직 - AI COntroller - Character -> 움직임AI Contoller - AI 의 뇌Character - AI의 몸통Naviga
✍️Today I Learned 언리얼 AI - 2 이전 강의 내용 AI 시야 감지 후 이동 구현 AI의 작동 프로세스 블랙보드 저장소 기반으로 -> 비해비어 트리에 의해 의사 결정 -> 컨트롤러가 실제로 명령을 내리면 -> 캐릭터가 동작한다. 4. BlackBoa
📅 2025-07-25코드카타 - k진수에서 소수 개수 구하기커리어데이프로그래머스 k진수에서 소수 개수 구하기양의 정수 n이 주어진다. 이 숫자를 k진수로 바꿨을 때 변환된 수 안에 조건에 맞는 소수의 개수를 반환해라조건0P0처럼 소수 양쪽에 0이 있는 경우P0처럼
📅 2025-07-26에셋 참조해서 클래스 가져오기위와 같은 방법으로 블루프린트나 C++ 클래스의 레퍼런스를 언리얼 에디터에서 복사하여 헤더 없이 클래스 정보를 가져올 수 있다.ConstructorHelpers::FClassFinder<> 가 찾는 값은 UCl
📅 2025-07-29프로그래머스 - 모음사전팀플 - AI Spawner 만들기TA 강의문제 링크 사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "
📅 2025-07-30팀플 - AI 스포너 구현 완료Gameplay Framework - 역할과 책임 분리GameMode\- 게임의 심판관 (규칙, 흐름 제어, 승부 판정) -> 결정GameState\- 게임 상황판 (모든 플레이어가 보는 공통 정보) -> 정보 저
✍️Today I Learned 📅 2025-07-31 [ ] 프로그래머스 - 뒤에 있는 큰 수 찾기 [ ] 팀플 - AI 공격 모션 발동 프로그래머스 - 뒤에 있는 큰 수 찾기 문제 링크 정수로 이루어진 배열 numbers가 있습니다. 배열 의 각 원소들에 대해
📅 2025-08-01CS - 컴퓨터 메모리 계층구조팀플 - BTTask로 공격모션+공격 동시 실행시키기컴퓨터는 각각 특징이 있는 서로 다른 여러 종류의 기억장치를 함께 사용하여 최적의 효율을 낼 수 있다.레지스터가장 빠른 메모리. CPU가 연산한 계산 결과를 저장
📅 2025-07-26프로그래머스 - 숫자 변환하기문제링크문제 설명자연수 x를 y로 변환하려고 합니다. 사용할 수 있는 연산은 다음과 같습니다.x + nx \* 2x \* 3자연수 x, y, n이 매개변수로 주어질 때, x를 y로 변환하기 위해 필요한 최소 연산 횟
📅 2025-08-07메모리 단편화버텍스 애니메이션 - 언리얼 time과 tick의 차이동적으로 메모리를 할당하고 해제하는 과정에서 빈 공간이 흩어지게되고 충분한 용량의 메모리가 남아있어도 연속적이지 않아서 메모리를 할당할 수 없는 경우를 말한다.외부 단편화빈 메모
✍️Today I Learned 📅 2025-08-08 [ ] 프로그래머스 - 다리를 지나는 트럭 [ ] UE - 데이터 중심 설계 프로그래머스 - 다리를 지나는 트럭 문제 링크 문제 설명 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다
✍️Today I Learned 📅 2025-08-11 [ ] 프로그래머스 - 가장 큰 수 [ ] integer로 boolean 변수 선언하기 프로그래머스 - 가장 큰 수 문제 링크 문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가
📅 2025-08-12프로그래머스 - 소수 찾기팀플 - 중간 보스, Swarm 몬스터 만들기. 공격 어빌리티 만들기문제 링크문제 설명한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다.각 종이 조각
✍️Today I Learned 📅 2025-08-13 [ ] UE - 성능 최적화 [ ] integer로 boolean 변수 선언하기 UE - 성능 최적화 1단계 Tick 1.1 Tick의 오버헤드 Tick: 매 프레임 실행되는 함수 DeltaTime: 이전 프
✍️Today I Learned 📅 2025-08-14 [ ] UE - GC와 메모리 관리 UE - GC와 메모리 관리 1.1 메모리 관리: C++ vs UE C++ 동적 할당한 메모리를 delete 하지 않으면 메모리 누수 발생한다. 같은 메모리에 대해 dele
📅 2025-08-18프로그래머스 - 쿼드압축 후 개수 세기문제 링크문제 설명0과 1로 이루어진 2n x 2n 크기의 2차원 정수 배열 arr이 있습니다. 당신은 이 arr을 쿼드 트리와 같은 방식으로 압축하고자 합니다. 구체적인 방식은 다음과 같습니다.당신이 압축

📅 2025-08-20챕터3: 팀프로젝트 완료UE: Non-Uobject 스마트 포인터 & 소유권게임 기획GAS를 활용한 확장성 있는 스킬 시스템 구현데이터 중심 설계 / 모듈식 설계다양한 스킬과 패시브가 중첩되는 재미\-> 뱀서라이크 "드래곤 서바이벌"게임 핵심
📅 2025-08-21프로그래머스 - 큰 수 찾기서버의 종류와 Dedicated ServerNetMode, NetConnetion, NetRoleP2P (Peer to Peer)각각의 컴퓨터가 클라이언트이자 서버인 구조예시) 다크소울, 토렌트Listen Server
📅 2025-08-22프로그래머스 - 삼각달팽이RPC (Remote Procedure Call)Property Replication함수를 호출하는 PC와 실행하는 PC가 달라도 되게 해주는 통신 기법언리얼에서 용도\- 게임에 큰 영향을 주지 않는 일시적인 효과에 사
📅 2025-08-25프로그래머스 - 연속된 부분 수열의 합2025 언리얼 페스타 1일차멀티플레이어 게임 개발 강의 - 4. 게임 프로젝트 생성문제 링크 문제 설명비내림차순으로 정렬된 수열이 주어질 때, 다음 조건을 만족하는 부분 수열을 찾으려고 합니다.기존 수열에
✍️Today I Learned 📅 2025-08-26 [ ] 언리얼 페스타 2일차 [ ] Property Replication 언리얼 페스타 2일차 이프선셋 VFX 업체가 만든 오픈월드 생존 게임 95% 블루프린트 5% - 멀티플레이 디자이너들이 블루프린트로 어
✍️Today I Learned 📅 2025-08-27 [ ] 프로그래머스 - [ ] 무인도 찾기 💡 느낀 점 (What I Felt) 출처 인프런: 이득우의 언리얼 프로그래밍 Part2. 2-1 출처: 스파르타코딩 내일배움캠프

📅 2025-08-28프로그래머스 - 행렬 테두리 회전하기나이아가라 - 화염 발사기문제 링크문제 설명rows x columns 크기인 행렬이 있습니다. 행렬에는 1부터 rows x columns까지의 숫자가 한 줄씩 순서대로 적혀있습니다. 이 행렬에서 직사각형 모양

📅 2025-09-01프로그래머스 - 전력망을 둘로 나누기데디케이티드서버 - 채팅 숫자 야구 문제 링크문제 설명n개의 송전탑이 전선을 통해 하나의 트리 형태로 연결되어 있습니다. 당신은 이 전선들 중 하나를 끊어서 현재의 전력망 네트워크를 2개로 분할하려고 합니다.
📅 2025-09-02프로그래머스 - 배달데디케이티드서버 - 데스매치문제 링크아니 왜 플레이어 1에서만 위젯 추가도 안되고 체력 업데이트도 안되고
GAS ASC 총 관리자 요청한 행동이 실행 가능한지 판단 및 실행 어빌리티가 있는지, 현재 스탯이 충분한지, 쿨다운이 끝났는지 등 어트리뷰트 단순 변수가 아니라 계산 가능한 데이터 구조 네트워크 동기화 ui 업데이트까지 관리 가능 BaseValue: 기본 스탯 Cu
✍️Today I Learned 📅 2025-09-04 [ ] 프로그래머스 - 점 찍기 프로그래머스 - 점 찍기 원래 풀이 시간 초과 풀이 💡 느낀 점 (What I Felt) 출처: 프로그래머스 - 점
✍️Today I Learned 📅 2025-09-05 [ ] 프로그래머스 - 마법 엘리베이터 [ ] GAS - Effect 프로그래머스 - 마법 엘리베이터 GAS - Effect GameplayEffect: 게임 내의 변화를 담당하는 시스템 Effect 타
📅 2025-09-09Lyra - CommonUICommonUI: UMG를 한 번 더 매핑한 플러그인. 쓸 부분만 쓰기UIPolicy: UI 설정 방식 결정. UI를 진짜 관리 → 다른 레이아웃 쓰려면 이거 만들어서 GameUIManagerSubsystem에 등록제
✍️Today I Learned 📅 2025-09-10 [ ] GAS: GameplayTag / GameplayCue GAS: GameplayTag / GameplayCue GameplayTag 문자열 기반의 계
📅 2025-09-11Lyra - 퀵바 + 쿨다운무기 획득퀵바의 지정된 칸에 해당 스킬 아이콘 표시스킬 사용하면 그 아이콘에 쿨다운 표시라이라 샘플 프로젝트의 퀵바와 수류탄을 참고하여 진행했다.쿨다운 트리거1\. 위젯에서 Initialized 때 메시지 리스너 등록
✍️Today I Learned 📅 2025-09-17 GAS 핵심 개념 데이터 주도 설계 C++ 코드말고 블루프린트나 데이터테이블등 에디터에서 바로 수정할 수 있도록 설계 역할 분리 조합 가능성 새로운 클래스를 만들지 않고 기존의
📅 2025-09-18인벤토리, 장비창 구현 계획참고: GAB_ShowWidget_WhenInputPressed경로: ShooterExplorer → Inventory Test구현 방식: 어빌리티 시스템을 활용해 입력 처리와 UI 표시를 연결참고: W_LyraGam

📅 2025-09-24플레이어 스탯창 구현3개의 AttributeSet (공격/방어/유틸리티)을 하나의 위젯에서 표시Tab키 홀드로 위젯 토글 (Enhanced Input Ability 사용)C++에서 데이터 처리, 블루프린트에서 UI 구성Dynamic Entry
✍️Today I Learned 📅 2025-10-01 [ ] 팀플 - 초기 아이템 추가와 HUD 업데이트 팀플 - 초기 아이템 추가와 HUD 업데이트 퀵바 컴포넌트의 바인딩 문제 컨트롤러→폰→EquipmentManagerComponent의 델리게이트와 바인딩 의 과정에서 생성 시점 문제로 GetPawn()을 실패하는 경우 발생 해...
📅 2025-10-20프로그래머스: 멀쩡한 사각형문제 링크 문제 설명가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를
📅 2025-10-21프로그래머스: 시소 짝꿍문제 링크 문제 설명어느 공원 놀이터에는 시소가 하나 설치되어 있습니다. 이 시소는 중심으로부터 2(m), 3(m), 4(m) 거리의 지점에 좌석이 하나씩 있습니다.이 시소를 두 명이 마주 보고 탄다고 할 때, 시소가 평
📅 2025-10-22프로그래머스: 테이블 해시 함수문제 링크문제 설명완호가 관리하는 어떤 데이터베이스의 한 테이블은 모두 정수 타입인 컬럼들로 이루어져 있습니다. 테이블은 2차원 행렬로 표현할 수 있으며 열은 컬럼을 나타내고, 행은 튜플을 나타냅니다.첫 번째 컬럼
📅 2025-10-27DFS vs BFS프로그래머스: 미로탈출깊이 우선 탐색한 방향으로 끝까지 들어가다 막히면 되돌아오는 방식으로 모든 경로를 탐색한다.Stack이나 재귀 함수를 사용한다.Last In First Out 구조사용하는 경우모든 경로를 탐색해야 할 때조
📅 2025-10-31우선순위 큐프로그래머스: 디펜스 게임우선순위 큐는 먼저 들어간 것이 먼저 나오는 일반 큐와 달리 우선순위가 높은 것이 먼저 나온다.내부 구조는 Heap으로 이루어져 있다.완전 이진 트리 형태 (마지막 레벨을 제외하고 모든 노드가 완전히 채워진다
📅 2025-11-03최종프로젝트: 인벤토리 마스터 컴포넌트 구현플레이어와 월드의 창고, 상자에 들어갈 인벤토리 마스터 컴포넌트를 구현을 맡았다.드래그 앤 드롭으로 아이템을 옮기고 여러명이 한 상자에 동시 접근이 가능하도록 구현하는 것에 중점을 두고 작업을 진행하고
📅 2025-11-10아이템 사용 어빌리티 활성화부패도 시스템 구상아이템 데이터에 등록된 Ability를 즉시 활성화하는 기능을 추가했다.핵심 동작:GiveAbilityAndActivateOnce() 사용으로 Ability를 즉시 부여하고 활성화활성화 후 자동으로
📅 2025-11-11인벤토리 슬롯 구조 개선 및 아이템 인스턴스 통합부패 시스템 구현 (만료 시간 계산 및 자동 변환)소비 아이템 사용 시 GAS 어빌리티 자동 활성화델리게이트 로직 통합으로 중복 코드 제거FSlotStructMaster 구조체를 리팩토링하여
📅 2025-11-13언리얼 네트워크 복제: Actor 이름은 월드별로 독립적이다구조체 내부 값 변경 시 자동 복제 조건멀티플레이어 환경에서 Client가 BP_TSCharacter_C_0을 참조하는 것을 보고 "어? Player 1인데 왜 0번 캐릭터를 참조하지?
📅 2025-11-142주차 작업 정리인벤토리 컴포넌트에서 부패도 관련 구현부패도 매니저 델리게이트 구독 (OnDecayTick 바인딩)OnDecayTick() 콜백 함수 구현 - 1초마다 호출ConvertToDecayedItem() 함수로 만료된 아이템을 부패물로
📅 2025-11-17OnPreviewMouseButtonDown vs OnMouseButtonDown 차이점드래그앤드롭에서 좌클릭/우클릭 분기 처리DragDropOperation에 데이터 저장하는 패턴언리얼 이벤트 버블링 순서 (Tunne
📅 2025-11-19위젯 스위처를 활용한 UI 상태 관리Toggle 패턴으로 UI Open/Close 통합ESC 키 우선순위 기반 UI 닫기 로직UInterface를 통한 블루프린트-C++ 데이터 전달방어적 프로그래밍으로 UI 상태 관리Visibility를 직접
📅 2025-11-20언리얼 GAS: 클라이언트에서 실행되지 않는 패시브 어빌리티 문제 해결목표: 언리얼 엔진의 Gameplay Ability System (GAS)을 사용하여 리슨 서버 멀티플레이 환경에서 상태 유지형 패시브 어빌리티를 구현하고, 클라이언트의 특정
📅 2025-11-21인터페이스 기반 상호작용 위젯 표시 시스템 추가픽업 아이템 액터 구현 및 AddItem 테스트컨테이너 액터 구현서버/클라이언트 실행 분
문제링크사이클 중복을 방지할 수 없어서 실패지나간 경로인지 체크하여 중복 방지하여 해결
📅 2025-11-26인벤토리 컴포넌트 편의 함수 구현 (GetItemCount, ConsumeItem, AddItem 오버로드)제작 시스템과 인벤토리 연동을 위한 인터페이스 완성구현 중 발견한 논리 버그 및 개선 방안 도출제작 시스템에서 필요로 하는 인벤토리 조작
📅 2025-12-01플레이어 컨트롤러를 중재자로 활용한 제작 시스템 구현오너가 없는 제작대 액터와 플레이어 간의 네트워크 통신을 구현할 때, 플레이어 컨트롤러를 중재자(Mediator) 패턴으로 활용했다.제작대(ATSCraftingTable)는 월드에 배치된 액터로
문제링크BFS를 이용해 1과 각 노드의 거리를 구한다.더이상 탐색할 하위 노드가 없는 노드들을 저장한다.저장한 노드를 dist의 내림차순으로 정렬한다.최대 거리값과 같은 노드의 개수를 구한다.

📅 2025-12-03빌딩 컴포넌트건축 시스템 설치 구역 검증 로직LightSource 범위 체크로 설치 가능 영역 제한서버 권한 기반 레시피 재료 검증 및 소비상자나 제작대 등 각각 다른 상호작용이 필요한 액터를 제작 및 설치하는 빌딩 컴포넌트를 구현했다.검증 순
문제링크0번 섬에서 시작하여 모든 섬을 한번씩 방문하는 최소 비용을 찾는 로직이라 틀림최소 신장 트리(MST)의 개념으로 접근하여 해결했다. 최소 신장 트리: 모든 노드를 연결하며 사이클이 없는 부분 그래프(신장 트리) 중 가중치의 합이 최소가 되는 트리서로소 집합(D
📅 2025-12-05아이템 상세데이터 표시 정보 관리를 위한 GameInstanceSubsystem 구현빌딩/크래프팅 위젯의 결과물 상세페이지에서 스탯을 표시할 때 각 스탯과 효과마다 표시 용어가 다름"체력 회복", "Health Recovery" 같은 다국어 표시
📅 2025-12-09인터페이스 래퍼 + 팩토리 패턴으로 카테고리별 스탯 표시 로직 분리빌딩/아이템 스탯 표시 시스템에서:FItemData와 FBuildingData는 완전히 다른 구조체 → 함수를 따로 만들어야 함각 카테고리(TOOL, WEAPON, ARMOR, C
📅 2025-12-11Physical Material을 활용한 재질별 발소리 시스템 구현AnimNotify 기반 사운드 트리거링멀티플레이어 환경에서의 로컬 사운드 재생바닥 재질(콘크리트, 나무, 금속 등)에 따라 다른 발소리를 재생하는 시스템을 구현. 걷기/달리기/
📅 2025-12-18타이머로 주기적인 연료 소모 시스템 구현델리게이트로 UI와 로직 분리특정 아이템만 받는 커스텀 인벤토리 컴포넌트StartTime 저장으로 클라이언트 프로그레스바 구현연료를 넣으면 불을 켤 수 있는 가로등 액터를 만들었다. 핵심은 서버에서 타이머

8개월간 9to9으로 정말 열심히 달려왔습니다. 마지막까지 함께한 소인 연구소 팀원들 다들 너무 고생했고 취업까지 잘 되길 바랍니다 ㅠㅠ항상 체크하러 와주시고 조언해주신 튜터님도 잊지 못할 것 같습니다...