Unreal Engine - Gameplay Framework
·
Unreal Engine
Gameplay Frameworkhttps://dev.epicgames.com/documentation/en-us/unreal-engine/gameplay-framework-in-unreal-engine 네트워크https://cedric-neukirchen.net/docs/multiplayer-compendium/framework-and-network/
Unreal Engine - UObject
·
Unreal Engine
https://dev.epicgames.com/documentation/ko-kr/unreal-engine/objects-in-unreal-engine 1. UCLASS 매크로언리얼에는 게임 오브젝트를 처리하기 위한 시스템이 존재한다.언리얼엔진은 UObject에서 파생된 클래스에 UCLASS 매크로를 붙여 통해 게임 오브젝트 처리 시스템이 인식할 수 있도록 한다. 그 결과 언리얼 엔진의 GC, Reflection 등의 시스템을 사용할 수 있게 된다. 추가적으로 UObject의 함수나 변수 또한 매크로를 통해 언리얼 엔진이 인식할 수 있게 해줄 수 있다.UPROPERTY()UFUNCTION() 참고 글)https://gbleem.tistory.com/35 Unreal Property System (Refl..
TIL day 65
·
TIL
1. 코딩테스트오늘 오전에는 오랜만에 다시 프로그래머스 level 2 디펜스 게임 문제를 풀었습니다.https://school.programmers.co.kr/learn/courses/30/lessons/142085 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr처음에는 DP로 풀어야 할까 라는 생각을 했었는데, 배열의 크기가 너무 커져서 해결할 수 없었습니다.아이디어를 내지 못해서 결국 힌트를 보고 heap을 써야한다는 것을 알게 되어 풀었습니다.더보기#include #include #include #include using namespace std;priority_queue pq; //무적권 사용할 ..
OS & CS 몇 가지
·
CS
1. PCBPCB (프로세스 제어 블록)란빠르게 번갈아 수행되는 프로세스 관리를 위해 사용하는 자료구조프로세스 관련 정보를 저장하고프로세스 생성 시 커널 영역에 생성된 후, 프로세스 종료 시 폐기된다.PCB가 가지는 정보PID (프로세스 ID) : 프로세스 식별 번호레지스터 값 : 마지막으로 연산한 곳을 기억하기 위한 값프로세스 상태 : 현재 프로세스의 상태 (입출력 대기, CPU 사용을 위해 대기, CPU 사용 등)CPU 스케줄링 정보 : 할당 순서에 대한 정보메모리 정보 : 프로세스가 저장된 곳의 정보 (페이지 테이블 정보)사용한 파일과 입출력 장치 정보  2. 프로세스의 메모리 영역코드 영역실행할 수 있는 코드CPU가 실행할 명령어가 담겨있다.정적 할당 영역데이터 영역프로그램이 실행되는 동안 유지할..
정렬 및 탐색 알고리즘 정리
·
알고리즘(코딩테스트)
1. 정렬 알고리즘1 - 1. 버블정렬배열에서 두개의 원소 선택하고 비교 후, 왼쪽 원소가 오른쪽 원소보다 큰 경우 swap 한다.시간 복잡도는 O(N^2), 공간 복잡도는 O(1)만약 아래 코드에서 swap이 발생하지 않는 경우 break하는 코드를 넣으면, 정렬된 경우 시간 복잡도를 O(N)으로 줄일 수 있다.더보기#include #include using namespace std;int main(){ vector vec = { 4,6,2,9,1 }; for (int i = 0; i vec[j + 1]) swap(vec[j], vec[j + 1]); } } for (const auto v : vec) cout  1 - 2. 선택 정렬배열의 한가지 값을 선택하고, 자신을 제외한 나머지 값들과..
TIL day 64
·
TIL
이번주 월화수목 예비군을 다녀왔습니다. 1. 코딩테스트오전에 챌린지반 과제 및 밀린 문제들을 해결했습니다. 1 - 1. N-Queen 다시 풀기N-Queen 문제에 있어서 갯수만 출력하는 것이 아니라 해당 위치를 출력하는 것이 과제이다.Choose함수에서 cur 변수가 x값(row) i 변수가 y값(col) 인 것을 생각하면 쉽게 해결할 수 있다.주의할 점은 board 벡터를 초기화 해주고 사용해야 하므로, resize(n, vector (n,0)); 코드가 필요하다.더보기//n queen#include #include using namespace std;int n;int isused1[20];int isused2[40];int isused3[40];vector> board;void printBoard(..
TIL day 59
·
TIL
1. 코딩테스트오늘 오전에는 비트마스킹 관련 공부를 하다가 정리해보고 싶은 백트래킹에 대한 공부와 문제를 풀었습니다.https://gbleem.tistory.com/124 백트래킹1. 백트래킹쉽게 말해서 가능한 모든 경우의 수를 다 해보는 알고리즘이다.재귀 함수를 사용하여, 현재 상태에서 가능한 모든 후보군을 따라 들어가며 탐색하는 알고리즘! 문제를 보고, 주어진gbleem.tistory.com  2. 언리얼 멀티플레이언리얼 멀티플레이 관련 강의를 듣고, 리슨서버를 사용한 채팅 서버 만들기 실습을 해보았습니다.https://gbleem.tistory.com/125 Unreal Engine - 채팅 (리슨 서버)1. 필요한 것1 - 1. Level과 Level BP빈 레벨이 필요빈 레벨 BP에서는 아래 두..
Unreal Engine - 채팅 (리슨 서버)
·
Unreal Engine
1. 필요한 것1 - 1. Level과 Level BP빈 레벨이 필요빈 레벨 BP에서는 아래 두가지 동작을 하게 된다.widget BP를 Add To Viewport 하기server인지 체크 후, On Log In with ID 라는 이벤트(PlayerController가 가지고있음) 실행1 - 2. GameModeGot Message From Client 라는 이벤트를 가진다. (리플리케이트 : 서버에서 실행 / 신뢰성 true)PlayerController를 상속받아 만들어진 actor를 모두 찾은 후우리가 만든 PlayerController로 cast 후Got Broad Cast 이벤트(PlayerController가 가지고 있음)를 호출한다.1 - 3. PlayerControllerBeginPla..
백트래킹
·
알고리즘(코딩테스트)
1. 백트래킹쉽게 말해서 가능한 모든 경우의 수를 다 해보는 알고리즘이다.재귀 함수를 사용하여, 현재 상태에서 가능한 모든 후보군을 따라 들어가며 탐색하는 알고리즘! 문제를 보고, 주어진 전체 배열의 크기가 크지 않을 때 사용해 볼 법한 알고리즘이다.(너무 큰 경우 시간 초과가 날 것이다) 가장 기본적인 형태로, N개 중 M개를 뽑는 문제가 존재한다.https://www.acmicpc.net/problem/15649 코드 설명기본적으로 아래와 같은 형태로 재귀함수를 구성하게 된다.isused 라는 이미 사용한 것인지를 체크하는 배열을 통해 중복을 제거하게 된다.Choose라는 함수 안에서 경우의 수를 뽑는 과정이 이루어진다.cur은 현재 뽑은 갯수가 되고, cur이 m이 되는 순간 특정 처리를 해주면 된..
온라인 게임과 네트워크 구성
·
CS
1. 온라인 게임의 종류1 - 1. 싱크동기화, 실시간, 리얼타임온라인 서버 방식과 LAN 파티 방식으로 나뉨1 - 2. 어싱크비동기  2.  CAP 이론과 게임의 동기화2 - 1. CAP 이론"분산 시스템의 동기화 조건 3개를 모두 만족하는 시스템은 없다"라는 이론2 - 2. 분산 시스템의 동기화 조건Consistency (일관성) : 전체 시스템은 동일한 상태 값을 가지고 있어야 함Availability (가용성) : 언제든지 시스템에 접근하여 값을 읽고 쓸 수 있어야 함Partition Tolerance : 시스템을 분할하여 병렬처리 등이 가능해야 함  3. 게임에서의 동기화 방법게임 동기화에서 Partition Tolerance의 부분은 절대 포기할 수 없는 부분이기 때문에 나머지 두개 중 하나를..