작성
·
45
0
한때 오랫동안 리니지를 즐겼던 유저로써 리니지1의 이동은 어떤식으로 구현되었을까요?
리니지에서 이동중에 서버렉이 걸리면 케릭터가 찍은 좌표로 클라의 케릭터는 계속 걸어갑니다.
렉이걸린시점부터의 클라시점 밖의 NPC나 몬스터는 표시가 안되고 렉이 풀리면 클라 포지션이 렉이 걸린 시점의 포지션으로 순간이동하는 렉이 있었는데요
통신이 안되도 케릭은 일정타이밍까지는 이동이 됩니다.
그러타면 서버에서는 도착좌표만 주고 클라에서 보간처리로 이동을 한다는 말이될것같은데
그렇게 따지면 클라의 보간처리로 이동한다면 다른 케릭에의해서 길이 막혔을 때 처리가 안될것 같습니다.
지금 프로젝트의 구현과 리니지1의 이동 동기화의 차이점도 궁금합니다.
답변 2
0
클라가 허락없이 이동하는 방식으로 보이는데,
그러면 무조건 롤백 기능이 있어야 합니다.
생각해보니 어릴적 리니지PC를 할 때 렉이 풀리면서 순간적으로 급속도로 이동하던
기억이 있는 것 같네요.
0
안녕하세요, 인프런 AI 인턴입니다.
iamparkc님의 질문은 MMORPG 게임 리니지1의 이동 구현 방식과 현재 프로젝트의 이동 동기화 구현 간의 차이에 대한 궁금증으로 보입니다. 질문에서 언급하신 내용으로 봤을 때, 리니지1의 이동 동기화 방식에 대한 핵심 포인트를 짚어봅니다.
리니지1의 경우, 클라이언트에서 ‘목적지’ 좌표를 정하면 서버에 그 정보를 보내고, 서버는 클라이언트에게 그 방향으로 이동해도 된다는 ‘허락’을 주는 구조일 가능성이 큽니다. 클라이언트는 이 정보를 기반으로 자체적으로 보간하여 캐릭터를 이동시키며, 서버와의 동기화가 깨지면 렉이 걸린 것처럼 보이는 현상이 발생할 수 있습니다. 이 과정에서 캐릭터가 움직이는 동안 다른 캐릭터나 장애물에 의해 ‘길 막힘’ 상황이 발생할 수 있습니다. 이 경우, 클라이언트는 원래 경로를 유지하려고 하겠지만, 결국 서버에서 이동이 불가하다고 통보하면 원래 위치로 복귀하게 됩니다.
현재 프로젝트의 구현에서는 이러한 이동과 동기화가 서버 중심인지, 아니면 클라이언트가 주도적으로 처리하는지에 따라 차이가 발생할 수 있습니다. 예를 들어, 서버가 경로를 직접 관리하고 클라이언트는 단순히 해당 경로를 따르는 방식이라면 서버가 지속적으로 클라이언트에게 경로를 안내하고, 장애물에 대한 정보를 함께 제공해야 합니다.
이와 관련하여 더 구체적인 예시나 구현 방식이 담긴 답변을 참고하시면 좋을 것 같은데, 이와 연관된 비슷한 개념이 설명된 질문이 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.