EOS란?

댓글 0
댓글을 작성하려면 로그인이 필요합니다.
아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요.
EOS는 기본적으로 P2P(Peer-to-Peer) 연결을 지원하는 네트워크 서비스다. Mirror의 EOS Transport도 이 P2P Interface를 기반으로 동작한다. 서버를 직접 두지 않고도 플레이어끼리 연결할 수 있게 해주는 게 핵심 목적이다
두 클라이언트가 각자 방화벽/공유기 뒤에 있어도 직접 연결을 시도하는 방식이다. 대부분의 홈 네트워크 환경에서는 성공하지만, 대칭형 NAT(symmetric NAT) 환경에서는 실패 확률이 높다
홀펀칭이 실패하면 Epic의 릴레이 서버를 거쳐 우회 연결한다. 약간의 레이턴시 증가는 있지만 연결 성공률을 보장해주는 안전장치 역할이다
연결 방식을 세 가지 모드로 제어할 수 있다
NoRelays — 릴레이 사용 안 함 (특정 네트워크 환경에서 연결 자체가 실패할 수 있음)AllowRelays — 홀펀칭 실패 시 릴레이로 자동 전환ForceRelays — 무조건 릴레이만 사용일반적인 상황에서는 AllowRelays가 가장 무난한 선택이라고 한다
프로젝트를 Windows 단일 타겟으로 좁히면서 확인해야 할 부분도 단순해졌다.
EOS_P2P_AddNotifyPeerConnectionEstablished 콜백에서 ConnectionType이 DirectConnection인지 Relayed인지 체크NoRelays로 되어있으면 특정 네트워크에서 아예 연결이 안 될 수 있음네트워크 연결 자체는 아니지만 함께 알아두면 좋은 EOS 기능들:
EOS 문서 찾아보다가 Lobby Interface에 인원 제한(기본 64명)이 있다는 걸 보고 처음엔 "어? 동시접속 제한인가?" 싶었는데, 찾아보니 완전히 다른 얘기였다
여기서 말하는 Lobby는 실제로 캐릭터가 움직이는 인게임 공간이 아니라 매치메이킹 대기실 개념이다.
파티 초대, 준비 상태 체크, 맵/모드 선택 같은 걸 주고받는 방일 뿐이고,
실제 P2P 플레이 인원이나 EOS 전체 동시접속자 수랑은 무관하다.
즉 "로비 방 하나의 정원이 64명"이라는 뜻이지 서버 전체 동시접속이 막힌다는 게 아니다.
대규모 게임 아닌이상 근처에도 갈 일 없는 숫자라 사실상 신경 안 써도 되는 제약.
EOS P2P는 서버 없이도 홀펀칭 + 릴레이 조합으로 안정적인 연결을 시도해준다는 게 가장 큰 장점이고, 무엇보다 규모가 커져도 과금 걱정이 없다는 게 Photon 같은 서비스랑 제일 크게 갈리는 지점이다. 스팀은 스팀 생태계 안에서는 강력하지만 그 밖으로 나가면 한계가 있고, Photon은 진입은 쉬운데 CCU 제한 때문에 나중에 비용이 붙을 수 있다.
문제는 이제 추가로 작업해야할 게 많다는 것..

![[Unity] ShaderGraph로 높이 단위로 색상 입히기](https://data.develog.develrocket.com/upload/develog/ghks5658/1785933421784-5p1grk/______.png)
그려질 픽셀의 position에 따라 출력을 변경하는 법을 익히기 위해서, 높이를 기준으로 다른 색상을 적용하는 ShaderGraph를 만들어 보았습니다.
