전체 글

    [UE5 - Multiplayer TPS] 언리얼 멀티 플레이어 플러그인 만들기(2) : Online Subsystem Steam을 사용하여 세션 생성하기

    [UE5 - Multiplayer TPS] 언리얼 멀티 플레이어 플러그인 만들기(2) : Online Subsystem Steam을 사용하여 세션 생성하기

    앞선 포스팅에서 LAN 연결을 구현할 때, 직접 IP주소를 입력하여 다른 PC의 게임에 접속했다. 하지만 실제 온라인 환경에서 게임에 접속할 때는 다른 유저의 IP주소를 모른 채로 게임에 접속한다. IP 주소를 모르는 채로 다른 컴퓨터와 네트워크 연결이 되려면 중간 단계가 필요하다. 우리가 게임 제작할 때 사용할 수 있는 중간 단계는 다음과 같이 2가지가 있다. 유저들의 IP를 모아 관리하는 고유의 dedicate 서버로 연결 스팀이나 xbox 라이브와 같은 온라인 플랫폼 서비스에서 제공하는 매치 메이킹 기능을 통해 연결 - 매치메이킹: 플레이어와 세션을 매치해 주는 프로세스 (세션 생성, 세션 검색, 세션 참여, 세션 소멸 등등) - 세션 : 세션은 기본적으로 서버에서 실행중인 게임의 인스턴스 우선, ..

    [UE5 - Multiplayer TPS] 언리얼 멀티 플레이어 플러그인 만들기(1) : LAN 연결 테스트

    [UE5 - Multiplayer TPS] 언리얼 멀티 플레이어 플러그인 만들기(1) : LAN 연결 테스트

    { 멀티 플레이 게임 개념 } 멀티 플레이 게임은 네트워크를 통해서 여러 사람이 함께 게임을 즐기는 방식이다. 멀티 플레이 게임을 구현하기 위해서는 크게 2가지 방식이 있다. (1) P2P 방식 P2P(Peer to Peer Network) 방식은 각 플레이어의 컴퓨터가 자신의 데이터를 다른 플레이어들의 컴퓨터로 직접 송신하는 분산형 네트워크 방식이다. 특징 구현이 쉽다 플레이어가 많을수록 데이터를 전송할 곳이 많아지기 때문에 느리고 비효율적이다. 게임의 원본 버전이 존재하지 않는다. 즉, 통일된 게임 인스턴스 버전이 존재하지 않고 각 컴퓨터별로 다른 게임 인스턴스를 갖는다. (2) Client - Server 방식 Client-Server 방식은 플레이어의 컴퓨터가 서버에 자신의 데이터를 전송하면 서버..

    [프로그래머스]level.2 - 과제 진행하기(C++)

    [프로그래머스]level.2 - 과제 진행하기(C++)

    https://school.programmers.co.kr/learn/courses/30/lessons/176962# 문제 설명 과제를 받은 루는 다음과 같은 순서대로 과제를 하려고 계획을 세웠습니다. 과제는 시작하기로 한 시각이 되면 시작합니다. 새로운 과제를 시작할 시각이 되었을 때, 기존에 진행 중이던 과제가 있다면 진행 중이던 과제를 멈추고 새로운 과제를 시작합니다. 진행중이던 과제를 끝냈을 때, 잠시 멈춘 과제가 있다면, 멈춰둔 과제를 이어서 진행합니다. 만약, 과제를 끝낸 시각에 새로 시작해야 되는 과제와 잠시 멈춰둔 과제가 모두 있다면, 새로 시작해야 하는 과제부터 진행합니다. 멈춰둔 과제가 여러 개일 경우, 가장 최근에 멈춘 과제부터 시작합니다. 과제 계획을 담은 이차원 문자열 배열 pla..

    [프로그래머스]level.2 - 예상 대진표(C++)

    [프로그래머스]level.2 - 예상 대진표(C++)

    https://school.programmers.co.kr/learn/courses/30/lessons/12985# 문제 설명 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N번의 참가자끼리 게임을 진행합니다. 각 게임에서 이긴 사람은 다음 라운드에 진출할 수 있습니다. 이때, 다음 라운드에 진출할 참가자의 번호는 다시 1번부터 N/2번을 차례대로 배정받습니다. 만약 1번↔2번 끼리 겨루는 게임에서 2번이 승리했다면 다음 라운드에서 1번을 부여받고, 3번↔4번에서 겨루는 게임에서 3번이 승리했다면 다음 라운드에서 2번을 부여받게 됩니다. 게임은 최종..

    [프로그래머스]level.2 - 광물 캐기(C++)

    [프로그래머스]level.2 - 광물 캐기(C++)

    https://school.programmers.co.kr/learn/courses/30/lessons/172927 문제 설명 마인은 곡괭이로 광산에서 광석을 캐려고 합니다. 마인은 다이아몬드 곡괭이, 철 곡괭이, 돌 곡괭이를 각각 0개에서 5개까지 가지고 있으며, 곡괭이로 광물을 캘 때는 피로도가 소모됩니다. 각 곡괭이로 광물을 캘 때의 피로도는 아래 표와 같습니다. 예를 들어, 철 곡괭이는 다이아몬드를 캘 때 피로도 5가 소모되며, 철과 돌을 캘때는 피로도가 1씩 소모됩니다. 각 곡괭이는 종류에 상관없이 광물 5개를 캔 후에는 더 이상 사용할 수 없습니다. 마인은 다음과 같은 규칙을 지키면서 최소한의 피로도로 광물을 캐려고 합니다. 사용할 수 있는 곡괭이중 아무거나 하나를 선택해 광물을 캡니다. 한 ..