Snapshot base vs packet oriented
Hello Master 🙂
I would like to ask wich method is prefered in wich case. Most mmo code i seen either go packet way like in this course or
Client send commands wich contains input + mouse postion + fields that allow you to for example specify operation type like interact, consume etc.
Server respond each tick with snapshot of zone you are around your aoi with all possible data with delta comporession so you get only new information.
Wich approach is prefered, on wich it depends? Does they have some serious perfomance gains when you stick to one of them? Or its just matter of architecture your team prefer?
回答 1
1
Your question is a bit confusing,
but if you're asking whether you should synchronize by input or by delta position
it depends on the game genre you're developing. For instance,
[1] Starcraft
If you're making a strategy game like starcraft,
you can't just delta serialize every single position data,
because you can have up to 1000+ units.
It would be smarter to synchronize using clients' input commands (mouse/keyboard inputs)
[2] MMO (with keyboard based movement, like WOW)
In this case you have no choice but to synchronize movement regularly.
Usually you do this by setting a temporary destination every 0.25s,
and you can try sending this destination to the client,
and the client will interpolate the movement smoothly.
This is known as dead reckoning.
[3] MMO (with mouse based movement, like Lineage)
The first attempt is to synchronize by mouse inputs, because it seems pretty cheap.
However you have to be consider whether your game needs player collision.
If it does, then it's probably using a grid based system.
In this case you can't just send mouse input,
the server has to judge which user successfully moved.
패킷 보내는 두가지 방법 질문
0
89
0
recv 할게 없어도 무한 while문을 도는데 괜찮은건가요?
0
69
2
MySQL 연동
0
63
2
잡큐단위 내부에서 잡큐호출
0
61
2
포트폴리오 작성 후 확장 방향에 대해 질문이 있어서 글을 남깁니다
0
101
2
에러코드
0
71
1
언리얼 버전
0
80
2
ProtoBuf UE 연동 문제
0
206
3
Is there official app or something that allow you watch lectures offline?
0
82
1
What is more capable of m2 c# server or cpp from episode 4?
0
102
2
워커스레드가 1개일 때 가장 빠를 수 있을까요?
1
199
2
이동동기화 관련 질문 드립니다. 추측항법 외.
0
280
1
이 시리즈 25년에 계획 있으실까요?
1
401
3
SubSystem이 궁금합니다.
0
525
2
웹서버
0
296
2
언리얼 에디터 Stop버튼
0
252
2
질문 있습니다...
0
208
2
클라이언트 강제 종료 시 플레이어 삭제 기능
0
225
1
라이브 강의 질문
0
177
1
52분에 나온 얘기..
0
244
1
게임 서버 몬스터 ai에 관해 궁금한게 있습니다.
0
385
1
파트4의 서버 파일이랑 다른건가요??
0
438
1
3D 이동 동기화
0
478
1
외부 네트워크에서 접속에 대한 질문이 있습니다 !
0
345
1

