
오늘은 내일배움캠프 언리얼 게임개발자 양성과정 8기생으로서 본 캠프 수강을 시작한 날이다. 아직 실제 개발 과정 교육에 들어가진 않았지만, 캠프 과정에 대한 안내나 팀원들과의 만남, 개발자로서의 미래에 대해 더 고민해 볼 시간이 주어졌던 하루였다. 언리얼 개발자로서의

오늘은 과제로 Unreal Engine5의 Level Blueprint 내부에서 간단한 총게임을 만들어 보는 시간을 가졌다. 사양으론좌클릭 시 총을 쏨. 총을 쏠 시 보유 총알이 한개씩 줄고, 총의 온도가 오름탄창이 비어있으면 총을 쏠 수 없고, 총이 과열될 시 총을

블루프린트 라이브세션 내용 중 기억해 둘 만한 것 언리얼 프로젝트 주소에 절대로 한국어 넣지 말 것. 레벨 여러개 동시에 띄어놓고 볼 수 없다. 어쩔수없다. 캐릭터 이동 세팅 복습 일단 캐릭터 이동을 세팅하기 위해, 새로 만든 플랫포머 과제용 프로젝트에 빈 레벨을
Get Actor Forward Vector-> Add Movement Input으로 뒷걸음 칠 때 캐릭터가 부들거릴 수 있음 -> CharacterMovementComponent에서 Orient Rotation to Movement를 체크 해놨을 시 두개가 충돌하는 것. Get Control Rotation으로 카메라 기준 전후좌우를 가져오고 여기서 Ge...
C언어 기본 강의 수강C++ 언어 기본 강의 수강자료형\* 변수명 = 메모리주소값: 포인터 선언법\*포인터 = 역참조 연산자. 위에 한 대로 선언한 변수명이 여기 들어간다 i.e)PtrToX&XXX: XXX 변수의 주소값int\* PtrToX = &Num 이면 \*Pt

천천히 읽기, 카멜 케이스, 파스칼 케이스, 스네이크 케이스소스 코드(.h, .c)->전처리기->확장된소스코드(.pre)->컴파일러->어셈블리코드(.s)->어셈블러->오브젝트 코드(.o) -> 링커 -> 머신 코드(.exe) 실행 파일 까지우리는 소스 코드 작성법 배우
키워드 스코프 & 수명: 지역/전역, static(정적 변수), const 함수 기본기: 함수 선언/정의, 전방 선언, 매개변수 전달 방식 배열·포인터 묶음: 포인터, &/`, 포인터 연산, 배열-포인터 관계(arr[i] == (arr+i)`) 파일 구조: 헤더/소스 분리, 분할 컴파일 클래스 기초: 접근 지정자(public/private/protected...

- 메모리 그리기 - `*`, `&`, Right-Left Rule - NULL 포인터 - `switch` `case:` - 포인터 & 배열 - 함수에 값 전달/주소 전달 - `while` 무한루프 - `return 0;` 복수 사용
스택 메모리와 힙 메모리의 차이를 다시 정리new, delete, delete\[]의 역할과 동적 할당의 기본 구조를 복습했다.Dangling Pointer와 Memory Leak이 왜 위험한지 확인했다.스마트 포인터 unique_ptr, shared_ptr, weak
C++ 라이브 세션 포인터 메모리 주소값 저장: 주소값만큼의 크기를 가진다. Script* InPtrToScript 는 원본 자료형 크기와 관계없이 8바이트 메모리와 연산의 관계에 대한 궁금증: 주소는 8바이트 - 선언할 때 스택메모리든 힙메모리든 거기에 저장. 크
C++ 라이브 세션 생성자와 소멸자 기본 생성자와 오버로딩 생성자를 클래스 내에서 만들면 기본생성자 자동생성 X MyClass Object01; 식으로 선언해서 기본생성자로 생성 불가능 MyClass Object01 = MyClass(); 필요 생성자도 함수니 매개
STL, 컨테이너, vector, map, 알고리즘, sort, find, 반복자, begin/end, rbegin/rend range-based for, const auto&, distance, base(), SOLID, 인터페이스vector: 동적 배열, 끝에 넣고
const auto& 쓰는 이유? 그냥 값만 받아오면 "복사" 를 해버림. 복사는 비효율적임. 근데 레퍼런스 &를 받아오면 값 수정이 되어버림. 그래서 const.주소 이동이 필요하면 pointer, 걍 값만 쓰고 버릴 참조면 reference클래스는 구조체의 상위호환
\-strlen(변수명) -> string 길이 반환main 에서 동적할당으로 클래스 만든 후 delete 안하면 -> 그 할당된 메모리도 릭 나고 할당된 클래스의 소멸자도 호출 안되서 클래스 내부에서 할당한 메모리도 할당 해제 적용 안됨.반환자료형 함수명(매개변수자료

클래스 템플릿은 인스턴스 선언할 때 매개변수를 항상 명시할 필요가 있다MyTemplateClass<자료형> 인스턴스명;템플릿 함수는 안 그래도 되는 경우가 있음. 컴파일러가 유추할 수 있는 경우 알아서 만들어줌명시해도 당연히 좋긴 함 Add<int>(a, b
해당 과제에선 기본적으로 제공된 코드에 과제 목표에 해당하는 메서드를 추가하는 형식이었기에, 그렇게 긴 코드를 작성할 필요는 없었다.std::cin ignore (10000, '\\n') 을 통해 인풋을 확실히 지우고 새로 받는 것.const가 붙는 위치에 주의 - 읽
C++ 디버깅 F5: 계속 진행. 계속 진행하다가 중단점이 있으면 멈춤. F9: 중단점 지정/해제. F10: Step Over. 함수 안으로는 들어가지는 않고 한 줄씩 실행. F11: Step Into. 함수 안으로도 들어가서 한 줄씩 실행. 중단점 '노란 줄' 은
C++ 4번 과제 AlchemyWorkshop 클래스 안에 recipeManager, stockManager 클래스 이렇게 가지고 있을 경우 -> 각 객체들 함수들 접근하기 위해 AlchemyWorkshop 자체에도 동일한 이름의 함수 필요. 이런 식으로. 한 동작에
enum class Clear Screen 화면 지우기 system("cls") 텍스트 좌 우 정렬 GetConsoleWidth GetConsoleScreenBufferInfo() 팀프로젝트를 진행하기 위한 코딩 프로젝트의 크기가 커질수록, 클래스 관계도가 중요해짐을

프로그램을 짜는 거다 보니, 각자 알아서 하자 --> 이게 사실 안된다. 올리고 보고 수정하고 올리고 보고 수정하고를 반복해야큰 뼈대(우리 경우는 GameManager) 수정이 잦고 충돌날 여지가 제일 많다. 큰 틀 설계를 빨리빨리 하는 게 중요커밋을 자주, 많이. 충

생각보다 커밋-푸시-머지에서 충돌은 잘 나지 않는다. 새 파일 추가하거나 삭제할 때마다 vcxproj 충돌이 날 확률이 높은 것에는 주의자손 클래스를 제대로 활용(업캐스팅 하면서) 하기 위헤선 필연적으로 포인터를 써야 하는데...데이터 안전을 위해 std::unique
사실 어제 빌드가 거의 완성되어서 오늘 쓸 내용은 그리 많지 않다. 밸런스 수정이 대부분.방어력 계산 등등의 스탯계산을 로그식으로 적용하는 게임들이 많은 이유가 있다. 대부분의 스탯이 결과적으로 곱연산식으로 계산되는데 이 때 발생하는 인플레이션을 감당하기 최적의 구조
DeltaTime 등 이용해서 실시간을 구현하기 시작하면 넣을 수 있는 시각적 이펙트가 상당히 많다.타이핑 하는 듯 동적인 텍스트 출력, 실시간 폭발 이펙트, 프레임별로 그린 ASCII 아트...사실상 UE5에선 구현하기 시작할 영역스킬에 turncount 도입해서 턴
map 사용법. 단순 두 가지만 넣는다는 느김이 아니라, struct 와 연계해서 "자동정렬 구조체" 라는 느낌으로 사용 가능정렬 기준을 비교함수 세팅으로 하기 쉽다는 것도 고려해야 할 요소.깊은 복사: ptr = new int(\*other.ptr);기본적인 설계에서
게임 기획 직무 특강 설계, 소통, 경험 디자인 시스템 기획자, 스크립터, 레벨 기획자, 컨텐츠 기획자, UI/UX 기획자 가능하면 UI/UX > 시스템 > 레벨 = 스크립터 영어론 Game Design. 매우 포괄적인 의미 -설계자를 주로 의미 일본에선 플래너라

Unreal Engine 컴포넌트, Component 생성vector swap조건으로 엔딩을 낼 경우(500번 돌린 후에 포기하기 등) 해당 회차에 실제로 끝이 난건지, 해당 회차에도 끝이 안난건지 확인하기std::vector<int>().swap(v);UScen

[코드카타] 김서방 찾기 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12919 문제 요약 문자열 벡터 seoul에서 "Kim"의 위치를 찾아 "김서방은 x에 있다" 형식으로 반환하는 문제. 내
키워드 기억해야 할 것 [코드카타]나누어 떨어지는 숫자 배열 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12910 문제 요약 array의 각 element 중 divisor로 나누어 떨어지는 값
https://school.programmers.co.kr/learn/courses/30/lessons/76501정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다실제
헤더파일에서 함수들 드래그하고 Alt + Enter 하면 .cpp 파일에서 정의 걍 다 만들어준다!!! ㄴㅇㄱ [코드카타] 전화번호 가리기 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12948
https://school.programmers.co.kr/learn/courses/30/lessons/86051numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성countmap은 중복
https://school.programmers.co.kr/learn/courses/30/lessons/77884left부터 right까지의 모든 정수에 대해 약수의 개수를 구한다.약수의 개수가 짝수이면 더하고, 홀수이면 뺀 값을 반환한다.bIsSquare()
https://school.programmers.co.kr/learn/courses/30/lessons/82612놀이기구를 count번 탈 때 필요한 총 금액을 구한다.이용 금액은 탈 때마다 price, 2 \* price, 3 \* price처럼 증가한다.현
[코드카타] 가운데 글자 가져오기 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12903 문제 요약 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라

기억해야 할 것 Git / 업로드 관련 명령어 git lfs install git init git branch -M main 기본 브랜치를 main으로 설정 git status 현재 추적 중인 파일 / ignore 적용 상태 확인 git add . git co

콜리전UKismetSystemLibrary::LineTraceMulti()GetWorld()->AsyncLineTraceByChannel()UDamageTypehttps://school.programmers.co.kr/learn/courses/30/lesson

[코드카타] 별 찍기 - 직사각형 출력 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12969 문제 요약 입력으로 정수 n, m이 주어진다. 가로 길이가 n, 세로 길이가 m인 직사각형을 *로 출
데이터 뭉치 자주 쓰이는 데이터는 한데 뭉쳐놓자 중복되는 필드나 매개변수 그룹은 별도 구조로 분리하자 같은 매개변수 그룹을 별도 구조로 분리하자 기본형 집착 복잡한 데이터를 단순한 기본형(int string) dp rhkehgkrp dmlwhsgksms rudgid
[코드카타] 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/147355 문제 요약 문자열 t에서 길이가 p와 같은 부분 문자열을 모두 확인한다. 각 부분 문자열이 숫자로 봤을 때 p보다 작거나 같으
알고리즘 라이브 세션-이진탐색 돌아보기 재귀: 자기 자신 호출 콜 스택: 재귀 호출마다 스택 프레임 쌓이고, base case부터 다시 빠진다 순차 탐색 - 처음부터 하나씩 정렬되지 않는 배열에서 값을 찾으려면? 시간복잡도 O(n) 처음부터 끝까지 찾기. 사실 정렬되