Kezdőoldal » Számítástechnika » Programozás » Multiplayer szervereken, hogy...

Multiplayer szervereken, hogy oldják meg a fizikát?

Figyelt kérdés
Jelenleg egy pre-alfa prototípus multiplayer teszten dolgozom, ami lényegében egy szerver-kliens játék. És azon tűnődtem, hogy a "profik" vajon hogy oldják meg a fizikai modellezést? Mert jelenleg úgy építettem fel, hogy a szerveren fut a teljes fizikai szimuláció, és a klienseknek csak a mátrixot közvetíti (ami az eltolásokat, és elfordulásokat tartalmazza a kirajzoláshoz) de valljuk be ez 500 testel, 0-ás pingen is eléggé szemmel láthatóan szaggat. Szóval van ebben valami kliens oldali huncutság is, hogy amíg nem kap jelet, addig szimulál magának, vagy ilyesmi... De vajon hogy?

2013. okt. 23. 01:35
 1/9 anonim ***** válasza:

Normális szerver és jól optimalizált kód kell csak.

Mindenképpen érdemes a szerver oldalon számolni a fizikát, legalább részben.

2013. okt. 23. 02:05
Hasznos számodra ez a válasz?
 2/9 anonim ***** válasza:

Nem gondolom, hogy értelmes dolog lenne a teljes fizikai modellezést a szerveren számolni.

Inkább a kliens számoljon, a szerverről max. az olyan paraméterek jöjjenek, mint a karakter pozíciója, nézőpontja, stb.

2013. okt. 23. 16:40
Hasznos számodra ez a válasz?
 3/9 anonim ***** válasza:

Na igen, csak a kliensről jövő adatokat baromi könnyű hamisítani.

Ezért egy bizonyos ellenőrzést minimum a szerveren "kell" csinálni.

2013. okt. 23. 17:00
Hasznos számodra ez a válasz?
 4/9 anonim ***** válasza:

"Na igen, csak a kliensről jövő adatokat baromi könnyű hamisítani.

Ezért egy bizonyos ellenőrzést minimum a szerveren "kell" csinálni."


Nyilvánvaló, dehát erre vannak a kliens-és szerveroldali anticheat programok. Ezt egyik multiplayer rendszer sem úgy oldja meg, hogy jó, akkor mindent a szerveren számolunk :D

2013. okt. 23. 17:06
Hasznos számodra ez a válasz?
 5/9 anonim ***** válasza:
Nem mindet, de alap fizikai ellenőrzéseket akkor is ott kell minimum.
2013. okt. 23. 17:27
Hasznos számodra ez a válasz?
 6/9 anonim válasza:
A kliens oldali huncutság amire szükséged van: "client-side prediction"
2013. okt. 24. 08:59
Hasznos számodra ez a válasz?
 7/9 A kérdező kommentje:
igen, azt ismerem, de nekem nem ez a huncutság kell. Mondjuk való igaz, hogy az szinte csalhatatlan :D
2013. okt. 24. 16:19
 8/9 anonim ***** válasza:

"Mondjuk való igaz, hogy az szinte csalhatatlan :D"


Már miért lenne csalhatatlan? Sztem nem tudod, mi az.

Client side prediction: a kliens megpróbálja megjósolni a legutoljára szerverről jött infók alapján az ellenfelek pozícióját, és anélkül rendereli ki őket egy adott pozícióra, hogy explicite pozíciómeghatározást kapott volna a szervertől.

Ennek semmi köze a csalhatatlansághoz, csalni a játékban attól még lehet, ha meg olyan értelemben érted a csalhatatlanságot, hogy nem téved az jóslás, akkor abban sincs igazad, ugyanis bizonyos szituációkban elég gyakran téved.

Egy példa: a Counter Strike-ban biztos láttál már olyant, hogy valaki laggolt, akkor a kliensed úgy rajzolta, hogy fut egy adott irányba, aztán hirtelen hátrább ugrott vagy 10-15 méterrel.

Na ez pont a client side prediction "hibája"; A kliens az addigi irányból jósolva renderelte ki az előremozgást, és mivel barátunk laggolt, később kapott a szerver infót arról, hogy megállt, ezt továbbküldte neked, erre a te kliensed berenderelte a helyes pozícióba, azaz hátraugrott.

2013. okt. 24. 21:13
Hasznos számodra ez a válasz?
 9/9 A kérdező kommentje:
én amit eddig tudtam róla, az az volt, hogy a kliens kontroll infókat küld, de az irányt stb. kiszámolja kliens oldalon is, aztán egyesíti. most ezt így elolvasva nem jön ki amit tudok. De értem :D
2013. okt. 24. 22:05

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!