큰 MMORPG가 물리를 얼마나 자주 업데이트합니까? [닫은]


12

내가 이해하는 한 대부분의 큰 게임은 고정 된 시간 간격을 사용하여 안정적인 시뮬레이션을합니다.

게임 서버 와 관련하여 어떤 "프레임 속도"가 적용됩니까? 아니면 다른 방법으로 말하면, 그들은 어떤 고정 된 시간 간격을 사용하는 경향이 있습니까?

많은 사람들이 "그들이 도망 갈 수있는 한 빨리"라고 말할 것입니다. 기존 MMORPG에 대한 직접적인 경험이 있다면 그 속도가 얼마나 빠른지 알고 싶습니다.


다른 사람들이하는 일에 너무주의를 기울이지 않아야합니다. 다른 사람을 위해 일하는 것이 반드시 당신을 위해 일할 필요는 없습니다.
Philipp

6
EVE Online은 1 초에 한 번 시뮬레이션을 업데이트하지만 시스템은 비정상입니다. 자세한 내용은이 기사의 첫 부분을 참조하십시오. themittani.com/features/understanding-eve-online-server-tick
Ross Ridge

1
그래서 이것은 게임 개발에 대한 질문이 아니라 "이미 존재하는 다른 사람들의 게임에 대한 퀴즈를 요구하는"질문입니다.
Trevor Powell

2
나는 이것을 사소한 일이라고 부르지 않을 것이다. 그것은 매우 중요하다. 일부 게임은 1 초 틱을 사용할 수 있으며, 내가 알지 못하거나 물리를 전혀 사용하지 않는 틱은 나에게 매우 중요합니다 (그리고 개발자에게도 중요합니다). 동시에 필립에 대한 나의 대답은 FPS를 결정하고 싶었 기 때문에 내가 묻는 질문에 대한 무언의 암시 때문이었습니다. 내 엔진에는 많은 제한이 있으며 이미 사용할 수있는 한도 FPS (하한 및 상한)를 알고 있기 때문에 의미가 없습니다.
Fabio

1
블리자드가 전투 이벤트에 대한 와우 서버 처리 속도를 400 MS마다 한 번에서 "언제나 들어올 때마다"변경하는 기사를 읽었습니다. 그러나 그것은 물리학과 관련이 없습니다. 왜냐하면 와우는 나이로 인해 실제로 물리학의 방식이별로 없기 때문입니다. 또한 이것에 대한 출처를 찾을 수 없습니다.
Nzall

답변:


7

Second Life는 Havok을 사용하여 서버 측에서 물리를 구현하고 업데이트를 초당 45 개로 잠급니다.

https://community.secondlife.com/t5/General-Discussions/SIM-FPS-is-maxed-out-at-45/td-p/181120

2005-2006 년 초의 이전 버전에서는 물리 업데이트가 서버가 허용하는 한도 내에서 많이 떠오를 수 있습니다. 스크립팅 된 객체가 거의없는 복잡하지 않은 영역은 초당 800 번 업데이트 할 수 있습니다. 효율성과 일관성을 개선하기 위해 나중에 45로 고정했습니다.

세컨드 라이프에서 프레임 속도는 각 클라이언트의 CPU 및 그래픽 성능에 따라 다릅니다. 세계 정확도는 네트워크 성능에 따라 다릅니다.


실제로 이것은 합리적입니다. 적분자가 훌륭하고 충돌 감지가 충분히 똑똑하다면 괜찮은 일을 할 수있는 30 FPS까지도 발견했습니다. 적절한 물리학을 가진 다른 MMO와 그 시간 단계를 알고 있습니까?
Fabio

2
실제 사례를 제공하는 유일한 것으로 인정되었지만 모두 생각하기에 좋은 음식이었습니다. 고마워
Fabio

24

저는 MMO 용 서버를 포함하여 몇 개의 게임 서버에서 작업했습니다.

일반적으로 물리학은 전혀 없습니다. 물리가 필요한 몇 가지 상황 (주로 점핑)에서는 고객이 자신의 물리를 계산하도록 허용하고 너무 외설적 인 것을 거부합니다. 기타).

서버에는 일반적으로 '시간 단계'가 없습니다. 그들은 보통 "초당 프레임"으로 생각하지 않습니다. 대신, 우리는 누군가에게서 마지막으로들은 소식과 그 당시에했던 일을 알고있다가 잠시 후에 다시 듣게되면 우리는 현재하고있는 일에 대한 소식을 듣고 내부 상태를 일치하도록 업데이트합니다. . 서버 측의 모든 것을 엄격하게 시뮬레이션 할 필요는 없습니다. 우리는 고객이 우리에게 말한 것을 기록하고 고객이 말한 것이 우리에게 그럴듯 해 보이도록 몇 가지 점검을 할 수 있습니다.


4
플레이어가 기록하지 않고 환경에서 시뮬레이션을 수행하지 않는 경우에만 작동합니다. 나는 실제로 그것이 일반적으로했다고 가정 했지만 , 실제로는 "생존"하지 않기 때문에 대부분의 MMO에게는 중요하지 않을 것입니다. 감사합니다. 이것은 예기치 않은 답변이었습니다.
Fabio

2
@Fabio 대부분의 MMO는 관찰자가 없을 때 아무것도하지 않습니다. 울티마 온라인 (Ultima Online)조차도 실제 생활 경제 (생태계)를 갖기 전에는 기술적 인 이유로는 풀리지 않았습니다. 게임을하지 않아도 상황이 발생하는 게임이 있습니다 (예 : Haven 및 Hearth). 트릭은 관찰 될 때까지 아무 일도 일어나지 않는다는 것입니다. 모든 활성 항목은 마지막으로 관찰 된 시간을 기억하고 발생한 일을 계산합니다. 그동안 다시 본 순간. 따라서 각 틱을 업데이트하는 값 대신 perTick * ticksSinceLastUpdated간단하고 효율적입니다.
Luaan

1
날 잘못 이해하지 마라. MMO 서버는 종종 정기적 인 작업을 수행합니다. 부활해야하는 몬스터를 확인하고 리소스 노드 생성을 고려하고 게임 상태를 백업하십시오. 게임에 절차 적 활동이 있다면 더 멋진 것이 될 수도 있습니다. 그러나 아무도 주위에 없을 때에도 초당 'x'번을 실행하는 물리학과는 다릅니다. 1 분에 몇 번 몬스터가 스폰되는지 확인할 수 있습니다. (또는 그보다 더 많은 외부 프로그램을 가지고있을뿐 아니라 서버가 시간을 알 수 있도록 서버를 찌르기 때문에 서버 자체가 클라이언트 요청 처리에 집중할 수 있습니다) .
Trevor Powell

11

주어진 다른 좋은 답변 외에도, 일부 물리학은 일반적으로 서버에 의해 구동되거나 서버에 대해 알지 못하고 네트워킹이나 서버에 오버 헤드를 추가하지 않고 세상을 더 부유하게 보이게하는 일반적인 트릭이라는 사실을 추가하고 싶습니다. 측면 처리.

예를 들어, 다른 물체와 상호 작용하는 바람이 불면 땅에서 걷어차거나 날아갈 수있는 잔해가있을 수 있습니다.

물리가 순전히 장식 적이며 어떤 식 으로든 움직임이나 게임 플레이에 영향을 미치지 않으면 클라이언트 측에서 완전히 일어날 수 있습니다.

다른 플레이어는 사물을 다르게 볼 수 있습니다 (예 :지면에서 깡통을 쏘아 날아가는 경우 다른 플레이어는 날아갈 수없는 것을 볼 수 있습니다). 그러나 경험이 중요하지 않은 경우가 많습니다. 모든 플레이어에게 동일하게 적용되며 클라이언트 측 물리 시뮬레이션을 통해 온라인 게임의 모양과 느낌을 향상시킬 수 있습니다.


일부 게임에서는 충분히 빨리 날 수 있다면 누군가를 죽일 수 있습니다. 나는 폭발로 추진 된 트래픽 콘에 의해 누군가가 살해되는 Halo 게임 비디오를 보았습니다.
Random832

캔이 게임 플레이에 영향을 미치도록하려면 동기화 된 물리 세계에 추가 할 수 있지만 동일한 공간에서 동기화되지 않은 물리 세계를 가질 수도 있습니다! 기본적으로 비동기 물리 세계는 플레이어와 물리 물리 세계에 의해 영향을받을 수 있지만 다시 영향을받을 수는 없습니다 (:
Alan Wolfe

3

단일 샤드와 최대 우주 전투에서 최대 수천 명의 플래터가있는 MMO 인 EVE Online은 "데스티니 (Destiny)"진드기라고하는 1Hz 진드기에서 물리학을 실행합니다.

http://community.eveonline.com/news/dev-blogs/fixing-lag-drakes-of-destiny-part-1-1/

"Bloodbath of B-R5RB"는 온라인 게임에서 지금까지 발생했던 가장 큰 플레이어 싸움입니다. 한번에 "에 기재된 https://en.wikipedia.org/wiki/Bloodbath_of_B-R5RB ).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.