Kezdőoldal » Számítástechnika » Programozás » Szerintetek jó ez az elgondolás?

Szerintetek jó ez az elgondolás?

Figyelt kérdés

Készítek egy játékot, amihez a legmegfelelőbbnek a szerver-kliens kialakítást választottam.


Nos. Az a lényeg, hogy a map dinamikusan jön létre, és változik. A szerveren fut kb minden. A kliens csak a grafikai megjelenítést, és a bevitelt kezeli.


Nos. Ugye darabokra van osztva a map, ez megkönnyíti a kezelését a mapnak. Ugye a map darabjainak tömbjét tcp-vel küldöm el, mikor a játékos a szerverről letölti a mapot. A bevitelt értelem szerűen udp-vel.


Nos a mapon történő változásokat, vagy az egész map darabot küldjem újra szerintetek? Esetleg ha csak a változást, akkor tcp-vel elég gyors lenne, vagy udp-vel kéne?


Per pilla csak a változást küldi el a szerver és tcp-vel. Mert ugye ez biztos megérkezik a klienshez, ezáltal szinkronba marad a szerver és a kliens. És elkerülöm a szellem objektumok létrejöttét. Ez jó lenne, de valahogy lassúnak érzem, és félek hogy szerver laggot okozna. Átállítanám udp-re, de ez nem biztos hogy megjön. És lehet egy objektum létre jött szerver oldalon, kliens oldalon nem, vagy még ott van kliens oldalon, de szerver oldalon már nincs.


Szerintetek jó ez az elgondolás? Nem lassu? Ugye a változásos annyik hogy vagy elpusztult egy objektum az adott koordinátán vagy létre jött.


A hasznos válaszokat előre is köszönöm.


2020. nov. 19. 15:23
1 2
 11/15 anonim ***** válasza:

""UDP fölé olyan saját protokollt épít amilyet akar"


Erre írtam, hogy az már nem UDP."


TCP/IP referencia modell megvan? Protokoll stack fogalma megvan? (régebben ISO/OSI referencia modellt erőltették minden iskolában, úgy tudom ez a hülyeség kezd elmúlni, de ha erről beszélsz akkor a TCP/IP referencia modellt érdemes ismerni).

2020. nov. 19. 21:14
Hasznos számodra ez a válasz?
 12/15 anonim ***** válasza:

#10

el vagy tévedve. Senki sem állította hogy az UDPnek része az ACK. :)

Olvasd vissza a beszélgetést. :)))

2020. nov. 19. 21:15
Hasznos számodra ez a válasz?
 13/15 anonim ***** válasza:
A minecraft TCP-t használ, ha ez a kérdés, nem kellett volna ennyire körülírni a dolgot. És nem a TCP fog szerver laggot okozni, hanem magának az objektumoknak a feldolgozása a szerveren, mert írtad, hogy mindent a szerver csinálna, a kliens csak megjelenítené, ez mind CPU-ban, mind hálózati forgalomban nagy terhelést jelent, ha egyszerre sokan játszanak.
2020. nov. 19. 21:49
Hasznos számodra ez a válasz?
 14/15 anonim ***** válasza:

Nem tudjuk mennyi a tervezett, de legyen 50 kliens.

Ez 50 packet kifelé, ha ACK is van, ugyanennyi befelé is. Mindez átlag egy ötezred packet loss miatt.

Megérné?

2020. nov. 20. 01:32
Hasznos számodra ez a válasz?
 15/15 anonim ***** válasza:
tcp t kizárólag körökre osztott játékoknál, meg chaten van értelme használni, máshova csak udp jöhet szóba ha nem akarsz érezhető lagot. Az objektumok létrejöttét kliens oldalon azzal oldod meg, hogy spammeled a klienst az objektum létrehozásával, a kliens meg spammeli vissza a szervert ha kész van, ha a kliens már nem kap kérelmet arra hogy a csináljon egy objektumot akkor nem spammeli tovább a szervert sem. Effektíve megcsinálod egy leegyszerűsített formában a tcp kézfogását. Ótvar, de ezt kell csinálni ha nem akarsz lagot, ezt csinálja minden valós idejű játék amióta van hálózatos játék. És igen, így jelentős részét újra kell írni a játéknak hogy működjön, a legnagyobb szívás amit csak válaszhtatsz a netkód az egész játékiparban, ez sajnos hozzá tartozik. Pár éve én is nekiültem egy egyszerű játéknak úgy hogy 2-3 hónap alatt kész lesz, csináltam közel két évig utána - és az utolsó hónapokban működött csak minden normálisan. Soha többet.
2020. nov. 20. 03:49
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, 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!