inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)

이동 동기화 #3

안녕하세요. 루키스님^^

해결된 질문

437

ChaYong

작성한 질문수 8

1

안녕하세요^^ 루키스님

항상 열심히 사시느라 존경스럽다는 말을 먼저 서두에 넣고 싶네요.

바쁘신 와중에 질문글을 올리는게 

너무나 죄송스럽습니다.

분명 기본적으로 알려주실껀 다 알려주셨지만

이런쪽으로 머리를 써본일이 적다보니

이동 관련하여 막힌 난관에 

도무지 스스로 해결책을 찾을 방도가 없어

이렇게 실례를 무릎쓰고 글을 적게되었습니다 ㅠ

다름이 아니고 일단 영상을 하나 봐주세요.

https://m.blog.naver.com/hyhc125/222695406876

현재 오라클 클라우드 서버에

두 인스턴스를 생성해

하나는 AccountServer, 하나는 GameServer로 돌리고 있고 DB는 오라클에서 제공해주는 ATB(자율구동데이터베이스)를 사용하고 있습니다.

영상을 보시면 케릭터가 이동 중에

몬스터를 관통하거나 혹은 케릭터와 몬스터가 한 좌표에 겹쳐지는 현상이 나타납니다.

제 생각엔 한 좌표에 동시에 몬스터와 케릭터가 진입(몬스터와 케릭터가 앞으로 이동 할 지점에 대하여 CanGo()로 검사를 하는데 두 개가 동시에 true가 되는 경우)을 하는게 원인같다고 판단은 했는데

막상 이에 대한 해결책을 찾자니

도무지 떠오르는 아이디어가 없어서

한참 고민하다가 

루키스님께 조그마한 힌트라도 얻을 수 있을까 싶어

질문드리게 되었습니다.

이런 경우 어떻게 겹치지 않게 할 수 있을가요?

 

 

 

C# unity

답변 1

1

Rookiss

클라 선이동 방식이라면 운 나쁘게 겹칠 수도 있고,
이런 경우엔 이상함을 감지해서 롤백하는 방법밖엔 없습니다.
서버 허락을 받고 이동하는 방식이라면 그나마 미연에 방지할 수 있습니다.
CanGo()가 동일하게 두 번 true로 되는 상황이라도
먼저 좌표를 선점하는 쪽이 가게끔 만들어주면 되겠죠.
(단 Job 방식이 아니라 바로 적용)

0

ChaYong

답변 감사합니다.

바로 시도해보겠습니다^^

Lessons 3 & 4 don't have subtitles unfortunately

0

40

1

MessagePack

0

107

1

본인 플레이어 이동 관련 질문

0

71

1

Part7 Part9 질문이 있습니다.

0

93

1

.

0

132

1

.

-1

122

2

게임 로직 루프에서 게임 틱 누락으로 인한 높은 CPU 사용 문제

0

105

1

타일 팔레트 깔았는데도 안돼요

0

162

2

2D로 그냥 만들어도 되나요?

0

99

2

지난 강의와 이어지는게 맞을까요?

0

99

2

순환참조 문제로 인해 발생하는 문제는 없을까요?

0

170

2

유니티 클라와 C++서버연동

0

293

2

멀티플레이 테스트 환경 관련 질문입니다

0

233

3

강의 후반부에 순서 동기화를 위해 잡큐를 사용 안 한 부분 질문입니다!

0

168

2

코드 관련한 몇 가지 질문입니다!

0

170

2

3d 프로젝트 이동 동기화 관련

0

350

4

파트 7 스트레스 테스트 질문 드립니다.

1

209

2

맵 이동 방식

0

148

0

맵 이동 관련해서 질문드립니다.

0

99

1

안녕하세요 도저히 알 수 없는 오류가 나와서 질문드려요,,

0

226

2

안녕하세요. 일전에 질문 드린 포폴 준비 관련 질문의 추가 질문입니다!

0

174

1

[팁] 2024년 기준 버전 이슈?

0

471

1

SendBuffer.cs 삭제 후 대체 되는 부분의 장단점?

1

218

1

지금 강의의 유니티 클라를 IOCP 서버와 연동하는 것

0

344

2