이거 질문했었는데
rpc노가다가 결론인 거 같길래 또 물어보러옴
만약 마크처럼 블록단위의 월드가 있고 이걸 싱크시키려면 블록이 싹다 네크워크 오브젝트여야 하는 거 아님?(rpc보내기위해)
그 수가 좀 많을 거 같은데 아무리 실시간 동기화가 아니라 하더리도 네트워크 오브젝트가 수백 수천개를 넘어가면 안될 것 같다는 생각이 들어서..
이런류의 게임 만들땐 어케 처리해?
상상) 배치요소는 일반 오브젝트, 대신 설치 매니저를 만들고 여기서 rpc싱크작업
change만 구독하고 일정주기로 싱크해야할거같은데
그리고 가시범위내만 subscribe 하고
그럼 모든 타일이 네트워크 오브젝트인거 자체는 별 문제 없는거야? 동기화는 가시범위만 한다 치면
게임에따라 다르지않을까
으윽 머리가 혼란스럽다 암튼 고마워요
마크는 모든 블록이 xyz좌표를 가지고 있지않나?
아마?도?
해당 댓글은 삭제되었습니다.
나도 시드를 넘겨주고싶긴 한데 시드는 맵을 첫 생성할때만 관여하고 이후에 타일들이 수정될수가 있어서 고민.. 타일 자체의 위치가 바뀐다거나 없어진다거나 하니까 시드 넘겨주는 의미가 없지 않을까
이미알고있는내용 답변한거같아서 지웠는데 벌써 답글달렸네.. 당연히 이후에 타일들이 수정되니까 그런 변경사항만 서버에서 기록하고 주기적으로 동기화해주는 식이 맞지않을까 세이브파일 구현할때도 같은방식인걸로 알고잇슴..
시드를 안넘겨주고 전체 데이터를 동기화하는 방식은 마크같이 오브젝트가 ㅈㄴ많으면 감당 안될거고 감당이 되는 정도면 시드말고 전체데이터로 넘겨도 되겠지
청크 같은 개념이랑 같이 알아보다보면 금방 답이 나올듯 팩토리오를 너무많이해서그런가 나한텐 익숙한데..
키워드 고맙다 더 찾아봐야겠네
서버 틱이나 트래픽 비용이 감당가능한 수준이면 몇개든 상관없는데 수백만개 넘어가니까 감당안돼서 리플리케이션 그래프, 아이리스 같은 최적화 기능을 만들고 하잖음 포톤같은 데에도 비슷한 기능이 있지 않을까?
크윽 괴롭다 밉구나 네트워크야
네트워크 오브젝트 써도 되는가? -> x 블럭 수천개 동기화가 가능한가? -> o 블럭 하나를 싱크하는데 어떤 정보가 필요한지 정리해서 압축하면 아무리 커봐야 블럭 십만개에도 1mb가 안넘음 만약 mb단위까지 가면 gzip으로 압축해버리면 다시 kb단위로 줄어듬 유니티에서 마인크래프트 블럭같은거 구현한다고 하면 나같으면 ecs + rpc로 직접 싱크로직 작성할듯 - dc App
대충 이해됐음 무지성 네트워크 오브젝트 붙이기는 삼가는게 맞겠군