버그 해결을 위한 모든 질문을 던져
0 votes
778 views

현재 TCP를 기반으로 간단한 리니지식 이동을 구현하려고 고민중인 중생입니다.

한때 리니지에 엄청 빠져있던때가 있어서 리니지의 특성에 대해서 어느정도 파악하고있습니다.

그냥 좌표를 클릭해서 이동시킨다라면 간단하지만 리니지의 특성을 생각해볼 때 어떻게 했는지 딱히 머리에 떠오르지 안습니다.

 

 화면내 좌표를 클릭 그 지점까지 이동한다.

리니지의 특성을 봤을때 타일형 맵입니다. 심오한 길찾기 알고리즘까진 구현되어있는것같진 않습니다.  목적지까지 한타일 한타일 이동하면서

디렉션 방향에 장애물이 있을때에는 디렉션 방향의 대각선 타일로 이동할 수 있는가 있다면 이동하라정도의 길찾기 알고리즘인듯 보입니다.(유저가 있는 타일도 장애물로 인식)

유저가 있는 타일은 장애물로 인식라는  부분이 굉장히 궁금한부분인데요.  유저가 있는 자리로는 갈 수 없습니다. 제 케릭이 어느 지점으로 진행하고 있는데 마침 그 경로에 다른 유저가 지나간다면 케릭이 그 유저를 장애물로 인식하여 멈추거나 비켜갑니다... 그러면 한타일 한타일 패킷교환을 하지않으면 안되는 상황이 발생하는데요.

정말로 한타일 한타일 통신을하는것인지 아니면 다른 꼼수가 있는지 궁금합니다.

그리고 리니지의 이동구현은 어떤식으로 하면 되는지 고수분들의 어드바이스 부탁드리고싶습니다 m(_ _)m

asked (2 point) , 778 views

3 answers

0 votes
클라에서 계산된 경로를 일단 받고 그 부근에서 겹칠만한 경로를 요청하는 다른 클라이언트를 검출해내면 되지 않을까요?
answered (12 point)
0 votes
클라 개인이 자기의 타일이 변했다면 계속 서버에 전송해주고 그 정보를 유저 근방의 클라들에게 뿌려주겠죠?

그렇게 되면 자기 주변의 유저의 위치를 아니깐 그 유저들을 장애물로 설정하고 길찾기를 하지 않을까요?
answered (4 point)
0 votes
유저끼리는 어렵지 않습니다.

일단 유저가 서있는 자리로 못가게 하는건 유저가 있는 자리에 터치가 안되게 하면 됩니다.

그리고 가는길에 유저가 들어오면 그때 막힌 자리에서 다시 목적지 이동 패킷을 보내서

재계산 시키면 됩니다.

타일마다 통신할 필요는 없습니다.
answered (9 point)

버그 해결을 위해 도움을 구하고, 도움을 주세요. 우리는 그렇게 발전합니다.

throw bug 는 프로그래밍에 대한 전분야를 다룹니다. 질문,논의거리,팁,정보공유 모든 것이 가능합니다. 프로그래밍과 관련이 없는 내용은 환영받지 못합니다.

215 질문
330 answers
349 댓글
347 users