블로그 이미지

냥날의 티스토리

Rss feed

[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
  • ㄴㄴ 2008.03.02 19:09 ADDR 수정/삭제 답글

    옥탑계량기 1/31-6421 3/1-8830

TOTAL 37,732 TODAY 1