Hais txog lub network qauv hauv kev ua si rau cov pib tshiab

Hais txog lub network qauv hauv kev ua si rau cov pib tshiab
Ob lub lis piam dhau los kuv tau ua haujlwm ntawm lub tshuab network rau kuv qhov kev ua si. Ua ntej ntawd, kuv tsis paub dab tsi txog kev sib tham hauv kev ua si txhua qhov, yog li kuv tau nyeem ntau cov ntawv thiab tau ua ntau yam kev sim kom nkag siab txhua lub ntsiab lus thiab tuaj yeem sau kuv tus kheej lub tshuab sib txuas.

Hauv phau ntawv qhia no, kuv xav qhia rau koj txog ntau lub ntsiab lus uas koj yuav tsum tau kawm ua ntej sau koj tus kheej lub cav ua si, nrog rau cov peev txheej zoo tshaj plaws thiab cov ntawv rau kev kawm lawv.

Nyob rau hauv dav dav, muaj ob lub ntsiab ntawm network architectures: peer-to-peer thiab client-server. Nyob rau hauv ib tug phooj ywg-rau-peer (p2p) architecture, cov ntaub ntawv yog pauv ntawm ib tug khub ntawm kev cob cog rua players, thaum nyob rau hauv ib tug client-server architecture, cov ntaub ntawv yog kis tau tsuas yog ntawm cov players thiab cov neeg rau zaub mov.

Txawm hais tias cov phooj ywg-rau-peer architecture tseem siv nyob rau hauv qee qhov kev ua si, cov neeg siv-server yog tus qauv: nws yooj yim rau kev siv, yuav tsum muaj qhov dav me me, thiab ua kom yooj yim los tiv thaiv kev dag. Yog li ntawd, hauv phau ntawv qhia no, peb yuav tsom mus rau cov neeg siv khoom-neeg rau zaub mov architecture.

Tshwj xeeb tshaj yog, peb txaus siab rau cov neeg ua haujlwm ywj pheej: hauv cov tshuab zoo li no, cov neeg rau zaub mov yeej ib txwm yog. Piv txwv li, yog tias tus neeg ua si xav tias nws nyob ntawm (10, 5) thiab tus neeg rau zaub mov qhia nws tias nws nyob ntawm (5, 3), ces tus neeg siv yuav tsum hloov nws txoj haujlwm nrog tus neeg rau zaub mov qhia, tsis yog lwm txoj hauv kev. Kev siv cov servers tso cai ua rau nws yooj yim dua kom paub txog cov neeg dag.

Muaj peb yam tseem ceeb hauv gaming network systems:

  • Thauj raws tu qauv: yuav ua li cas cov ntaub ntawv pauv ntawm cov neeg siv khoom thiab cov neeg rau zaub mov.
  • Daim ntawv thov raws tu qauv: dab tsi yog kis los ntawm cov neeg siv khoom mus rau lub server thiab los ntawm lub server mus rau cov neeg siv khoom, thiab hom twg.
  • Daim ntawv thov logic: yuav ua li cas cov ntaub ntawv kis tau siv los hloov kho lub xeev ntawm cov neeg siv khoom thiab lub server.

Nws yog ib qho tseem ceeb heev kom nkag siab txog lub luag haujlwm ntawm txhua ntu thiab cov teeb meem cuam tshuam nrog lawv.

Thauj raws tu qauv

Thawj kauj ruam yog xaiv cov txheej txheem rau kev thauj cov ntaub ntawv ntawm tus neeg rau zaub mov thiab cov neeg siv khoom. Muaj ob txoj cai hauv Internet rau qhov no: TCP ΠΈ UDP. Tab sis koj tuaj yeem tsim koj tus kheej kev thauj mus los raws li ib qho ntawm lawv lossis siv lub tsev qiv ntawv uas siv lawv.

Kev sib piv ntawm TCP thiab UDP

Ob leeg TCP thiab UDP yog raws li IP. IP tso cai rau cov pob ntawv xa tawm los ntawm ib qhov chaw mus rau tus txais, tab sis nws tsis tau lees tias cov pob ntawv xa tuaj yuav ncav cuag tus txais sai lossis tom qab, tias nws yuav tau txais mus rau nws tsawg kawg ib zaug, thiab qhov sib lawv liag ntawm pob ntawv yuav tuaj txog. kev txiav txim kom raug. Ntxiv mus, ib pob ntawv tuaj yeem tsuas muaj cov ntaub ntawv tsawg tsawg, muab los ntawm tus nqi TUS NEEG.

UDP tsuas yog txheej nyias nyias rau saum IP. Li no, nws muaj qhov txwv tib yam. Hauv qhov sib piv, TCP muaj ntau yam nta. Nws muab kev txhim khu kev qha kev sib txuas ntawm ob lub nodes nrog kev kuaj xyuas yuam kev. Yog li ntawd, TCP yog yooj yim heev thiab siv nyob rau hauv ntau lwm yam kev cai, piv txwv li, nyob rau hauv HTTP, FTP ΠΈ SMTP. Tab sis tag nrho cov nta no tuaj ntawm tus nqi: ncua.

Txhawm rau nkag siab tias vim li cas cov haujlwm no tuaj yeem ua rau latency, peb yuav tsum nkag siab tias TCP ua haujlwm li cas. Thaum tus tswv tsev xa ib pob ntawv mus rau tus tswv tsev, nws xav tias yuav tau txais kev lees paub (ACK). Yog tias tom qab qee lub sijhawm nws tsis tau txais nws (vim tias lub pob ntawv lossis qhov kev lees paub tau ploj lawm, lossis rau qee qhov laj thawj), ces nws xa cov pob ntawv rov qab. Ntxiv mus, TCP tau lees tias cov pob ntawv tau txais hauv qhov kev txiav txim kom raug, yog li kom txog thaum cov pob ntawv poob tau txais, tag nrho lwm cov pob ntawv tsis tuaj yeem ua tiav, txawm tias lawv twb tau txais los ntawm qhov tau txais cov node.

Tab sis raws li tej zaum koj yuav to taub, latency nyob rau hauv multiplayer ua si yog ib qho tseem ceeb heev, tshwj xeeb tshaj yog nyob rau hauv xws li ib hom ntawv nyeem xws li FPS. Tias yog vim li cas ntau qhov kev ua si siv UDP nrog nws tus kheej raws tu qauv.

Ib hom kev cai raws li UDP tuaj yeem ua tau zoo dua TCP rau ntau yam. Piv txwv li, nws tuaj yeem khij qee pob khoom raws li kev ntseeg siab thiab lwm tus tsis ntseeg. Yog li ntawd, nws tsis quav ntsej yog tias pob ntawv tsis ntseeg tau mus txog tus neeg txais. Los yog nws tuaj yeem ua ntau cov ntaub ntawv ntws kom cov pob ntawv poob hauv ib lub kwj dej tsis ua rau lwm cov kwj deg qeeb. Piv txwv li, tej zaum yuav muaj ib tug xov rau neeg uas ua ntawv tawm tswv yim thiab lwm xov rau kev sib tham lus. Yog tias cov lus sib tham uas tsis yog cov ntaub ntawv ceev tau ploj, ces nws yuav tsis ua kom qeeb ntawm cov tswv yim uas ceev. Los yog cov txheej txheem ua tswv cuab tuaj yeem siv kev ntseeg tau txawv dua li TCP kom ua tau zoo dua hauv ib puag ncig kev ua si video.

Yog li, yog tias TCP nqus, ces peb yuav tsim peb tus kheej kev thauj mus los raws li UDP?

Txhua yam yog me ntsis nyuab dua. Txawm hais tias TCP yog qhov zoo tshaj plaws rau kev ua si hauv network, nws tuaj yeem ua haujlwm zoo rau koj qhov kev ua si tshwj xeeb thiab txuag koj lub sijhawm muaj txiaj ntsig. Piv txwv li, latency tej zaum yuav tsis yog ib qho teeb meem rau ib tug tig-raws li kev ua si los yog ib qho kev ua si uas tsuas yog ua si nyob rau hauv LAN tes hauj lwm, qhov twg latency thiab pob ntawv poob ntau npaum li cas tsawg dua nyob rau hauv Internet.

Ntau qhov kev ua si ua tau zoo, suav nrog World of Warcraft, Minecraft, thiab Terraria, siv TCP. Txawm li cas los xij, feem ntau FPSs siv lawv tus kheej UDP raws tu qauv, yog li peb yuav tham ntxiv txog lawv hauv qab no.

Yog tias koj xaiv siv TCP ces xyuas kom tseeb tias nws yog neeg xiam Nagle's algorithm, vim nws buffers pob ntawv ua ntej xa, uas txhais tau hais tias nws ua rau kom qeeb.

Yog xav paub ntxiv txog qhov sib txawv ntawm UDP thiab TCP hauv cov ntsiab lus ntawm kev ua si sib tw, saib Glenn Fiedler tsab xov xwm UDP vs. TCP.

Proprietary raws tu qauv

Yog li koj xav tsim koj tus kheej kev thauj mus los tab sis tsis paub yuav pib qhov twg? Koj muaj hmoo, vim Glenn Fiedler tau sau ob tsab xov xwm zoo txog nws. Koj yuav pom ntau lub tswv yim ntse hauv lawv.

Thawj tsab xov xwm Networking rau Game Programmers 2008, yooj yim dua qhov thib ob Tsim Ib Game Network raws tu qauv 2016. Kuv xav kom koj pib nrog tus laus dua.

Nco ntsoov tias Glenn Fiedler yog tus txhawb nqa loj ntawm kev siv koj tus kheej raws tu qauv raws li UDP. Thiab tom qab nyeem nws cov ntawv, tej zaum koj yuav tau txais nws lub tswv yim tias TCP muaj qhov tsis zoo hauv kev ua si video, thiab koj yuav xav siv koj tus kheej raws tu qauv.

Tab sis yog tias koj tshiab rau kev sib tham, ua koj tus kheej nyiam thiab siv TCP lossis tsev qiv ntawv. Yuav kom ua tiav koj tus kheej txoj kev thauj mus los, koj yuav tsum kawm ntau yam ua ntej.

Network Libraries

Yog tias koj xav tau ib yam dab tsi zoo dua TCP, tab sis tsis xav thab siv koj tus kheej raws tu qauv thiab nkag mus rau ntau cov ntsiab lus, koj tuaj yeem siv lub tsev qiv ntawv net. Muaj ntau ntawm lawv:

Kuv tsis tau sim lawv tag nrho, tab sis kuv nyiam ENet vim nws yooj yim siv thiab txhim khu kev qha. Tsis tas li ntawd, nws muaj cov ntaub ntawv meej meej thiab kev qhia rau cov pib tshiab.

Thauj raws tu qauv xaus

Txhawm rau ua kom tiav, muaj ob txoj kev thauj khoom loj: TCP thiab UDP. TCP muaj ntau yam muaj txiaj ntsig zoo: kev ntseeg siab, khaws cia ntawm pob ntawv xaj, tshawb pom qhov yuam kev. UDP tsis muaj tag nrho cov ntawd, tab sis TCP, los ntawm nws qhov xwm txheej, muaj latency siab uas tsis tuaj yeem lees txais rau qee qhov kev ua si. Qhov ntawd yog, kom ntseeg tau tias tsis tshua muaj latency, koj tuaj yeem tsim koj tus kheej raws tu qauv raws li UDP lossis siv lub tsev qiv ntawv uas siv cov txheej txheem thauj mus los ntawm UDP thiab tau yoog rau ntau tus neeg ua si video games.

Kev xaiv ntawm TCP, UDP, thiab lub tsev qiv ntawv nyob ntawm ntau yam. Ua ntej, los ntawm cov kev xav tau ntawm qhov kev ua si: nws puas xav tau qis latency? Qhov thib ob, los ntawm cov cai ntawm daim ntawv thov raws tu qauv: nws puas xav tau cov txheej txheem txhim khu kev qha? Raws li peb yuav pom nyob rau hauv ntu tom ntej, nws muaj peev xwm tsim tau ib daim ntawv thov raws tu qauv uas tus txheej txheem tsis ntseeg tau zoo heev. Thaum kawg, koj kuj yuav tsum xav txog qhov kev paub ntawm lub network engine tsim tawm.

Kuv muaj ob lub tswv yim:

  • Paub txog cov txheej txheem thauj mus los ntau li ntau tau los ntawm tus so ntawm daim ntawv thov kom nws tuaj yeem hloov tau yooj yim yam tsis tau sau tag nrho cov cai.
  • Tsis txhob over-optimize. Yog tias koj tsis yog tus kws tshaj lij network thiab tsis paub tseeb tias koj xav tau koj tus kheej UDP raws li kev thauj mus los, koj tuaj yeem pib nrog TCP lossis lub tsev qiv ntawv uas muaj kev ntseeg siab, thiab tom qab ntawd sim thiab ntsuas kev ua haujlwm. Yog tias koj muaj teeb meem thiab koj paub tseeb tias nws yog kev thauj mus los, ces nws yuav yog lub sijhawm los tsim koj tus kheej txoj cai thauj.

Thaum kawg ntawm ntu no, kuv xav kom koj nyeem Taw qhia rau Multiplayer Game Programming Brian Hook, uas suav nrog ntau lub ntsiab lus tau tham ntawm no.

Kev thov raws tu qauv

Tam sim no peb tuaj yeem pauv cov ntaub ntawv ntawm cov neeg siv khoom thiab cov neeg rau zaub mov, peb yuav tsum txiav txim siab seb cov ntaub ntawv hloov pauv thiab hom twg.

Lub tswv yim classic yog tias cov neeg siv khoom xa tawm tswv yim lossis kev ua rau lub server, thiab lub server xa cov kev ua si tam sim no rau cov neeg siv khoom.

Tus neeg rau zaub mov xa tsis tag nrho, tab sis lub xeev lim nrog cov chaw uas nyob ze ntawm tus neeg ua si. Nws ua li no rau peb yam. Ua ntej, tag nrho lub xeev tej zaum yuav loj dhau mus kis ntawm ib tug ntau zaus. Qhov thib ob, cov neeg siv khoom feem ntau nyiam cov ntaub ntawv pom thiab suab, vim tias feem ntau ntawm cov kev ua si logic yog simulated ntawm game server. Thib peb, hauv qee qhov kev ua si tus neeg ua si tsis tas yuav paub qee cov ntaub ntawv, xws li txoj haujlwm ntawm tus yeeb ncuab ntawm sab nraud ntawm daim ntawv qhia, vim tias nws tuaj yeem hnia cov pob ntawv thiab paub meej qhov twg yuav txav mus los tua nws.

Serialization

Thawj kauj ruam yog los hloov cov ntaub ntawv uas peb xav xa (cov tswv yim lossis lub xeev game) rau hauv ib hom ntawv haum rau kev sib kis. Cov txheej txheem no hu ua serialization.

Lub tswv yim tam sim ntawd los rau hauv siab los siv hom tib neeg nyeem tau, xws li JSON lossis XML. Tab sis qhov no yuav tsis muaj txiaj ntsig thiab yuav siv feem ntau ntawm cov channel tsis muaj dab tsi.

Hloov chaw, nws raug nquahu kom siv hom ntawv binary, uas yog ntau dua. Ntawd yog, cov pob ntawv yuav tsuas muaj ob peb bytes xwb. Ntawm no peb yuav tsum coj mus rau hauv tus account qhov teeb meem byte xaj, uas tej zaum yuav txawv ntawm txawv computers.

Txhawm rau txheeb xyuas cov ntaub ntawv, koj tuaj yeem siv lub tsev qiv ntawv, piv txwv li:

Tsuas yog xyuas kom lub tsev qiv ntawv tsim cov ntaub ntawv nqa tau yooj yim thiab saib xyuas qhov kawg.

Lwm txoj kev daws teeb meem yuav yog los siv koj tus kheej, nws tsis nyuaj, tshwj xeeb tshaj yog tias koj siv cov ntaub ntawv-centric mus rau hauv koj cov cai. Tsis tas li ntawd, nws yuav tso cai rau koj los ua kom zoo tshaj plaws uas tsis yog ib txwm ua tau thaum siv lub tsev qiv ntawv.

Glenn Fiedler tau sau ob tsab xov xwm ntawm serialization: Kev nyeem ntawv thiab sau pob ntawv ΠΈ Serialization Strategies.

Ntsuas Siv

Tus nqi ntawm cov ntaub ntawv pauv ntawm cov neeg siv khoom thiab cov neeg rau zaub mov raug txwv los ntawm bandwidth ntawm cov channel. Cov ntaub ntawv compression yuav tso cai rau koj hloov cov ntaub ntawv ntau dua hauv txhua qhov snapshot, nce tus nqi refresh, lossis tsuas yog txo cov kev xav tau bandwidth.

me ntsis packing

Thawj cov txheej txheem yog me ntsis packing. Nws muaj nyob rau hauv kev siv raws nraim tus naj npawb ntawm cov khoom uas tsim nyog los piav txog tus nqi xav tau. Piv txwv li, yog tias koj muaj ib qho enum uas tuaj yeem muaj 16 tus nqi sib txawv, ces tsis yog tag nrho byte (8 khoom), koj tuaj yeem siv 4 khoom xwb.

Glenn Fiedler piav qhia yuav ua li cas siv qhov no hauv ntu thib ob ntawm kab lus. Kev nyeem ntawv thiab sau pob ntawv.

Bit packing ua haujlwm zoo tshwj xeeb nrog kev txiav txim siab, uas yuav yog lub ntsiab lus ntawm ntu tom ntej.

Qauv

Qauv yog ib tug lossy compression txheej txheem uas siv tsuas yog ib tug subset ntawm tej yam tseem ceeb rau encode ib tug nqi. Txoj hauv kev yooj yim tshaj plaws los siv kev txiav txim siab yog los ntawm kev sib sau cov lej ntab.

Glenn Fiedler (dua!) qhia yuav ua li cas siv discretization hauv kev xyaum hauv nws tsab xov xwm Snapshot Compression.

Compression algorithms

Cov txheej txheem tom ntej yuav yog lossless compression algorithms.

Ntawm no, hauv kuv lub tswv yim, yog peb qhov nthuav algorithms uas koj yuav tsum paub:

  • Huffman coding nrog precomputed code, uas yog ceev heev thiab muaj peev xwm tsim tau zoo. Nws tau siv los nthuav cov pob ntawv hauv Quake3 network cav.
  • zlib yog lub hom phiaj dav dav compression algorithm uas yeej tsis nce tus nqi ntawm cov ntaub ntawv. Koj pom tau li cas no, nws tau siv ntau yam kev siv. Rau kev hloov kho cov xeev, nws yuav rov ua dua. Tab sis nws tuaj yeem ua tau yooj yim yog tias koj xav tau xa cov khoom muaj nqis, cov ntawv ntev lossis cov av rau cov neeg siv khoom los ntawm lub server.
  • Luam qhov ntev yog tej zaum qhov yooj yim compression algorithm, tab sis nws yog heev npaum rau tej yam ntaub ntawv, thiab yuav siv tau raws li ib tug pre-processing kauj ruam ua ntej zlib. Nws yog tshwj xeeb tshaj yog haum rau compressing struts uas muaj cov vuas los yog voxels nyob rau hauv uas muaj ntau yam nyob sib ze cov ntsiab lus rov.

delta compression

Cov txheej txheem compression kawg yog delta compression. Nws nyob hauv qhov tseeb tias tsuas yog qhov sib txawv ntawm lub xeev game tam sim no thiab lub xeev kawg tau txais los ntawm tus neeg siv khoom raug xa mus.

Nws yog thawj zaug siv hauv Quake3 network cav. Nov yog ob kab lus piav qhia yuav ua li cas siv nws:

Glenn Fiedler kuj siv nws nyob rau hauv qhov thib ob ntawm nws tsab xov xwm. Snapshot Compression.

Kev mus yuam kev

Tsis tas li ntawd, tej zaum koj yuav xav tau encrypt cov kis ntawm cov ntaub ntawv ntawm cov neeg siv khoom thiab cov neeg rau zaub mov. Muaj ntau qhov laj thawj rau qhov no:

  • Tsis pub twg paub/Tsis pub twg paub: Cov lus tsuas yog nyeem tau los ntawm tus neeg tau txais thiab tsis muaj lwm lub network sniffer yuav tuaj yeem nyeem tau.
  • authentication: tus neeg uas xav ua lub luag haujlwm ntawm tus neeg ua si yuav tsum paub nws tus yuam sij.
  • Kev tiv thaiv kev dag ntxias: nws yuav nyuaj dua rau cov neeg ua phem ua phem los tsim lawv tus kheej cov pob khoom khib nyiab, lawv yuav tau rov ua cov txheej txheem encryption thiab nrhiav tus yuam sij (uas hloov pauv ntawm txhua qhov kev sib txuas).

Kuv xav kom siv lub tsev qiv ntawv rau qhov no. Kuv xav kom siv libsodium, vim nws yog tshwj xeeb tshaj yog yooj yim thiab muaj zoo tutorials. Tshwj xeeb tshaj yog nthuav yog qhov kev qhia ntawm pauv qhov tseem ceeb, uas tso cai rau koj los tsim cov yuam sij tshiab ntawm txhua qhov kev sib txuas tshiab.

Application Protocol: Xaus

Qhov no xaus daim ntawv thov raws tu qauv. Kuv ntseeg tias compression yog xaiv tau kiag li thiab qhov kev txiav txim siab siv nws tsuas yog nyob ntawm qhov kev ua si thiab qhov xav tau bandwidth. Encryption, hauv kuv lub tswv yim, yog qhov yuav tsum tau ua, tab sis thawj tus qauv koj tuaj yeem ua yam tsis muaj nws.

Daim ntawv thov Logic

Tam sim no peb tuaj yeem hloov kho lub xeev hauv tus neeg siv khoom, tab sis peb yuav khiav mus rau qhov teeb meem latency. Tus neeg ua si, tom qab ua qhov kev tawm tswv yim, yuav tsum tau tos rau lub xeev kev ua si hloov tshiab los ntawm tus neeg rau zaub mov kom pom tias nws muaj dab tsi hauv ntiaj teb.

Ntxiv mus, ntawm ob lub xeev hloov tshiab, lub ntiaj teb no zoo li qub. Yog hais tias lub xeev hloov tshiab tus nqi qis, ces cov kev txav mus los yuav muaj zog heev.

Muaj ob peb txoj hauv kev los txo qhov cuam tshuam ntawm qhov teeb meem no, thiab kuv mam li npog lawv hauv ntu tom ntej.

Ncua Smoothing Techniques

Tag nrho cov txheej txheem tau piav qhia hauv ntu no tau tham txog kev nthuav dav hauv koob. Fast Paced Multiplayer Gabriel Gambetta. Kuv pom zoo kom nyeem cov kab lus no zoo heev. Nws kuj suav nrog kev sib tham sib demo kom pom tias cov txheej txheem no ua haujlwm li cas hauv kev xyaum.

Thawj txheej txheem yog siv cov tswv yim tawm ncaj qha yam tsis tau tos cov lus teb los ntawm lub server. Nws yog hu ua kev twv ua ntej ntawm tus neeg siv khoom. Txawm li cas los xij, thaum tus neeg siv tau txais kev hloov tshiab los ntawm tus neeg rau zaub mov, nws yuav tsum xyuas kom meej tias nws qhov kev kwv yees tau raug. Yog hais tias qhov no tsis yog, ces nws tsuas yog yuav tsum tau hloov nws lub xeev raws li qhov nws tau txais los ntawm lub server, vim hais tias lub server yog authoritarian. Cov txheej txheem no tau siv thawj zaug hauv Quake. Koj tuaj yeem nyeem ntxiv txog nws hauv kab lus. Quake Engine code tshuaj xyuas Fabien Sanglars [txhais lus ntawm Habre].

Cov txheej txheem thib ob yog siv los ua kom lub zog ntawm lwm qhov chaw ntawm ob lub xeev hloov tshiab. Muaj ob txoj hauv kev los daws qhov teeb meem no: interpolation thiab extrapolation. Nyob rau hauv cov ntaub ntawv ntawm interpolation, lub xeem ob lub xeev yog coj thiab kev hloov ntawm ib tug mus rau lwm yam yog qhia. Nws qhov tsis zoo yog tias nws ua rau me me ntawm qhov qeeb, vim tias tus neeg siv khoom ib txwm pom qhov tshwm sim yav dhau los. Extrapolation yog hais txog kev kwv yees qhov twg cov koom haum yuav tsum tam sim no raws li lub xeev kawg tau txais los ntawm tus neeg siv khoom. Nws qhov tsis zoo yog tias yog qhov chaw hloov pauv tag nrho cov kev taw qhia ntawm kev txav mus los, ces yuav muaj qhov yuam kev loj ntawm qhov kev kwv yees thiab txoj haujlwm tiag tiag.

Qhov kawg, cov txheej txheem tshaj plaws, tsuas yog siv tau hauv FPS, yog lag nyiaj. Thaum siv cov nyiaj them poob haujlwm, tus neeg rau zaub mov yuav siv sijhawm rau tus neeg siv khoom qeeb thaum nws tawm ntawm lub hom phiaj. Piv txwv li, yog tias ib tug neeg ua si ua lub taub hau ntawm lawv lub vijtsam, tab sis qhov tseeb lawv lub hom phiaj yog nyob rau hauv qhov chaw sib txawv vim qhov qeeb, ces nws yuav tsis ncaj ncees rau tus neeg uas ua ntawv muaj cai tua vim qhov qeeb. Yog li ntawd, tus neeg rau zaub mov rewinds lub sij hawm rov qab mus rau thaum tus neeg uas ua ntawv raug rho tawm haujlwm los simulate yam tus neeg uas ua ntawv pom ntawm lawv lub vijtsam thiab xyuas kom muaj kev sib tsoo ntawm lawv qhov kev txhaj tshuaj thiab lub hom phiaj.

Glenn Fiedler (raws li ib txwm!) tau sau ib tsab xov xwm hauv 2004 Network Physics (2004), nyob rau hauv uas nws nteg lub hauv paus rau synchronization ntawm physics simulations ntawm tus neeg rau zaub mov thiab cov neeg siv khoom. Nyob rau hauv 2014 nws tau sau ib tsab xov xwm tshiab networking physics, nyob rau hauv uas nws tau piav qhia txog lwm cov txheej txheem rau synchronizing physics simulations.

Kuj tseem muaj ob tsab xov xwm ntawm Valve's wiki, Tau qhov twg los Multiplayer Networking ΠΈ Latency Compensating Methods hauv Client/Server In-game Protocol Design and Optimization cuam ​​tshuam nrog kev ncua sij hawm.

Kev Tiv Thaiv Cheat

Muaj ob txoj hauv kev tiv thaiv kev dag ntxias.

Ua ntej, ua rau nws nyuaj rau cov neeg dag kom xa cov pob ntawv tsis zoo. Raws li tau hais los saum no, txoj hauv kev zoo los siv nws yog encryption.

Qhov thib ob, tus neeg rau zaub mov tso cai yuav tsum tau txais cov lus txib / tawm tswv yim / ua haujlwm nkaus xwb. Tus neeg siv yuav tsum tsis tuaj yeem hloov lub xeev ntawm lub server uas tsis yog los ntawm kev xa tawm tswv yim. Tom qab ntawd tus neeg rau zaub mov, txhua zaus nws tau txais cov tswv yim, yuav tsum kuaj xyuas nws kom siv tau ua ntej siv nws.

Application Logic: Xaus

Kuv pom zoo kom koj siv txoj hauv kev los simulate siab latency thiab qis refresh tus nqi kom koj tuaj yeem kuaj tus cwj pwm ntawm koj qhov kev ua si hauv cov xwm txheej tsis zoo, txawm tias thaum tus neeg siv khoom thiab cov neeg rau zaub mov khiav ntawm tib lub tshuab. Qhov no zoo heev simplifies qhov kev siv ntawm ncua smoothing cov tswv yim.

Lwm Cov Kev Pabcuam

Yog tias koj xav tshawb nrhiav lwm cov qauv hauv network, koj tuaj yeem nrhiav lawv ntawm no:

  • Glenn Fiedler's blog - Nws tsim nyog nyeem nws tag nrho cov blog, muaj ntau cov ntawv zoo hauv nws. nws yog tag nrho cov khoom ntawm network technologies raug sau.
  • Awesome Game Networking los ntawm M. Fatih MAR yog ib daim ntawv teev cov kab lus thiab cov yeeb yaj kiab ntawm video game networking engines.
  • Π’ wiki subreddit r/gamedev Kuj tseem muaj ntau qhov txuas tau zoo.

Tau qhov twg los: www.hab.com

Ntxiv ib saib