Unreal Engine - 데디케이티드 서버 4 (RPC)
·
Unreal Engine
1. RPC 개념https://gbleem.tistory.com/140#6.%20RPC-1-5 Unreal Engine - 데디케이티드 서버 개념 및 실습1. 서버의 종류P2P각 컴퓨터가 서버랑 클라이언트를 모두 수행하는 방식리슨 서버HOST 역할을 하는 서버용 컴퓨터가 존재 (클라이언트 역할도 수행)GUEST 역할을 하는 클라이언트용 컴퓨터가 존재gbleem.tistory.com자세한 내용은 위의 글 참고 (리마인드)RPC는 함수를 호출하는 PC와 해당 함수의 로직이 실행되는 PC를 다르게 하기 위해서 사용하는 통신 기법 RPC의 용도액터의 기능에는 큰 영향을 미치지 않는 일시적인 효과에 주로 사용된다.게임 이벤트나 사운드, 파티클 재생중요한 로직은 프로퍼티 리플리케이션 써야한다.RPC에서 중요한 것 ..
Unreal Engine - 데디케이티드 서버 3 (Property Replication)
·
Unreal Engine
아래 글에서 이어지는 내용 https://gbleem.tistory.com/148#4.%20Replication-1-3 Unreal Engine - 데디케이티드 서버 21. 로그를 통한 흐름 분석1 - 1. 로그인 흐름 분석GameModeBase와 PlayerController에서 로그를 찍어보면 아래와 같이 정리해볼 수 있다.맨 처음 네모는 서버에서만 생성되는 GameMode 로직이다.아래 네모는 Cgbleem.tistory.comReplicationFrequencyRelevancyNetPriorityNetDormancy1. Relevancy (연관성)1 - 1. 개념레벨에 있는 모든 액터의 정보를 모든 클라에게 실시간으로 전송하는 것은 부하가 매우 클 것이다.이 부하를 줄이기 위해서 "클라이언트의 커..
백트래킹 2
·
알고리즘(코딩테스트)
백트래킹 문제를 풀다가 중복제거, 오름차순 정렬 등을 좀 더 간단하게 하고 싶어서 정리한 내용입니다. 기존에 정리한 글https://gbleem.tistory.com/124 백트래킹1. 백트래킹쉽게 말해서 가능한 모든 경우의 수를 다 해보는 알고리즘이다.재귀 함수를 사용하여, 현재 상태에서 가능한 모든 후보군을 따라 들어가며 탐색하는 알고리즘! 문제를 보고, 주어진gbleem.tistory.com 1. 순열 구하기기본 형식의 백트래킹 코드를 돌리면 순열을 구할 수 있다. 1 ~ n까지의 숫자 중에서 m개를 뽑는 경우중복은 제거void Choose(int cur){ if (cur == m) { for (const int& a : ans) { cout  4 2를 input으로 넣었을 때 아래와 같은 ..
TIL day 74
·
TIL
1. 코딩테스트오늘은 class4에 "치킨 배달" 문제를 풀었습니다.https://www.acmicpc.net/problem/15686 생각의 흐름이 문제는 처음 보고 백트래킹이랑 bfs을 쓰는 문제인 줄 알았는데, 사실 N x N 의 borad는 크게 신경쓸 필요가 없었다.치킨집이랑 집의 위치만 저장해두고 for문 돌면서 체크만 해주면 된다. (일단 N이 작으니까)또한 N이 작기 때문에 모든 경우의 수를 백트래킹으로 그냥 골라버리면 된다.더보기#include #include #include using namespace std;int n;int m;vector> chicken;vector> home;vector> ans;int isused[15];int answer = INT_MAX;void Check(..
Unreal Engine - 데디케이티드 서버 2
·
Unreal Engine
1. 로그를 통한 흐름 분석1 - 1. 로그인 흐름 분석GameModeBase와 PlayerController에서 로그를 찍어보면 아래와 같이 정리해볼 수 있다.맨 처음 네모는 서버에서만 생성되는 GameMode 로직이다.아래 네모는 Client01번의 PlayerController가 서버에서 생성되고, Client로 복제되는 과정이다.마지막 네모는 Client02번이 생성 및 복제되는 과정이다. 1 - 2. NetConnection 관련 로그 추가NetConnection에 존재하는 ClientConnection과 ServerConnection 관련 로그를 찍어보자ClientConnection서버가 가지고 있는 Connection이므로, GameMode에서 로그를 작성해야 한다.참고)ClientConne..
TIL day 73
·
TIL
1. 코딩테스트최근에 계속 프로그래머스 문제를 풀다 백준으로 넘어왔습니다.백준 class 4문제를 풀고있습니다. 오늘은 boj 2096 내려가기 문제를 풀었습니다.https://www.acmicpc.net/problem/2096 처음에 이 문제를 보고 BFS를 떠올렸습니다.  (아니면 DP)아마도 답은 맞지 않을까 싶은데, 메모리 초과가 발생해서 다른 방법을 찾게 되었습니다. (문제의 제한 4mb)배열의 크기를 계산해보면, 100,002 * 3 * 4byte = 1,200,024 bytemb로 환산하면 1024로 두번 나누면 대략 1.14mb 정도 크기가 나온다.질문 게시판을 보다보니 단순히 배열의 사이즈 뿐만 아니라 다른 사용량(cin, cout 버퍼 등)도 있기 때문에, 넉넉하게 생각해서 메모리를 잡..
Unreal Engine - Save Game
·
Unreal Engine
게임에서 맵 해금 시스템과 캐릭터 해금 시스템을 구현하고 싶어, 어떤 방식을 택할지 고민중에 있었다.처음으로 떠올린 생각은 GameInstance 였는데, 현재 구현하는 시스템이 템플릿을 이용하다보니 만들어진 GameInstance를 수정하는 것 보다 다른 것을 이용해보고 싶었다.그래서 SaveGame 이라는 시스템을 찾게 되었고, 어떤 식으로 사용했는지 정리해 볼 것이다.  1. SaveGameUSaveGame이라는 클래스를 상속받아서 클래스를 만들 수 있고, 이 시스템은 게임이 종료되더라도 유지되는 특성을 가지고 있다.각 맵에 해당하는 변수를 아래와 같이 만들었다.Level 1의 경우는 항상 열려있기 때문에 필요가 없다.#pragma once#include "CoreMinimal.h"#include ..
TIL day 72
·
TIL
1. 코딩테스트오전에는 BFS관련 문제풀이 수업을 통해 아래 두가지 문제를 풀었습니다.https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krhttps://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제를 풀때 BFS와 DFS 선택에 있어서 중요한 키워드는 "최소 경로" 인 것 같습니다.기본적으로 B..
TIL day 71
·
TIL
TIL 70 은 바쁜 일정으로 적지 못했습니다.팀 프로젝트 회의와 수업을 듣고, 개인적으로 데디케이티드 서버 공부를 진행했습니다.https://gbleem.tistory.com/143 Unreal Engine - 야구게임(데디케이티드 서버)아래 글에 이어서 진행되는 내용입니다.https://gbleem.tistory.com/140 Unreal Engine - 데디케이티드 서버 개념 및 실습1. 서버의 종류P2P각 컴퓨터가 서버랑 클라이언트를 모두 수행하는 방식리슨 서버HOSTgbleem.tistory.com  1. 코딩테스트오늘은 solved.ac의 class 4의 "최소비용 구하기" 문제를 풀었습니다.https://www.acmicpc.net/problem/1916 문제를 보니 우연히 최근에 공부한 최..
Unreal Engine - 야구게임(데디케이티드 서버)
·
Unreal Engine
아래 글에 이어서 진행되는 내용입니다.https://gbleem.tistory.com/140 Unreal Engine - 데디케이티드 서버 개념 및 실습1. 서버의 종류P2P각 컴퓨터가 서버랑 클라이언트를 모두 수행하는 방식리슨 서버HOST 역할을 하는 서버용 컴퓨터가 존재 (클라이언트 역할도 수행)GUEST 역할을 하는 클라이언트용 컴퓨터가 존재gbleem.tistory.com 지금까지 구현된 내용한 클라이언트가 친 채팅이 다른 유저에게 보이도록 하는 기능 (Server, Client RPC)한 클라이언트가 접속하면, 다른 유저에게 접속되었다는 정보를 알려주는 기능 (Multicast RPC)클라이언트가 채팅을 할 때 몇번째 클라이언트인지 번호를 앞에 붙여 출력해주는 기능 (Property Replic..