Дар бораи модели шабакавӣ дар бозиҳо барои шурӯъкунандагон

Дар бораи модели шабакавӣ дар бозиҳо барои шурӯъкунандагон
Дар ду ҳафтаи охир ман дар муҳаррики онлайн барои бозии худ кор кардам. Пеш аз ин, ман умуман дар бораи шабака дар бозиҳо чизе намедонистам, аз ин рӯ ман мақолаҳои зиёде хондам ва таҷрибаҳои зиёде кардам, то ҳама мафҳумҳоро бифаҳмам ва тавонистани муҳаррики шабакавии шахсии худро нависам.

Дар ин дастур, ман мехоҳам бо шумо мафҳумҳои мухталиферо, ки шумо бояд пеш аз навиштани муҳаррики бозии шахсии худро омӯзед, инчунин беҳтарин захираҳо ва мақолаҳоро барои омӯхтани онҳо мубодила кунам.

Умуман, ду намуди асосии меъмории шабака вуҷуд дорад: ҳамсол ба ҳамсол ва муштарӣ-сервер. Дар меъмории ҳамсол ба ҳамсол (p2p) маълумот байни ҳама гуна ҷуфтҳои бозигарони пайваст интиқол дода мешавад, дар ҳоле ки дар меъмории муштарӣ-сервер маълумот танҳо байни бозигарон ва сервер интиқол дода мешавад.

Гарчанде ки меъмории ҳамсол ба ҳамсол то ҳол дар баъзе бозиҳо истифода мешавад, мизоҷ-сервер стандарт аст: татбиқи он осонтар аст, паҳнои канали хурдтарро талаб мекунад ва муҳофизатро аз фиреб осонтар мекунад. Аз ин рӯ, дар ин дарс мо ба меъмории мизоҷ-сервер тамаркуз хоҳем кард.

Махсусан, мо бештар ба серверҳои авторитарӣ таваҷҷӯҳ дорем: дар чунин системаҳо сервер ҳамеша дуруст аст. Масалан, агар бозигар фикр кунад, ки дар координатҳо қарор дорад (10, 5) ва сервер ба ӯ гӯяд, ки ӯ дар (5, 3) қарор дорад, пас муштарӣ бояд мавқеи худро бо мавқеъи гузоришкардаи сервер иваз кунад, на муовини баръакс. Истифодаи серверҳои бонуфуз муайян кардани фиребгаронро осонтар мекунад.

Системаҳои бозии шабакавӣ се ҷузъи асосӣ доранд:

  • Протоколи интиқол: чӣ гуна маълумот байни муштариён ва сервер интиқол дода мешавад.
  • Протоколи барнома: он чизе, ки аз муштариён ба сервер ва аз сервер ба мизоҷон ва дар кадом формат интиқол дода мешавад.
  • Мантиқи барнома: чӣ гуна маълумоти интиқолшуда барои навсозии ҳолати муштариён ва сервер истифода мешавад.

Фаҳмидани нақши ҳар як қисм ва мушкилоти бо онҳо алоқаманд хеле муҳим аст.

Протоколи нақлиёт

Қадами аввал интихоби протокол барои интиқоли маълумот байни сервер ва мизоҷон мебошад. Барои ин ду протоколи интернет вуҷуд дорад: TCP и UDP. Аммо шумо метавонед протоколи нақлиётии худро дар асоси яке аз онҳо эҷод кунед ё китобхонаеро истифода баред, ки онҳоро истифода мебарад.

Муқоисаи TCP ва UDP

Ҳам TCP ва ҳам UDP ба он асос ёфтаанд IP. IP имкон медиҳад, ки баста аз манбаъ ба гиранда интиқол дода шавад, аммо кафолат намедиҳад, ки бастаи ирсолшуда дер ё зуд ба қабулкунанда мерасад, ҳадди аққал як маротиба ба он мерасад ва пайдарпайии бастаҳо ба таври дуруст меоянд. фармон. Ғайр аз он, баста метавонад танҳо миқдори маҳдуди маълумотро, ки аз рӯи арзиш дода шудааст, дар бар гирад MTU.

UDP танҳо як қабати тунук дар болои IP аст. Аз ин рӯ, он маҳдудиятҳои якхела дорад. Баръакси ин, TCP дорои хусусиятҳои зиёд аст. Он пайвасти боэътимод ва ботартиб байни ду гиреҳро бо тафтиши хато таъмин мекунад. Аз ин рӯ, TCP хеле қулай аст ва дар бисёр протоколҳои дигар истифода мешавад, масалан. HTTP, FTP и SMTP. Аммо ҳамаи ин хусусиятҳо бо нархе меоянд: таъхир.

Барои фаҳмидани он, ки чаро ин функсияҳо метавонанд боиси таъхир гардад, мо бояд фаҳмем, ки чӣ тавр TCP кор мекунад. Вақте ки гиреҳи ирсолкунанда бастаро ба гиреҳи қабулкунанда интиқол медиҳад, он интизор аст, ки тасдиқ (ACK) гирад. Агар пас аз вақти муайян он онро қабул накунад (азбаски баста ё тасдиқ гум шудааст ё бо ягон сабаб), пас он бастаро дубора мефиристад. Ғайр аз он, TCP кафолат медиҳад, ки бастаҳо бо тартиби дуруст қабул карда мешаванд, аз ин рӯ то қабули бастаи гумшуда, ҳамаи бастаҳои дигарро коркард кардан мумкин нест, ҳатто агар онҳо аз ҷониби хости қабулкунанда гирифта шуда бошанд.

Аммо тавре ки шумо эҳтимол тасаввур карда метавонед, таъхир дар бозиҳои мултипликатори хеле муҳим аст, махсусан дар жанрҳои пур аз амал ба монанди FPS. Ин аст, ки чаро бисёр бозиҳо UDP-ро бо протоколи худ истифода мебаранд.

Протоколи дар асоси UDP асосёфта метавонад аз TCP бо сабабҳои гуногун самараноктар бошад. Масалан, он метавонад баъзе бастаҳоро ҳамчун боэътимод ва дигаронро ҳамчун нобовар қайд кунад. Аз ин рӯ, парвое надорад, ки бастаи нобовар ба қабулкунанда мерасад. Ё он метавонад ҷараёни якчанд маълумотро коркард кунад, то бастаи гумшуда дар як ҷараён ҷараёнҳои боқимондаро суст накунад. Масалан, метавонад як ришта барои вуруди плеер ва риштаи дигар барои паёмҳои чат бошад. Агар паёми чат, ки таъҷилӣ нест, гум шавад, он вуруди таъҷилро суст намекунад. Ё протоколи хусусӣ метавонад эътимодро нисбат ба TCP ба таври дигар татбиқ кунад, то дар муҳити бозии видео самараноктар бошад.

Пас, агар TCP ин қадар заиф бошад, пас мо протоколи интиқолии худро дар асоси UDP эҷод мекунем?

Ин каме мураккабтар аст. Гарчанде ки TCP барои системаҳои шабакавии бозӣ қариб номунтазам аст, он метавонад барои бозии мушаххаси шумо хеле хуб кор кунад ва вақти арзишмандро сарфа кунад. Масалан, таъхир барои бозии навбатӣ ё бозие, ки танҳо дар шабакаҳои LAN бозӣ кардан мумкин аст, мушкиле набошад, ки дар он ҷо таъхир ва талафоти бастаҳо нисбат ба Интернет хеле пасттар аст.

Бисёре аз бозиҳои муваффақ, аз ҷумла World of Warcraft, Minecraft ва Terraria, TCP-ро истифода мебаранд. Аммо, аксари FPSҳо протоколҳои UDP-и худро истифода мебаранд, аз ин рӯ мо дар бораи онҳо дар зер бештар сӯҳбат хоҳем кард.

Агар шумо қарор диҳед, ки TCP-ро истифода баред, боварӣ ҳосил кунед, ки он ғайрифаъол аст Алгоритми Нагле, зеро он пакетҳоро пеш аз фиристодан буфер мекунад, ки ин маънои онро дорад, ки таъхирро зиёд мекунад.

Барои гирифтани маълумоти бештар дар бораи фарқиятҳои байни UDP ва TCP дар заминаи бозиҳои мултипликатори, шумо метавонед мақолаи Гленн Фидлерро хонед. UDP против. TCP.

Протоколи худ

Пас шумо мехоҳед протоколи нақлиётии худро эҷод кунед, аммо намедонед, ки аз куҷо сар кунед? Шумо хушбахт ҳастед, зеро Гленн Фидлер дар ин бора ду мақолаи аҷибе навиштааст. Дар онҳо шумо бисёр фикрҳои оқилона хоҳед ёфт.

Мақолаи аввал Шабака барои барномасозони бозӣ 2008, осонтар аз дуюм, Сохтани протоколи шабакаи бозӣ 2016. Ман тавсия медиҳам, ки шумо аз калонтар оғоз кунед.

Дар хотир доред, ки Гленн Фидлер ҷонибдори бузурги истифодаи протоколи фармоишӣ дар асоси UDP мебошад. Ва пас аз хондани мақолаҳои ӯ, шумо эҳтимол фикри ӯро қабул мекунед, ки TCP дар бозиҳои видеоӣ камбудиҳои ҷиддӣ дорад ва шумо мехоҳед протоколи худро амалӣ кунед.

Аммо агар шумо дар шабака нав бошед, ба худ як некӣ кунед ва аз TCP ё китобхона истифода баред. Барои бомуваффақият татбиқ кардани протоколи нақлиётии худ, шумо бояд пешакӣ бисёр чизҳоро омӯзед.

Китобхонаҳои шабакавӣ

Агар ба шумо чизи муассиртар аз TCP лозим бошад, аммо намехоҳед, ки дар иҷрои протоколи шахсии худ ва тафсилоти зиёдеро аз сар гузаронед, шумо метавонед китобхонаи шабакавиро истифода баред. Бисёре аз онҳо ҳастанд:

  • йожимбо Глен Фидлер
  • RakNet, ки дигар пуштибонӣ намешавад, балки як порчаи он SLikeNet Чунин ба назар мерасад, ки он ҳоло ҳам фаъол аст.
  • ENet китобхонаест, ки барои FPS мултипликатори сохта шудааст Cube
  • GameNetworkingSockets Клапан

Ман ҳамаи онҳоро санҷидаам, аммо ман ENet-ро афзалтар мешуморам, зеро истифодаи он осон ва боэътимод аст. Илова бар ин, он дорои ҳуҷҷатҳои равшан ва дастур барои шурӯъкунандагон мебошад.

Протоколи нақлиёт: Хулоса

Барои ҷамъбаст: ду протоколҳои асосии нақлиёт вуҷуд доранд: TCP ва UDP. TCP дорои бисёр хусусиятҳои муфид аст: эътимоднокӣ, нигоҳдории фармоиши бастаҳо, ошкор кардани хатогиҳо. UDP ҳамаи инро надорад, аммо TCP аз рӯи табиаташ таъхирро зиёд кардааст, ки барои баъзе бозиҳо қобили қабул нест. Яъне, барои таъмини таъхири паст, шумо метавонед протоколи шахсии худро дар асоси UDP эҷод кунед ё китобхонаеро истифода баред, ки протоколи интиқолиро дар UDP амалӣ мекунад ва барои бозиҳои видеоии бисёрплеер мутобиқ карда шудааст.

Интихоби TCP, UDP ва китобхона аз якчанд омил вобаста аст. Аввалан, аз эҳтиёҷоти бозӣ: оё он ба таъхири паст ниёз дорад? Дуюм, аз талаботи протоколи ариза: оё ба он протоколи боэътимод лозим аст? Тавре ки мо дар қисми оянда мебинем, метавон як протоколи барномаеро эҷод кард, ки барои он протоколи беэътимод комилан мувофиқ аст. Дар ниҳоят, шумо инчунин бояд таҷрибаи таҳиягари муҳаррики шабакаро ба назар гиред.

Ман ду маслиҳат дорам:

  • Протоколи интиқолро аз қисми боқимондаи барнома то ҳадди имкон реферат кунед, то он бе аз нав навиштани тамоми код ба осонӣ иваз карда шавад.
  • Аз ҳад зиёд оптимизатсия накунед. Агар шумо коршиноси шабакавӣ набошед ва мутмаин набошед, ки оё ба шумо протоколи интиқолии UDP-и фармоишӣ лозим аст, шумо метавонед аз TCP ё китобхонае оғоз кунед, ки эътимоднокии онро таъмин мекунад ва сипас иҷроишро санҷида чен кунед. Агар мушкилот ба миён ояд ва шумо боварӣ дошта бошед, ки сабаб протоколи нақлиёт аст, пас вақти он расидааст, ки протоколи нақлиётии шахсии худро созед.

Дар охири ин қисм ман тавсия медиҳам, ки хонед Муқаддима ба барномасозии Multiplayer Game аз ҷониби Брайан Ҳук, ки бисёре аз мавзӯъҳои дар ин ҷо баррасӣшударо фаро мегирад.

Протоколи ариза

Акнун, ки мо метавонем маълумотро байни мизоҷ ва сервер мубодила кунем, мо бояд тасмим гирем, ки кадом маълумотро дар кадом формат интиқол диҳем.

Нақшаи классикӣ аз он иборат аст, ки муштариён воридот ё амалҳоро ба сервер мефиристанд ва сервер ҳолати кунунии бозиро ба мизоҷон мефиристад.

Сервер ҳолати пурраро намефиристад, балки ҳолати филтршуда бо объектҳое, ки дар наздикии плеер ҷойгиранд. Вай бо се сабаб ин корро мекунад. Аввалан, ҳолати пурра метавонад хеле калон бошад, то дар басомади баланд интиқол дода шавад. Дуюм, муштариён асосан ба маълумоти визуалӣ ва аудиоӣ таваҷҷӯҳ доранд, зеро аксари мантиқи бозӣ дар сервери бозӣ тақлид карда мешавад. Сеюм, дар баъзе бозиҳо плеер набояд маълумоти муайянро бидонад, масалан, мавқеи душман дар тарафи дигари харита, вагарна ӯ метавонад пакетҳоро бӯй кунад ва дақиқ медонад, ки барои куштани ӯ ба куҷо ҳаракат кунад.

Сериализатсия

Қадами аввал ин табдил додани маълумотест, ки мо мехоҳем ирсол кунем (вазъияти вуруд ё бозӣ) ба формати барои интиқол мувофиқ. Ин раванд номида мешавад сериализатсия.

Фикрест, ки фавран ба хотир меояд, ин истифодаи формати барои одамон хондашаванда, ба монанди JSON ё XML мебошад. Аммо ин комилан бесамар хоҳад буд ва қисми зиёди каналро барбод медиҳад.

Тавсия дода мешавад, ки ба ҷои формати бинарӣ истифода шавад, ки хеле зичтар аст. Яъне, бастаҳо танҳо чанд байтро дар бар мегиранд. Дар ин чо як масъаларо ба назар гирифтан лозим аст тартиби байт, ки дар компютерҳои гуногун метавонанд фарқ кунанд.

Барои силсилаи маълумот шумо метавонед китобхонаро истифода баред, масалан:

Танҳо боварӣ ҳосил кунед, ки китобхона бойгониҳои сайёр эҷод мекунад ва дар бораи энданне ғамхорӣ мекунад.

Як ҳалли алтернативӣ ин амалӣ кардани он аст; он махсусан душвор нест, хусусан агар шумо ба рамзи худ равиши ба додаҳо нигаронидашударо истифода баред. Илова бар ин, он ба шумо имкон медиҳад, ки оптимизатсияҳоро иҷро кунед, ки ҳангоми истифодаи китобхона на ҳамеша имконпазиранд.

Гленн Фидлер дар бораи сериализатсия ду мақола навиштааст: Хондан ва навиштани пакетҳо и Стратегияҳои сериализатсия.

Фишурдасозии

Миқдори маълумоте, ки байни муштариён ва сервер интиқол дода мешавад, бо фарохмаҷрои канал маҳдуд аст. Фишурдани маълумот ба шумо имкон медиҳад, ки маълумоти бештарро дар ҳар як акс интиқол диҳед, басомади навсозиро зиёд кунед ё танҳо талаботи каналро кам кунед.

Бастабандии бит

Техникаи аввал бастабандии каме мебошад. Он аз истифодаи дақиқи миқдори битҳо иборат аст, ки барои тавсифи арзиши дилхоҳ заруранд. Масалан, агар шумо рақаме дошта бошед, ки метавонад 16 арзишҳои гуногун дошта бошад, пас ба ҷои як байт (8 бит), шумо метавонед танҳо 4 бит истифода баред.

Гленн Фидлер дар қисми дуюми мақола чӣ гуна татбиқ кардани онро мефаҳмонад Хондан ва навиштани пакетҳо.

Бастабандии бит махсусан бо намунагирӣ хуб кор мекунад, ки мавзӯи боби оянда хоҳад буд.

Гирифтани намуна

Гирифтани намуна як усули фишурдани гумшуда мебошад, ки танҳо як зермаҷмӯи арзишҳои имконпазирро барои рамзгузории арзиш истифода мебарад. Роҳи осонтарини татбиқи дискретизатсия ин яклухткунии рақамҳои нуқтаи шинокунанда мебошад.

Гленн Фидлер (боз!) дар мақолаи худ нишон медиҳад, ки чӣ гуна интихобро дар амал татбиқ кардан мумкин аст Фишурдани акс.

Алгоритмҳои фишурдасозӣ

Техникаи навбатӣ алгоритмҳои фишурдани бе талафот хоҳад буд.

Дар ин ҷо, ба андешаи ман, се алгоритми ҷолибтарин, ки шумо бояд бидонед:

  • Рамзгузории Ҳуффман бо рамзи пешакӣ ҳисобшуда, ки хеле зуд аст ва метавонад натиҷаҳои хуб диҳад. Он барои фишурдани бастаҳо дар муҳаррики шабакавии Quake3 истифода мешуд.
  • zlib як алгоритми фишурдасозии таъиноти умумӣ аст, ки ҳеҷ гоҳ миқдори маълумотро зиёд намекунад. Чӣ тавр дидан мумкин аст дар ин ҷо, он дар барномаҳои гуногун истифода шудааст. Он метавонад барои навсозии штатҳо зиёдатӣ бошад. Аммо он метавонад муфид бошад, агар ба шумо лозим ояд, ки дороиҳо, матнҳои дароз ё заминро ба мизоҷон аз сервер фиристед.
  • Нусхабардории дарозии давомнок - Эҳтимол, ин соддатарин алгоритми фишурдасозист, аммо он барои намудҳои муайяни додаҳо хеле муассир аст ва метавонад ҳамчун қадами пеш аз коркарди пеш аз zlib истифода шавад. Он махсусан барои фишурдани релефи аз сафолҳо ё вокселҳо иборат аст, ки дар он унсурҳои зиёди ҳамшафат такрор мешаванд, мувофиқ аст.

Фишурдани дельта

Техникаи охирини фишурдасозӣ фишурдани дельта мебошад. Он аз он иборат аст, ки танҳо фарқиятҳои байни ҳолати кунунии бозӣ ва ҳолати охирини аз ҷониби муштарӣ гирифташуда интиқол дода мешаванд.

Он бори аввал дар муҳаррики шабакаи Quake3 истифода шудааст. Дар ин ҷо ду мақолае ҳастанд, ки чӣ тавр истифода бурдани онро мефаҳмонанд:

Гленн Фидлер низ онро дар кисми дуюми маколаи худ истифода кардааст Фишурдани акс.

Рамзгузорӣ

Илова бар ин, ба шумо лозим меояд, ки интиқоли маълумотро байни муштариён ва сервер рамзгузорӣ кунед. Барои ин якчанд сабаб вуҷуд дорад:

  • махфият/махфият: паёмҳоро танҳо қабулкунанда хонда метавонад ва ҳеҷ каси дигаре, ки шабакаро бӯй мекунад, онҳоро хонда наметавонад.
  • аутентификатсия: шахсе, ки мехоҳад нақши бозигарро бозӣ кунад, бояд калиди худро донад.
  • Пешгирии фиреб: Барои бозигарони шубҳанок эҷод кардани бастаҳои фиребгарии худ хеле мушкилтар хоҳад буд, онҳо бояд нақшаи рамзгузориро дубора тавлид кунанд ва калидро пайдо кунанд (ки бо ҳар як пайвастшавӣ тағир меёбад).

Ман тавсия медиҳам, ки китобхонаро барои ин истифода баред. Ман тавсия медиҳам, ки истифода баранд либсодиум, зеро он махсусан содда аст ва дорои дастурҳои аъло. Махсусан ҷолиб аст, ки дарс мубодилаи калид, ки ба шумо имкон медиҳад, ки бо ҳар як пайвасти нав калидҳои нав тавлид кунед.

Протоколи дархост: Хулоса

Ин протоколи дархости моро ба анҷом мерасонад. Ман боварӣ дорам, ки фишурдасозӣ комилан ихтиёрӣ аст ва қарори истифодаи он танҳо аз бозӣ ва фарохмаҷрои лозим вобаста аст. Ба андешаи ман, рамзгузорӣ ҳатмист, аммо дар прототипи аввал шумо метавонед бе он кор кунед.

Мантиқи барнома

Ҳоло мо метавонем ҳолати муштариро навсозӣ кунем, аммо метавонад ба мушкилоти таъхир дучор шавад. Плеер пас аз ба итмом расонидани вуруд, бояд интизор шавад, ки ҳолати бозӣ аз сервер навсозӣ шавад, то бубинад, ки он ба ҷаҳон чӣ таъсир мерасонад.

Гузашта аз ин, дар байни ду навсозии давлатӣ, ҷаҳон комилан статикӣ аст. Агар суръати навсозии давлатӣ паст бошад, пас ҳаракатҳо хеле ҷаззоб мешаванд.

Якчанд усулҳои коҳиш додани таъсири ин мушкилот вуҷуд доранд ва ман онҳоро дар боби оянда баррасӣ мекунам.

Усулҳои ҳамворкунии латентӣ

Ҳамаи усулҳои дар ин бахш тавсифшуда дар силсила ба таври муфассал баррасӣ карда мешаванд Мултипликатори босуръат Габриэл Гамбетта. Ман тавсия медиҳам, ки ин силсилаи аълои мақолаҳоро хонед. Он инчунин намоиши интерактивиро дар бар мегирад, ки ба шумо имкон медиҳад бубинед, ки ин усулҳо дар амал чӣ гуна кор мекунанд.

Усули аввал ин аст, ки натиҷаи воридшударо мустақиман бидуни мунтазири посух аз сервер татбиқ кунед. Он ном дорад пешгӯии муштарӣ. Аммо, вақте ки муштарӣ аз сервер навсозӣ мегирад, он бояд дуруст будани пешгӯии онро тафтиш кунад. Агар ин тавр набошад, пас ӯ танҳо бояд ҳолати худро мувофиқи он чизе ки аз сервер гирифтааст, тағир диҳад, зеро сервер авторитарист. Ин техника бори аввал дар Quake истифода шудааст. Шумо метавонед бештар дар бораи он дар мақола бихонед Баррасии рамзи Quake Engine Фабиен Сангларс [тарҷума дар Хабре].

Маҷмӯи дуюми усулҳо барои ҳамвор кардани ҳаракати дигар объектҳо байни ду навсозии давлатӣ истифода мешавад. Ду роҳи ҳалли ин масъала вуҷуд дорад: интерполяция ва экстраполяция. Дар мавриди интерполясия ду ҳолати охир гирифта шуда, гузариш аз як ба ҳолати дигар нишон дода мешавад. Камбудии он дар он аст, ки он боиси таъхири каме мегардад, зеро муштарӣ ҳамеша воқеаҳои дар гузашта рухдодаро мебинад. Экстраполяция дар бораи пешгӯии он аст, ки дар куҷо субъектҳо бояд ҳоло ба ҳолати охирини қабулкардаи муштарӣ асос ёбанд. Камбудии он дар он аст, ки агар субъект самти ҳаракатро комилан тағир диҳад, пас дар байни пешгӯӣ ва мавқеи воқеӣ хатогии калон вуҷуд дорад.

Техникаи навтарин ва пешрафтатарин танҳо дар FPS муфид аст ҷуброни таъхир. Ҳангоми истифодаи ҷуброни таъхир, сервер таъхирҳои муштариро ҳангоми тирандозӣ ба ҳадаф ба назар мегирад. Масалан, агар бозигар дар экрани худ зарбаи сариро иҷро кунад, аммо дар асл ҳадафи онҳо бо сабаби таъхир дар ҷои дигар буд, пас аз сабаби таъхир ба бозигар аз ҳуқуқи куштан маҳрум кардан аз рӯи адолат мебуд. Аз ин рӯ, сервер вақтро ба лаҳзаи тирпарронии плеер бармегардонад, то он чизеро, ки плеер дар экрани худ дид, тақлид кунад ва бархӯрди байни тир ва ҳадафро тафтиш кунад.

Гленн Фидлер (чун ҳамеша!) дар соли 2004 мақола навишт Физикаи шабака (2004), ки дар он ӯ барои ҳамоҳангсозии симулятсияҳои физика байни сервер ва муштарӣ асос гузошт. Соли 2014 як силсила мақолаҳои нав навишт Физикаи шабакавӣ, ки техникаи дигари синхронизатсияи моделиронии физикаро тавсиф кардааст.

Дар викии Valve инчунин ду мақола мавҷуд аст, Шабакаи мултипликатори манбаъ и Усулҳои ҷуброни таъхир дар тарҳрезӣ ва оптимизатсияи протоколи дохилии бозӣ муштарӣ/сервер ки товони таъхирро дида мебароянд.

Пешгирии фиреб

Ду усули асосии пешгирии фиреб вуҷуд дорад.

Якум: барои фиребгарон фиристодани бастаҳои зарароварро мушкилтар мекунад. Тавре ки дар боло зикр гардид, роҳи хуби татбиқи ин рамзгузорӣ мебошад.

Дуюм: сервери авторитарӣ бояд танҳо фармонҳо/ворид/амалҳоро қабул кунад. Муштарӣ набояд ҳолати серверро ба ғайр аз фиристодани вуруд тағйир диҳад. Сипас, ҳар дафъае, ки сервер воридотро қабул мекунад, пеш аз истифодаи он бояд дуруст будани онро тафтиш кунад.

Мантиқи татбиқ: хулоса

Ман тавсия медиҳам, ки шумо як роҳи тақлид кардани таъхирҳои баланд ва суръати пасти навсозиро амалӣ кунед, то шумо рафтори бозии худро дар шароити бад санҷед, ҳатто вақте ки муштарӣ ва сервер дар як компютер кор мекунанд. Ин ба амал баровардани техникаи хамворкунии таъхирро хеле осон мекунад.

Дигар захираҳои муфид

Агар шумо хоҳед, ки захираҳои дигарро дар моделҳои шабакавӣ омӯзед, шумо метавонед онҳоро дар ин ҷо пайдо кунед:

  • Блоги Гленн Фидлер - тамоми блоги ӯ қобили хондан аст, дар онҷо мақолаҳои зиёде мавҷуданд. Ин аст, Ҳама мақолаҳо дар бораи технологияҳои шабакавӣ ҷамъ оварда шудаанд.
  • Шабакаи бозӣ аҷиб аз ҷониби M. Fatih MAR рӯйхати ҳамаҷонибаи мақолаҳо ва видеоҳо дар бораи муҳаррикҳои онлайни бозиҳои видеоӣ мебошад.
  • В вики аз subreddit r/gamedev Инчунин бисёр истинодҳои муфид мавҷуданд.

Манбаъ: will.com

Илова Эзоҳ