유니티랑 서버 연결시키려 함
모든 연산은 서버에서 수행하고 클라이언트는 애니메이션만 처 보여주는 용도
서버의 역할이 마냥 간단하지가 않기 때문에
이 경우 비동기로 짜야 한다던데
즉 서버와 클라이언트의 모든 C# 코드를
async task나 await을 쓰며 짜야한다는 거 맞지?
서버와 통신하는데 public void 이딴거 쓰면 안된다는거지?
내가 초보라 이해좀..
유니티랑 서버 연결시키려 함
모든 연산은 서버에서 수행하고 클라이언트는 애니메이션만 처 보여주는 용도
서버의 역할이 마냥 간단하지가 않기 때문에
이 경우 비동기로 짜야 한다던데
즉 서버와 클라이언트의 모든 C# 코드를
async task나 await을 쓰며 짜야한다는 거 맞지?
서버와 통신하는데 public void 이딴거 쓰면 안된다는거지?
내가 초보라 이해좀..
이 댓글은 게시물 작성자가 삭제하였습니다.
저번에 유동 분탕 또 왔노 그 안 지겹나?
그런 로우레벨 코드 짜지 마 포톤이든 엔진 내의 리플리케이션 시스템이든 서비스를 활용하셈 - dc App
그런거 쓰면 서버에서 연산 못하지 않음? 난 모든 연산을 서버에서 처리 해야하는데 포톤이 서버 내 연산을 지원함??
dev.epicgames.com/documentation/ko-kr/unreal-engine/networking-overview-for-unreal-engine 서버에서 판정해서 결과통보하지 보통은 - dc App
서버에서 모든 걸 연산하고 결과를 통보 해야 하는데 그 서버 내 연산을 포톤으로 할 수 있음? 클라이언트는 연산에 어떠한 부분에도 관여 해선 안 되는데 서버 혼자 계산하고 저장하고 다 해먹어야 하는데 포톤으로 그게 되나
몰라 그건 너가 찾아봐야지 데디서버나 리슨서버 개념은 언리얼에만 있는 개념은 아니니 함 찾아보셈 - dc App
나도 저렇게 하는줄 알았는데 요즘은 그 동기 시간마저 줄인다고 클라에서 '예측'을 한다더라
아래는 포톤 쪽 문서인데 이건 포톤의 방식이지 다른곳에서도 요즘 '예측'이란걸 쓴대 읽어봐
https://doc.photonengine.com/ko-kr/fusion/v1/tutorials/host-mode-basics/3-prediction
요약하면 클라에서 서버에서 대충 ~한 값이 오겠지 하고 미리 값이 제대로 왔을때의 행위를 하는거임
특히 너가 말한 이동, 애니메이션쪽 위주로 쓰는듯
그러니까 답변을 하자면 task await 같은거로 마냥 기다리기만 하는건 아니라는거 ㅇㅇ
랜덤 요소가 많은 턴제 겜이라... 예를들어 모두의 마블 하는데 클라이언트에서 음 당연히 주사위가 7이 나오고 포츈카드에서 당연히 천사카드가 나오고 당연히 행운 아이템의 70% 옵션이 터지겠지~ 이러고 미리 애니메이션을 보여주는 건 말이 안되니까 ㅠㅠㅠ
말이 안 될 것까지 있나..? 나올 수 있는 경우의 수가 적절하다면 1~2뎁스는 예측할 수있지
그런 카드겜은 비동기로 짜는게 맞을듯 보통 예측은 롤(LOL) 이동같은데서 많이 쓰인대
게임 마다 다르지