total descendants::2 total children::1 |
UDP a TCP Su to nejake protokoly ci co, proste dva sposoby ako sa prenasaju data po sieti. Tj, ma to pre nas zmysel, ak chceme spravit sietovu hru. Ak zaciname, a nevieme celkom co chceme, tak by sme mali zacat s TCP, pretoze sa na to mozme spolahnut, ze sa to nebude spravat nepredvidatelne. Ak chceme robit chat v hre, tak TCP nam zaruci, ze vsetky data, ktore z jedneho pocitaca odosleme, pridu v takej istej forme aj do druheho pocitaca. Takze, data ktore nam pridu mozme hned hodit na obrazovku, vsetko je fajn. Jediny problem je, ze ak maju data prist v spravnom poradi, tak ak sa nejake data zdrzia, a uz nam aj pridu nasledujuce pakety, ale tie prve stale nedosli, tak pri TCP sa musi cakat. Alebo ak ich ukradnu trollovia (data nepridu), tak pri TCP sa musia data opakovane poslat, a teda to zase moze sposobit zdrziavanie.Ak vsak chceme robit nejaky Unreal Tournament (Quake, Counter Strike) a podobne realtime hry, kde 200 milisekundovy lag znamena smrt [ach, ako som neznasal ked to seklo, neposlalo ze som pustil sipku a zdrbal som sa do priekopy ;)], tak treba pouzit UDP. UDP je totiz maximalne rychle, data sa poslu vzdy len raz, a odosielatel sa uz nestara ze ci prisli, ziadne spracovavanie alebo posielanie potvrdzujucich sprav navyse. A prijimatel zase necaka kym mu pridu vsetky data, aby boli v spravnom poradi (co pri chatovani by bolo treba), pri UDP prichadzaju akokolvek (alebo obcas nepridu). Co znamena, ze sa to da v hre pouzit len na veci, pri ktorych nam nevadi obcasna strata dat. Kde mozme predpokladat ze sa nic nestalo, a pripadne potom napravit situaciu akonahle data pridu. V pripade toho UT, ak chceme posielat informacie o hracoch, tak by sme mohli posielat poziciu a info o strielani, atd.. Lenze potom by taktiez nebolo najkrajsie, keby panak kazdych 100ms skoci na novu poziciu :). Asi by sa to nedalo hrat, potrebujeme plynule spravanie, a co najexaktnejsie, aby bolo co najviac priblizene skutocnemu stavu, lebo ked budem strielat po niekom, kto bol na danom mieste pred sekundou, tak ho asi netrafim. Cize by bolo fajn poslat aj rychlost akou sa hrac pohybuje. A nejak podla rychlosti interpolovat poziciu, az kym nepridu nove data s poziciou - vtedy moze bud skocit na to miesto (UT), alebo docasne strasne zrychlit (Lineage). RakNet je fajn kniznica s kopou ukazok ako sa to pouziva (iked mi nepridu moc prehladne, ale to je ta programatorska pliaga, ze musis vediet napr. ako sa v c++ zarovnavaju datove struktury a podobne nepodstatnosti, ak chces nieco poslat - pritom by malo zvladnut aj male decko, keby to bolo rozumne navrhnute, ale akademici radi vsetko komplikuju, aby ich tituly vyzerali aspon trochu vazne, a konformna spolocnost je tym nakazena tiez, a nepochopenie bloated informacii povazuje konformna spolocnost za vlastnu chybu) ..takze uz ti nic nebrani v robeni hier ;)) resp. ak by nieco chybalo, neni problem doplnit.. |
There are currently 10051 K available in get 1 🦆 for 5 🐘 get 1 🐘 for 1 🦆 axone GameDev - Podme si vytvorit vlastnu hru |
|||||||||||||||||||||||