반응형
인기글
[windbg] windbg 사용하기, 덤프 분석하기
[windbg] windbg 사용하기, 덤프 분석하기
◽ 툴(tool)
2024.06.26 15:59
"[windbg] windbg 사용하기, 덤프 분석하기" 1. 덤프를 읽을 심볼과 심볼에 맞는 소스코드 경로를 연결시킨다. 2. 덤프를 windbg에 드래그 드롭 또는 open으로 파일을 열면 이런 화면을 볼 수 있다.Loading Dump File : 덤프 파일의 위치, 덤프 종류 Executable search path is : 덤프가 발생한 OS Debug sesstion time : 덤프 발생 시점 시간 Process Uptime: 부팅 이후 동작한 시간 3. !analyze -v 명령어 실행 !analyze-v 명령어를 실행하면 더욱 자세하게 덤프 내용이 나온다.FAULTING_IP: 어떤 부분에서 문제가 일어났는지 표시한다. callstack의 마지막 부분이다. KERNRLBASE.d..
게임 회사 용어 정리 (아마 계속 업데이트 될거임.)
게임 회사 용어 정리 (아마 계속 업데이트 될거임.)
◽ 취업&이직
2024.07.11 17:18
1. IBT (Interal Beta Test)- 임직원들을 대상으로 사내 테스트 2. CDN (Content Delivery Network)- 지리적으로 분산된 서버들을 연결한 네트워크 - 전 세계 CDN 서버의 분산 특성은 서버에서 캐시된 콘텐츠를 사용자에게 더 가깝게 제공함으로써 성능을 향상시킨다.(출처: 베타 플러스) 3. Launcher (런쳐) - 게임을 실행하는 실행파일을 말한다. exe- 바이너리라고 칭하기도 함. 4. OTP (One Time Password) 5. Mac Address (media access control address)- 네트워크 세그먼트의 데이터 링크 계층에서 통신을 위한 네트워크 인터페이스에 할당된 고유식별자. (출처: 위키백과)🎞 상황극??? : 맥...?..
시력 : -9.75D, -9.12D 초고도근시,난시 렌즈삽입술 수술 후 다음 날 바로 출근한 직장인 / 1주일 간 후기, 가격 공개 (병원 : <서울 밝은 세상 안과> )
시력 : -9.75D, -9.12D 초고도근시,난시 렌즈삽입술 수술 후 다음 날 바로 출근한 직장인 / 1주일 간 후기, 가격 공개 (병원 : <서울 밝은 세상 안과> )
◽ 일상&사진
2026.07.14 06:58
공간을 일 그러 뜨리는 능력이 있던 개찐따 안경 30년 만에 벗어내다. ✅ 서울|부산 밝은 세상안과를 선택한 이유압도적인 수술경험압도적인 리뷰 수 (네이버 리뷰 1만 건 넘고, 구글 리뷰도 5000건이 넘는다. 압도적이다..)GPT가 추천해 준 병원 중 하나오래된 병원 (나랑 한 살 밖에 차이 안남..!)전문의 의사 많음 장비 많음 병원 아주 큼회사에서 제휴업체 안과가 있어 한 100만 원 정도는 싸게 수술할 수 있지만 굳이...? 제휴업체의 의사 선생님을 모르지만, 동네 병원에서 수술은 뭔가 무섭다.. 수술경험이 많은 병원에서 하는게 더 안심된다. https://www.iloveeye.com/index.do?utm_source=naver_pc&utm_medium=bs_seoul&utm_camp..
[Perforce/P4V] warning : Can't clobber writable file ....
[Perforce/P4V] warning : Can't clobber writable file ....
◽ 툴(tool)
2025.05.29 18:50
"⚠️warning : Can't clobber writable file"clobber : "덮어쓰다" , '강제로 교체하다' 기본적으로 Perforce에서 받은 작업 공간의 파일을 수정하기 위해서는 [Check out...] 과정을 거쳐야 한다. 이 과정 [Check out...]에서 읽기 모드이었던 작업 파일이 쓰기 모드로 바뀌게 되고 수정이 가능하게 된다.Perforce는 [Check out...] 과정을 생략하고 직접 읽기모드를 변경하거나 파일을 덮어 씌운 파일이 존재할 때 업데이트를 받게 되면 사용자가 작업 중인 내용을 실수로 잃는 것을 방지하기 위해 덮어쓰기를 하지 않고 warning을 뱉어낸다. 근데 만약 .. 덮어쓰고 싶다? 할 때 아래 방법을 따라 하자! P4V -> Connectio..
[일상/사진] 수원 화성 유기견 보호소 봉사활동 후기
[일상/사진] 수원 화성 유기견 보호소 봉사활동 후기
◽ 일상&사진
2025.01.28 19:15
경기도 수원 화성시에 있는 유기견 보호소 봉사활동을 다녀왔다. 너무 오랜만에 간 봉사활동…. 다시 종종 다녀야겠다.봉사활동 중 유기견 봉사는 내가 아이들에게 도움을 주고, 나도 아이들에게 마음의 위로를 받는 활동이여서 좋아한다.여기는 강아지 약 90마리, 고양이 약 30마리 정도가 있었다. 이번에 또 2마리를 누군가 보호소에 두고 갔다고 한다. 한 아이의 삶을 책임지지 못할 거면 시작조차 하면 안된다. 에휴 .. 1. 아이들 밥그릇 물그릇 설거지 후 다시 배치 밥그릇 물그릇마다 이름표가 있어서 이름 찾아서 다시 배치해주고 밥과 물을 채워주면 끝청소하는 동안에는 애들 마당에서 놀도록 모두 풀어줬다. 2. 뒷견사, 앞견사 청소 담당이 아니였다. 설거지 하는동안 마당에 멍멍이 풀어두고 청소하는..
[Unreal / C++] Game Ability System 정리 (입력 바인딩부터 쿨타임 처리까지)
[Unreal / C++] Game Ability System 정리 (입력 바인딩부터 쿨타임 처리까지)
◽ 언리얼(unreal)
2026.03.03 23:06
[Game Ability System]으로 키보드/마우스 눌렀을 때 바운딩하기 또는 어빌리티 부르는 방법, 어빌리티 시스템과 함께 쓰는 모듈들을 함께 정리해보려고 합니다. 1. GAS의 핵심 구성 요소GAS는 여러 시스템이 유기적으로 연결된 구조입니다. (1). Gameplay Ability / (GA) " 행동을 정의하는 클래스 "🔹핵심 함수 ActivateAbility()EndAbility()CommitAbility() (2). AttributesSet(AS) / Curve Data " 체력. 마나, 공격력 같은 수치를 담당하는 클래스 "Attribute변경은 직접 하지 않고 GameplayEffect를 통해서만 변경하는 것이 정석 구조입니다. (3). ASC (UAbilitySystemComp..
[세팅] pch : pre compile header 세팅, 다른 프로젝트 참조하기, 실행파일 저장위치 변경하기
[세팅] pch : pre compile header 세팅, 다른 프로젝트 참조하기, 실행파일 저장위치 변경하기
◽ 컴퓨터 공학
2025.03.06 17:00
1. pch(pre compile header)?컴파일러가 더 빠르게 처리할 수 있는 중간 형태로 컴파일된 (c 또는 c++) 헤더 파일.stdafx.h --> 내가 적용하고 싶은 미리 컴파일된 헤더 이름으로 변경  pch.cpp 파일 속성에서 사용이 아니라 만들기로 변경  2. 다른 프로젝트 연결하기 예를 들어, ServerCore프로젝트를 GameServer와 DummyClient가 참조하고 싶을 때 속성 설정 방법이다.GameServer와 DummyClient 모두 동일하게 속성창에 들어간다. 포함디렉터리와 라이브러리 디렉터리에 포함디렉터리: $(SolutionDir) 포함하고 싶은 프로젝트 이름 \라이브러리: $(SolutionDir) 포함하고 싶은 라이브러리 이름 \ 3. 실행파일 저장위치 변경..
(백준/c++) 24479 - 알고리즘 수업 - 깊이 우선 탐색 1
(백준/c++) 24479 - 알고리즘 수업 - 깊이 우선 탐색 1
https://www.acmicpc.net/problem/24479 24479번: 알고리즘 수업 - 깊이 우선 탐색 1 첫째 줄에 정점의 수 N (5 ≤ N ≤ 100,000), 간선의 수 M (1 ≤ M ≤ 200,000), 시작 정점 R (1 ≤ R ≤ N)이 주어진다. 다음 M개 줄에 간선 정보 u v가 주어지며 정점 u와 정점 v의 가중치 1인 양 www.acmicpc.net 인접리스트, DFS * 주의 1. 문제에서 나온 알고리즘을 따라서 만들면 되지만 인접행렬로 코드를 짜게 되면 시간초과로 통과 할 수없었다. 인접 리스트로 코드를 작성해야 한다. 2. 무방향 그래프 이므로 양쪽으로 연결해줘야 한다.
[Algorithm/MST] 크루스칼(Kruscal) 알고리즘
[Algorithm/MST] 크루스칼(Kruscal) 알고리즘
◽ 알고리즘
2022.03.03 17:56
크루스칼(Kruscal) 알고리즘 최소 비용 신장트리(Minimum Spanning Tree) 대표적인 알고리즘 중 하나로 그래프 내의 모든 정점들을 가장 적은 비용으로 연결하기 위해 사용한 알고리즘이다. [Algorithm] 최소 비용 신장 트리 (MST, Minimum SpanningTree) (tistory.com) [Algorithm] 최소 비용 신장 트리 (MST, Minimum SpanningTree)신장트리(SpanningTree) 그래프 중 모든 정점이 간선으로 연결되어 있고, 간선들 사이에 사이클이 없는 그래프를 의미한다. 특징으로는 N개의 정점을 가지는 그래프의 최소 간선(edge)의 수는 (N-1)개cclient.tistory.com이전에 포스팅한 최소 비용 신장 트리의 다섯까지 특징..
(백준/c++) 11054번 - 가장 긴 바이토닉 부분수열
(백준/c++) 11054번 - 가장 긴 바이토닉 부분수열
11054번: 가장 긴 바이토닉 부분 수열 (acmicpc.net) 11054번: 가장 긴 바이토닉 부분 수열 첫째 줄에 수열 A의 크기 N이 주어지고, 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ Ai ≤ 1,000) www.acmicpc.net * 문제 풀이 알고리즘 문제 내에 있는 예제를 예시로 들면, {1 5 2 1 4 3 4 5 2 1} 에서 가장 긴 바이토닉 부분 수열은 {1, 2, 3, 4, 5, 2, 1} = 답 7이 됩니다. 밑에 작성한 알고리즘은 왼쪽에서 부터 증가하는 부분 수열의 DP(InC)와 오른쪽에서 부터 증가하는 부분 수열의 DP(DeC)를 구해서 그 합 중 가장 큰 수가 해답이 되도록 작성하였습니다. InC = { 1, 2, 2, ..
최신글
[Perforce/P4V] workspace에 파일 받지 않아도 대용량 파일 지우는 방법 (2012 이전 버전 / 2012 이후 버전)
◽ 툴(tool)2026.08.03 15:51[Perforce/P4V] workspace에 파일 받지 않아도 대용량 파일 지우는 방법 (2012 이전 버전 / 2012 이후 버전)

아주 오래된 Perforce를 쓰는 사람들(2012년 전 퍼포스)... workspace에 파일 받지 않아도 대용량 파일 지우는 방법 공유 일단 우리 회사 퍼포스는 아주 오래된 구석기시대의 퍼포스를 사용한다. 구석기라고 말하기도 그렇고... 빙하기 정도? 퍼포스 모든 커밋이 중앙서버(Depot)로 되어 있다. 퍼포스의 가장 큰 장점 중 하나가 빅데이터, 바이너리 파일들을 빠르게 처리할 수 있다. 때문에 큰 프로젝트를 하는 곳에서 리소스용으로 가지고 있는 경우가 많다. 해본 사람은 알겠지만 게임회사에서 게임 리소스는 아주아주 대용량이다. 받는데 얼마나 오래 걸리겠어 ~ 하지만 한 사람이 받으면 중앙서버를 사용하기 때문에 다른 사람의 접근이 아주 느려진다. 장난 빼고 모든 팀원이 받는다고 하면 하루 종일 걸..

◽ 언리얼(unreal)2026.07.29 11:48[Unreal / C++] DELEGATE

프로그래밍 용어인 델리게이트는 넓은 의미로 본다면 특정 객체가 해야 할 로직을 다른 객체가 대신 처리할 수 있도록 만드는 보편적인 설계의 개념으로 의미한다.언리얼 엔진의 델리게이트는 A객체가 B객체에 작업 명령을 내릴 때 B 객체에 자신을 등록하고 B의 작업이 끝나면 이때 A에게 알려주는 방식을 의미한다 .A가 B가 요구하는 형식으로 멤버 함수를 만들면 이를 B에 등록할 수 있고, B가 특정 상황이 될 때 B는 미리 등록해둔 A의 멤버 함수를 호출해주는 방식으로 동작한다. 매크로 (MACRO)Blueprint바인딩 개수반환값특징DECLARE_DELEGATE❌1개 ⭕가장 빠름DECLARE_MULTICAST_DELEGATE❌여러 개 ❌호출 순서 보장 안됨.DECLARE_DYNAMIC_DELEGATE⭕1개 ..

◽ 언리얼(unreal)2026.07.29 11:47[Unreal / C++] TObjectPtr, TSubclassOf, TInstancedStruct, 다양한 UObject 포인터..

📒 1. TObjectPtr (UE5) " 이미 만들어진 객체를 가리키는 UObject 포인터 "UE5 : TObjectPtr Item;UE4 : UInv_InventoryItem* Item; 이미 생성된 UObject를 가리키는 포인터 UE5에서 권장하는 UObject 포인터사용법은 UObject*와 거의 동일하다.GC가 객체를 추적하기 쉽다.에디터에서 참조 관리가 향상된다.지역 변수나 함수 인자는 Raw Pointer(UE4 버전)를 많이 쓴다. 📒 2. TSubclassOf " 앞으로 만들 클래스 " TSubclassOf WeaponClass;특정 클래스의 자식 클래스만 담을 수 있는 클래스 타입실제 객체가 아니라 클래스(설계도)를 저장한다SpawnActor(), NewObject() 에서 많..

시력 : -9.75D, -9.12D 초고도근시,난시 렌즈삽입술 수술 후 다음 날 바로 출근한 직장인 / 1주일 간 후기, 가격 공개 (병원 : <서울 밝은 세상 안과> )
◽ 일상&사진2026.07.14 06:58시력 : -9.75D, -9.12D 초고도근시,난시 렌즈삽입술 수술 후 다음 날 바로 출근한 직장인 / 1주일 간 후기, 가격 공개 (병원 : <서울 밝은 세상 안과> )

공간을 일 그러 뜨리는 능력이 있던 개찐따 안경 30년 만에 벗어내다. ✅ 서울|부산 밝은 세상안과를 선택한 이유압도적인 수술경험압도적인 리뷰 수 (네이버 리뷰 1만 건 넘고, 구글 리뷰도 5000건이 넘는다. 압도적이다..)GPT가 추천해 준 병원 중 하나오래된 병원 (나랑 한 살 밖에 차이 안남..!)전문의 의사 많음 장비 많음 병원 아주 큼회사에서 제휴업체 안과가 있어 한 100만 원 정도는 싸게 수술할 수 있지만 굳이...? 제휴업체의 의사 선생님을 모르지만, 동네 병원에서 수술은 뭔가 무섭다.. 수술경험이 많은 병원에서 하는게 더 안심된다. https://www.iloveeye.com/index.do?utm_source=naver_pc&utm_medium=bs_seoul&utm_camp..

[Unreal / C++] AAA급 UI 만들기 ControlTab - IInputProcessor 이용하여 키 변경하기 + AddTicker 사용하는 이유
◽ 언리얼(unreal)2026.03.16 23:11[Unreal / C++] AAA급 UI 만들기 ControlTab - IInputProcessor 이용하여 키 변경하기 + AddTicker 사용하는 이유

Enhanced Input 키 리맵 UI 구현 흐름 정리이번 글에서는 키 변경 UI가 실제로 어떤 흐름으로 동작하는지 정리해보겠습니다.예시는 UWidget_ListEntry_KeyRemap, UWidget_KeyRemapScreen, 그리고 IInputProcessor를 사용한 구조입니다.전체 흐름은 아래처럼 보면 이해하기 쉽습니다.리스트 엔트리에서 변경 / 리셋 버튼 클릭키 입력을 받을 전용 화면 표시화면 활성화 시 Input Preprocessor 등록사용자 입력을 먼저 감지유효한 입력이면 실제 키 매핑 변경설정 저장 후 화면 종료비활성화 시점에 Input Preprocessor 해제즉, 단순히 버튼을 눌러 키를 바꾸는 구조가 아니라 입력을 기다리는 전용 화면을 띄우고, 그 안에서 입력을 먼저 받아 ..

[c++/ warning C4541] : 'dynamic_cast'이(가) /GR- 스위치와 함께 다형 형식 'Base'에 사용되었습니다. 예기치 않은 결과가 발생할 수 있습니다. + vfptr에 대해서
◽ 에러 해결 메모2026.03.12 11:54[c++/ warning C4541] : 'dynamic_cast'이(가) /GR- 스위치와 함께 다형 형식 'Base'에 사용되었습니다. 예기치 않은 결과가 발생할 수 있습니다. + vfptr에 대해서

비주얼 스튜디오의 런타임 형식 정보 사용은 C++의 RTTI(Run-Time-TypeInformation)의 옵션입니다. 이 옵션은 보통 dynamic_cast나 typeid, std::type_info를 쓸 때 필요합니다.예(/GR): 실행 중에 “이 객체의 실제 타입이 뭐지?”를 확인할 수 있음dynamic_cast, typeid, std::type_info 기반 동작 사용 가능다형성 기반 코드, 상속 구조, 플러그인/프레임워크 코드에 안전타입 정보가 추가돼서 .rdata 섹션 크기가 늘어난다.(약간)아니요(/GR-): 그런 타입 정보 생성을 끔런타임 타입 판별 기능을 사실상 못 쓴다고 보면 됨성능·용량을 조금 더 아끼고 싶은 프로젝트에서, RTTI를 전혀 안 쓴다는 확신이 있을 때만 고려dynami..

Mixamo Converter 사용법
◽ 툴(tool)2026.03.04 23:49Mixamo Converter 사용법

https://terribilisstudio.fr/?section=MCAnimations generated by Adobe's Mixamo.com are not fully compatible with Unreal Engine 4 and 5, most notably when it comes to IK or root motion extraction. Mixamo Converter software is a mini-app that processes FBX files downloaded from Mixamo and adapt" data-og-host="terribilisstudio.fr" data-og-source-url="https://terribilisstudio.fr/?section=MC" data-og-..

[Unreal / C++] Game Ability System 정리 (입력 바인딩부터 쿨타임 처리까지)
◽ 언리얼(unreal)2026.03.03 23:06[Unreal / C++] Game Ability System 정리 (입력 바인딩부터 쿨타임 처리까지)

[Game Ability System]으로 키보드/마우스 눌렀을 때 바운딩하기 또는 어빌리티 부르는 방법, 어빌리티 시스템과 함께 쓰는 모듈들을 함께 정리해보려고 합니다. 1. GAS의 핵심 구성 요소GAS는 여러 시스템이 유기적으로 연결된 구조입니다. (1). Gameplay Ability / (GA) " 행동을 정의하는 클래스 "🔹핵심 함수 ActivateAbility()EndAbility()CommitAbility() (2). AttributesSet(AS) / Curve Data " 체력. 마나, 공격력 같은 수치를 담당하는 클래스 "Attribute변경은 직접 하지 않고 GameplayEffect를 통해서만 변경하는 것이 정석 구조입니다. (3). ASC (UAbilitySystemComp..

[Unreal] Behavior Tree 이해하면서 몬스터 AI 만들기
◽ 언리얼(unreal)2025.12.02 22:34[Unreal] Behavior Tree 이해하면서 몬스터 AI 만들기

동영상1 1. 블랙보드 세팅에 대하여... 블랙보드(Blackboard) 에셋은 AI의 두뇌로 생각할 수 있으며, 비헤이비어 트리가 결정 내리는 데 사용하는 키(Key) 값을 저장한다. 블랙보드는 필요에 따라 c++ 또는 블루프린트 안에서 Set, Get 할 수 있다. 여기서 최상단에 SelfActor값과 TargetActor값의 거리를 service 하는데 이 두 값을 어디서 세팅하는지 알아보자. 1.1. SelfActor블랙보드 처음 생성하면 SelfActor가 나온다. 이 SelfActor는 그냥 현재 이 블랙보드를 사용하는 주체라고 생각하면 된다. C++ AAIController 클래스 내부에서 GetPawn()을 SelfActor에 세팅해주고 있다.1.2. TargetActorTargetAct..

[Unreal / C++] AAA Frontend UI/Menu 만들기 (프레임 워크 정리 +  델리게이트, 서브시스템)
◽ 언리얼(unreal)2025.11.20 17:54[Unreal / C++] AAA Frontend UI/Menu 만들기 (프레임 워크 정리 + 델리게이트, 서브시스템)

# UI 프레임 워크 구조 및 세부 구조 # 1. Frontend Developer SettingsUDeveloperSettings을 한다.Config 파일 기반으로 UI Screen을 태그로 매핑함“Frontend.Widget.OptionScreen” 같은 Tag → 위젯 Blueprint Class 매핑이것이 실제 UI Screen Factory 역할을 함어떤 Screen Tag가 어떤 위젯 BP를 가리키는지 저장게임 시작 시 / 화면 전환 시 UI Subsystem이 이것을 참고하여 로딩함 2. List Data Object 실제 옵션 값 저장값 변경 시 Delegate BroadcastTryResetBackToDefaultValue() 등 다양한 함수 제공3. ListEntry Widget각 옵션..

[Unreal] UI 세팅/구조 분석 (Set Up Common UI)
◽ 언리얼(unreal)2025.09.16 23:41[Unreal] UI 세팅/구조 분석 (Set Up Common UI)

Activate에서 SubSystem에 있는 PushSoftWidgeToStackAsync 비동기 위젯 생성 및 스택 추가 함수를 호출한다. 주요 클래스 정리하기 1. UCommonActivatableWidgetContainerBaseUCommonActivatableWidget 위젯을 담고 관리하는 기본 컨테이너 클래스2. UDeveloperSettings자신만의 세팅(설정값/옵션) "ProjectSetting", "Editor Settings"를 생성하고 관리할 수 있는 클래스3. UGameInstanceSubsystem게임 인스턴스 생명주기(게임 전반에 걸친 공유 기능 구현에 적합)특정 기능을 모듈 단위로 분리하여 관리하는 "자동 인스턴싱 및 수명 관리 클래스" 프로그래머가 직접 객체를 생성하거나..

◽ 언리얼(unreal)2025.09.14 20:16[Unreal] Frontend UI Subsystem

아 이제 ui만하면 만들고 있는 프로젝트가 끝이난다... 이번 달 안에 꼭 끝낼 수 있으면 좋겠다 할 수 있드아 ~!!!!!! 게임 로직 인강은 정리하면서 할 수 없었는데 이번에는 한 번 정리하면서 UI 프로젝트를 마쳐보려고 한다 1. SubSystem이 뭔지? 언리얼에는 UWorldSubsystem, UGameInstanceSubsystem, UEngineSubsystem 같은 서브시스템 개념이 있다. 특정 라이프사이클(월드 단위, 게임 인스턴스 단위, 엔진 전체 단위)에 따라 자동으로 생성/초기화되는 매니저 객체.전역 싱글톤 대신 “월드나 인스턴스 스코프 안에서만” 살아 있는 싱글톤 느낌이라고 보면 된다. 게임 전반에 걸쳐 공통적으로 쓰이는 UI(특히 프론트엔드 화면) 관련 매니저라고 이해하면 됨. ..

반응형
image