본문 바로가기

전체 글55

25.03.14 언리얼 Replication 개념과 이벤트, 이벤트 디스패처 개념 1️⃣ Listen Server 환경에서 권한 체크가 중요한 이유Listen Server는 서버와 클라이언트가 한 컴퓨터에서 돌아가는 환경입니다.예를 들어, 친구와 게임을 할 때 내 컴퓨터가 서버 역할을 하면서 동시에 나도 게임을 플레이하는 상황이죠.이때 문제는, 서버에서만 실행되어야 하는 코드와 클라이언트에서만 실행되어야 하는 코드가 섞일 수 있다는 겁니다.예: 아이템을 생성하는 코드는 서버에서만 실행되어야 하는데, 클라이언트에서 실행되면 버그가 발생합니다.그래서 권한 체크가 필요합니다."이 코드는 서버에서만 실행해!" 또는 "이 코드는 클라이언트에서만 실행해!"라고 명확히 구분해주는 거예요.2️⃣ 이벤트와 Replication (동기화)멀티플레이어 게임에서는 서버와 클라이언트가 서로 정보를 주고받아야.. 2025. 3. 14.
25.03.13 언리얼 네트워크와 객체 통신 Replication이란?Replication은 언리얼 엔진에서 네트워크 멀티플레이어 게임을 구현할 때 필수적인 기능입니다. 서버와 클라이언트 간의 데이터 동기화를 담당하며, 게임의 상태를 모든 플레이어에게 일관되게 유지하는 데 사용됩니다. Replication은 크게 RepNotify, ActorReplication, RPCs 세 가지 주요 개념으로 나뉩니다. 1. RepNotify용도: 특정 변수의 값이 변경될 때, 서버에서 클라이언트로 이벤트를 호출합니다.호출 방법: 자동으로 호출됩니다.실행 위치: 클라이언트에서 실행됩니다.특징: 네트워크가 연결되어 있을 때만 신뢰할 수 있습니다.예시 코드UPROPERTY(ReplicatedUsing=OnRep_HealthChanged)int32 PlayerHeal.. 2025. 3. 13.
25.03.11 온라인게임과 네트워크 구성의 이해 1. 온라인 게임의 종류실시간(Sync): 모든 플레이어가 동시에 상호작용 (예: MMORPG, FPS).비동기(Async): 플레이어가 다른 시간에 진행 (예: 턴제 게임).이때 싱크(실시간)은 온라인 서버와 LAN으로도 나누어집니다.2. CAP 이론과 게임 동기화Consistency (일관성): 모든 플레이어의 상태가 동일해야 함.Availability (가용성): 지연 없이 즉시 반응해야 함.Partition Tolerance (분할 용인): 네트워크 분할 시에도 작동.트레이드오프: 3가지를 동시에 만족할 수 없음!→ 일관성 vs 가용성 중 선택 필요.3. 동기화 기술틱(Tick) 기반서버가 주기적으로 상태 브로드캐스팅 (예: 0.3초 간격).장점: 일관성 보장.단점: 반응성 낮음.클라이언트 예측플.. 2025. 3. 11.
25.03.10 게임 네트워크의 기본구성요소 네트워크의 기본 구성요소는 크게 3가지로 구성됩니다. 1.노드(Node) → 게임 내 플레이어와 서버  노드는 네트워크에서 서로 통신하는 장치라고 생각하면 됩니다.게임에서는 **플레이어(PC, 콘솔, 모바일 기기)**와 게임 서버가 노드 역할을 합니다.플레이어끼리 직접 데이터를 주고받거나(예: P2P 방식), 게임 서버를 통해 통신합니다(예: 온라인 FPS, MMORPG).종류:엔드 노드(End node): 데이터를 생성하거나 소비하는 장치 (예: 컴퓨터, 서버, 스마트폰 등).중간 노드(Intermediate node): 데이터를 전달하거나 중계하는 장치 (예: 라우터, 스위치 등).기능:통신: 다른 노드와 데이터를 주고받음.라우팅: 데이터가 목적지까지 가는 최적의 경로를 선택.(네비게이션 역할)데이터.. 2025. 3. 10.
25.03.10 코드카타 #include #include using namespace std;int solution(vector nums) { int count = 0; int n = nums.size(); // 소수 판별 함수 auto isPrime = [](int num) { if (num 문제 그리고 해답입니다. 소수를 분별하는 함수가 라이브러리에 있을까 하고 검색해봤는데 그런건 없었습니다..그렇기에 따로 구현해줘야했습니다. 2025. 3. 10.
세션 3 KPT 회고(Lost In Eden) 팀 프로젝트 회고: 협업에서 배운 점과 개선 방향1. 프로젝트 진행 방식과 협업 경험이번 프로젝트는 노션을 활용한 데일리 스크럼과 주기적인 회의를 통해 진행되었습니다. 각자의 역할이 달랐지만, 팀원 간 협업이 활발하여 다양한 분야를 배울 수 있었습니다. 특히, 한 명이 난항을 겪을 때 화면 공유를 통해 함께 해결하는 방식이 효과적이었으며, 이를 통해 개별적인 성장뿐만 아니라 팀의 문제 해결 능력도 향상되었습니다.2. 문제점과 해결해야 할 과제1) Git LFS 설정 문제로 인한 파일 손상현재 GitHub 병합 시 파일이 손상되는 문제가 발생했습니다. 이는 Git LFS 설정이 올바르게 적용되지 않아서 생긴 문제일 가능성이 큽니다. 이를 해결하기 위해 .gitattributes 파일을 점검하고, 필요한 파.. 2025. 3. 7.