글
[GDC] Networked Physics
프로그래밍
2008. 2. 23. 00:07
[GDC] Networked Physics in Large Streaming World: MACHINARIES 2
제안한 방식
1. 초당 30 프레임의 고정된 시간 간격으로 물리 계산
2. 물리로 움직이는 오브젝트의 상태가 네트웍을 통해 싱크될 수 있어야 함.
자신은 위치, 방향, 속도의 세 가지를 싱크하였음.
(이래도 되나? 각속도나 각운동량도 있어야 하지 않나)
3. 물리 계산 방식을 고정 프레임 방식을 사용하여
초기값을 알면 그 후의 계산은 동일하게 계산할 수 있는
'결정적 (디터미스틱) 메카닉'으로 만든다.
권한 알고리즘
1. 대부분의 오브젝트는 물리 계산을 할 필요가 없는 정적인 상태이다.
2. 동적인 상태인 오브젝트도 잠시 시간이 지나면 정적인 상태로 수렴한다.
3. 오브젝트의 충돌이 발생하면 동적인 상태가 유발된다.
4. 이때 그 오브젝트를 움직일 권한을 유발시킨 클라이언트가 갖는다.
5. 다른 클라이언트는 그 움직임을 일방적으로 반영한다.
6. 이 과정에서 튀게 되는 일이 생길 수 있는데 이것은 어쩔 수 없다.
!!! (<- 이게 좀 그럼)
7. 여러 플레이어가 한 오브젝트의 소유 권한을 놓고 경쟁할 수 있는데
이때는 서버가 판정하여, 한쪽만 움직일 수 있도록 한다.
* 실제로 게임 플레이 중에 두 플레이어가 물리 때문에 얽히는 일이
생각보다 자주 있지 않다는 점과
* 발표자가 만든 게임의 물리가 주로 파괴 시에 동작 하기 때문에
어느 정도 튀어도 눈감아 줄 만 하다는 점
.. 때문에 이런 식으로 처리한 것 같다.
'프로그래밍' 카테고리의 다른 글
HDR 쓸 때 주의할 점 (0) | 2008.11.24 |
---|---|
minidump (0) | 2008.03.04 |
[GDC] Networked Physics (1) | 2008.02.23 |
프로그래밍(재탕) (3) | 2007.12.19 |
냥날최속싱크이론 (2) | 2007.06.27 |
추억의.. Y/N 을 묻는 배치 파일 (0) | 2007.03.20 |
RECENT COMMENT