[Unity] 오픈 소스 게임 서버 Nakama를 알아보자
Unity/Network 2024. 10. 24. 00:16[Unity] 오픈 소스 게임 서버 Nakama를 알아보자

🤨Nakama?🔗공식 깃허브 저장소 GitHub - heroiclabs/nakama: Distributed server for social and realtime games and apps.Distributed server for social and realtime games and apps. - heroiclabs/nakamagithub.comNakama는 소셜, 실시간 게임을 위한 서버다.클라우드 서버가 아니고 오픈 소스로 다 구축된 서버 소스를 제공하고 내가 셀프 호스팅으로 서버를 구축하는 것이다. (밀키트 같은 느낌?)서버 소스뿐만 아니라 Unity 클라이언트 패키지도 준비돼있다. 사용자 계정 관리, 친구, 그룹(길드 같은), 파티, 매치, 리더보드 등등 다양한 기능들이 구비돼있다. 아니 이런..

[Unity] HTTP 통신 모듈 빌더패턴으로 재구성
Unity/Network 2023. 3. 8. 11:14[Unity] HTTP 통신 모듈 빌더패턴으로 재구성

개요 [Unity] HTTP REST api 통신 모듈 구현 개요 사내에 딱 정해진 REST api 통신 모듈이 없다보니 직접 만들고 다음 프로젝트가 진행될때마다 겪었던 시행착오들을 상기하며 모듈을 보완, 발전 시키고 있다. 이제는 틀이 꽤 잡힌것 같아서 trialdeveloper.tistory.com 위 글에서 작성했던 통신 모듈을 팝업 시스템 구현에 사용한 빌더패턴으로 재구성을 하는 글이다. 이유는 리퀘스트 전송 함수를 이런식으로 짰는데 protected virtual IEnumerator SendRequestCor(string url, SendType sendType, JObject jobj, Action onSucceed, Action onFailed, Action onNetworkFailed) ..

[Unity] HTTP REST api 통신 모듈 구현
Unity/Network 2023. 2. 14. 10:33[Unity] HTTP REST api 통신 모듈 구현

개요사내에 딱 정해진 REST api 통신 모듈이 없다보니직접 만들고 다음 프로젝트가 진행될때마다겪었던 시행착오들을 상기하며  모듈을 보완, 발전 시키고 있다. 이제는 틀이 꽤 잡힌것 같아서한번 기록을 해둘려고 한다.  본문먼저 들어가기에 앞서,이 모듈은 Json을 쉽게 입출력 하기 위해Newtonsoft.Json 패키지를 사용하였다. 이 패키지에 대한 설명은 아래 글에 기록해뒀다. [Unity] JSON을 딕셔너리처럼 입출력하기Unity의 JsonUtility를 사용하다보면 커스텀 클래스를 쉽게 JSON으로 파싱할 수 있지만 원하는 변수 몇개만 JSON으로 파싱해주는 기능이나, 파싱 이후에 변수룰 추가, 삭제, 수정을 할 수 있게해주는 기trialdeveloper.tistory.com 먼저 Server..

[Unity] TCP서버 위치 동기화 데드 레커닝 구현
Unity/Network 2023. 1. 9. 20:22[Unity] TCP서버 위치 동기화 데드 레커닝 구현

개요최근 작업중인 프로젝트에서 실시간 pvp모드를 개발하고 있었다.프로토타입은 포톤을 이용해서 동기화를 진행한 후 플레이를 해봤고,이제 회사의 TCP서버로 이전해 달라는 지시가 내려와 작업을 진행하였다. 포톤의 경우에는 TransformView 컴포넌트가 있어서위치동기화의 경우 아주 쉽게 구현할 수 있는데 직접 위치 동기화를 구현할려면 아무리 정보를 모아서 한번에 보낸다 해도매 프레임 패킷을 보내는거는 무리가 있다. 그래서 데드레커닝 기법을 활용하여 위치 동기화를 구현한 사례를 적는다.  본문마우스로 이동하는게임이었다면 꽤 간단한 문제였을것이다.예를들어 LOL이라면유저가 마우스로 목적지를 클릭하면 그때 한번만 출발지와 목적지를 동기화 하고양측 클라이언트는 결과가 같다는 보장이있는 길찾기 알고리즘을 사용하..

image