inflearn logo
강의

Course

Instructor

[C# and Unity MMORPG Game Development Series] Part 9: MMO Content Implementation (DB Integration + Large-scale Architecture + Live Preparation)

유니티클라에서 패킷을 계속 보내지 않고 lockstep이나 추측항법으로 동기화를 할 수 있을까요?

596

graphite

10 asked

0

여러 캐릭터를 움직여서 싸우는 유사 RTS장르를 구상중인데요

클라에서 매순간 쏴주는 패킷이 부담되지 않을까 고민중입니다.

패킷을 자주보내지 않고 동기화 하려면 double형이 보통 쓰인다고 얄팍하게 알고있는데요

입력값을 보내서 동기화 하는 추측항법이나 특히나 각클라에서 어긋나면 안되는 lockstep같은경우 유니티 클라이언트에서 실현하려면

기본적으로 제공되는 float형의 Vector3, transform.position이나 다른 여타 제공되는 함수를 다 버리고

double형으로 전부 새로 다시파야할까요? 아니면 일반적으로 쓰이는 보정하는 방법이 있는지요?

동기화 MMORPG

Answer 1

0

Rookiss

RTS는 근본적으로 MMO와 동기화 방식이 다릅니다.
스타크래프트 같은 게임은 유닛이 너무 많아서
이를 일일히 MMO 방식의 [유닛 별 좌표 이동]으로 할 순 없겠죠.
보통 사용되는 방법은 실제 키보드/마우스 커맨드 입력을
서버를 통해 다른 클라에게도 전달해 동일하게 시뮬레이션을 하는 것이고
프레임 또한 모든 클라/서버가 동일하게 맞춰서 연산해야 합니다.
(RTS는 좌표 틀어짐 등을 용서할 수가 없기 때문)

패킷을 자주보내지 않고 동기화 하려면 double형이 보통 쓰인다고 얄팍하게 알고있는데요

질문이 이해가 안갑니다. double형이 쓰인다는게 어떤 의미일까요?

0

graphite

답변 감사합니다.

입력값을 받아서 각 클라와 서버가 동일하게 연산할때 double형을 써야 오차가 안생긴다고 들었습니다.

루키스님 강의를 듣고 습작으로 응용한거 만들었는데 언제한번 중간과정을 올리겠습니다.

소녀전선이나 거상같이 전투태세 돌입하면 여러 유닛이 나와서 싸웠으면 좋겠다고 생각했습니다.

갈 길이 멀군요..

마우스 이벤트 처리방법(오브젝트간 인터렉션)

0

621

1

RecvArgs_Completed에서 lock을 안하는 이유

0

516

1

Entity framework 질문드립니다.

0

574

2

json 직렬화

1

287

1

mmo 와 pvp

0

533

2

github로 프로젝트를 push, pull할 때 질문

1

529

1

Iocp 서버 관련 질문드립니다.

0

327

1

서버 관련 질문

0

395

1

DB 처리관련 질문이 있습니다

0

301

1

안녕하세요. 질문드립니다.

1

1507

2

이해한 것이 맞나 궁금합니다.

0

285

1

마이그레이션 파일이 이상합니다.

0

281

1

강의 마지막으로 질문 드립니다.

0

678

2

ItemDbId,구조 설계

0

264

1

MMO 서버 관리 질문 드립니다!

0

321

1

디비 정보 나누기

0

239

1

AccountDb 업데이트

0

306

1

콘솔창이 아니라 브라우저에서 실행

0

280

2

메모리 누수문제.

0

495

1

유니티에서 클라이언트 빌드후 실행하면 맵 로드가 안됩니다.

0

362

1

외부 네트워크에서도 접속해서 게임하기

1

338

1

서버 메모리와 DB 저장 관련 질문

0

368

1

JsonUtility.FromJson 관해서 질문있습니다.

0

276

1

DB 쓰레드 질문입니다

0

267

1