-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
해결됨
안녕하세요. 루키스님^^
22.04.08 18:01 작성 조회수 277
1
안녕하세요^^ 루키스님
항상 열심히 사시느라 존경스럽다는 말을 먼저 서두에 넣고 싶네요.
바쁘신 와중에 질문글을 올리는게
너무나 죄송스럽습니다.
분명 기본적으로 알려주실껀 다 알려주셨지만
이런쪽으로 머리를 써본일이 적다보니
이동 관련하여 막힌 난관에
도무지 스스로 해결책을 찾을 방도가 없어
이렇게 실례를 무릎쓰고 글을 적게되었습니다 ㅠ
다름이 아니고 일단 영상을 하나 봐주세요.
https://m.blog.naver.com/hyhc125/222695406876
현재 오라클 클라우드 서버에
두 인스턴스를 생성해
하나는 AccountServer, 하나는 GameServer로 돌리고 있고 DB는 오라클에서 제공해주는 ATB(자율구동데이터베이스)를 사용하고 있습니다.
영상을 보시면 케릭터가 이동 중에
몬스터를 관통하거나 혹은 케릭터와 몬스터가 한 좌표에 겹쳐지는 현상이 나타납니다.
제 생각엔 한 좌표에 동시에 몬스터와 케릭터가 진입(몬스터와 케릭터가 앞으로 이동 할 지점에 대하여 CanGo()로 검사를 하는데 두 개가 동시에 true가 되는 경우)을 하는게 원인같다고 판단은 했는데
막상 이에 대한 해결책을 찾자니
도무지 떠오르는 아이디어가 없어서
한참 고민하다가
루키스님께 조그마한 힌트라도 얻을 수 있을까 싶어
질문드리게 되었습니다.
이런 경우 어떻게 겹치지 않게 할 수 있을가요?
답변을 작성해보세요.
1
Rookiss
지식공유자2022.04.09
클라 선이동 방식이라면 운 나쁘게 겹칠 수도 있고,
이런 경우엔 이상함을 감지해서 롤백하는 방법밖엔 없습니다.
서버 허락을 받고 이동하는 방식이라면 그나마 미연에 방지할 수 있습니다.
CanGo()가 동일하게 두 번 true로 되는 상황이라도
먼저 좌표를 선점하는 쪽이 가게끔 만들어주면 되겠죠.
(단 Job 방식이 아니라 바로 적용)
답변 1