Sida aan u wanaajinay makaanikada xisaabinta ballistic-ga ee toogashada mobaylka leh algorithm magdhaw daahida shabakad

Sida aan u wanaajinay makaanikada xisaabinta ballistic-ga ee toogashada mobaylka leh algorithm magdhaw daahida shabakad

Hi, waxaan ahay Nikita Brizhak, soo-saare adeege ka socda Pixonic. Maanta waxaan jeclaan lahaa inaan ka hadlo magdhowga dib u dhaca ku yimid mobilada badan.

Maqaalo badan ayaa laga qoray magdhowga server-ka, oo ay ku jiraan Ruushka. Tani maaha wax la yaab leh, maadaama tignoolajiyadan si firfircoon loogu isticmaalay abuurista FPS ciyaartoy badan tan iyo dabayaaqadii 90-meeyadii. Tusaale ahaan, waxaad xasuusan kartaa qaabka QuakeWorld, kaas oo ahaa mid ka mid ah kuwii ugu horreeyay ee isticmaala.

Waxa kale oo aanu u isticmaalnaa toogteyaasha badan ee mobilada ee Dino Squad.

Maqaalkan, yoolkeygu maaha inaan ku celiyo wixii horey loo qoray kun jeer, laakiin inaan sheego sida aan u hirgelinay magdhowga daahitaanka ee ciyaartayada, iyadoo la tixgelinayo xirmooyinka tignoolajiyada iyo astaamaha ciyaarta aasaasiga ah.

Dhawr kelmadood oo ku saabsan kortex-keena iyo tignoolajiyada.

Dino Squad waa toogte PvP mobilada ah. Ciyaartoyda ayaa gacanta ku haya dinosaurs oo ku qalabaysan hub kala duwan waxayna ku dagaalamaan kooxo 6v6 ah.

Labada macmiil iyo server-kuba waxay ku salaysan yihiin Midnimo. Nashqadani waa mid heer sare ah oo loogu talagalay toogayaasha: adeeguhu waa awood, saadaasha macmiilkuna waxay ku shaqaysaa macaamiisha. Jilitaanka ciyaarta waxaa lagu qoray iyadoo la isticmaalayo ECS-guriga waxaana loo adeegsadaa serverka iyo macmiilka labadaba.

Haddii tani ay tahay markii ugu horeysay ee aad maqasho wax ku saabsan magdhowga daahay, halkan waxaa ah dalxiis kooban oo ku saabsan arrinta.

Ciyaartoyda badan ee FPS, ciyaarta inta badan waxaa lagu sawiraa server fog. Ciyaartoyda waxay u soo diraan fikradooda (macluumaadka ku saabsan furayaasha la riixay) server-ka, ka dibna server-ku wuxuu u soo diraa xaalad cayaareed oo la cusbooneysiiyay iyada oo la tixgelinayo xogta la helay. Nidaamkan is dhexgalka, daahitaanka u dhexeeya riixitaanka furaha hore iyo wakhtiga uu jilaaga ciyaartoygu ku dhaqaaqo shaashadda ayaa had iyo jeer ka weynaan doona ping-ka.

Iyadoo shabakadaha maxalliga ah dib u dhigitaan (oo loo yaqaanno lag-gelinta) ayaa laga yaabaa inay noqoto mid aan la ogaan karin, marka lagu ciyaarayo internetka waxay abuurtaa dareen ah "ku simbiriirixan baraf" marka la xakameynayo dabeecadda. Dhibaatadani waxay labanlaab ku tahay shabakadaha moobaylka, halkaas oo kiiska marka ping-ka ciyaaryahanku yahay 200 ms weli loo tixgeliyo xiriir aad u fiican. Inta badan ping-ku wuxuu noqon karaa 350, 500, ama 1000 ms. Markaa waxa ay noqonaysaa ku dhawaad ​​wax aan macquul ahayn in lagu ciyaaro toogasho degdeg ah oo leh dib u dhac ku yimaada.

Xalka dhibaatadan waa saadaasha jilitaanka-dhinaca macmiilka. Halkan macmiilku laftiisu waxa uu ku dabaqayaa gelinta jilaha ciyaartoyga, isaga oo aan jawaab ka sugin server-ka. Oo markii jawaabta la helo, waxay si fudud u barbardhigeysaa natiijooyinka waxayna cusbooneysiisaa boosaska ka soo horjeeda. Daahitaanka u dhexeeya riixitaanka furaha iyo muujinta natiijada shaashadda kiiskan waa mid aad u yar.

Waa muhiim in la fahmo nuance halkan: macmiilku had iyo jeer isu soo jiido iyada oo loo eegayo talooyinka ugu dambeeya, iyo cadawga - oo leh dib-u-dhac shabakadeed, marka loo eego xaaladdii hore ee xogta laga helay server-ka. Taasi waa, marka uu toogto cadawga, ciyaaryahanku wuxuu arkaa isaga markii hore isaga oo qaraabo ah naftiisa. Wax badan oo ku saabsan saadaasha macmiilka hore ayaan u qornay.

Sidaa darteed, saadaasha macmiilku waxay xallisaa hal dhibaato, laakiin waxay abuurtaa mid kale: haddii ciyaaryahan uu toogto barta cadawgu waagii hore, server-ka marka la toogtay isla goobta, cadawgu ma sii jiri doono meeshaas. Magdhawga server-ka ee dib u dhaca ayaa isku dayaya inuu xalliyo dhibaatadan. Marka hubka la rido, server-ku wuxuu dib u soo celinayaa xaaladdii ciyaarta ee uu ciyaartoygu ku arkay gudaha wakhtiga la toogtay, wuxuuna hubinayaa inuu dhab ahaantii ku dhici karo cadowga. Haddii ay jawaabtu tahay "haa," garaaca waa la tiriyaa, xitaa haddii cadowgu uusan hadda ku jirin serverka goobtaas.

Annaga oo ku hubaysan aqoontan, waxaan bilownay in aan ka hirgelino Dino Squad magdhow daahitaanka server-ka. Ugu horreyntii, waa inaan fahamnaa sida loo soo celiyo server-ka waxa macmiilku arkay? Maxaase loo baahan yahay in dib loo soo celiyo? Ciyaartayada, wax ku dhufashada hubka iyo kartida waxaa lagu xisaabiyaa raycasts iyo dulsaar - taas oo ah, iyada oo la falgalayo isku dhacyada jirka ee cadowga. Marka la eego, waxaan u baahannahay inaan dib u soo saarno booska isku dhacaas, kaas oo ciyaaryahanku "ku arkay" gudaha, server-ka. Waqtigaas waxaan isticmaalnay Unity version 2018.x. Fiisigiska API waxaa jira mid taagan, dunidu waxay ku jirtaa hal nuqul. Ma jirto si loo badbaadiyo xaaladdeeda ka dibna dib looga soo celiyo sanduuqa. Haddaba maxaa la sameeyaa?

Xalku wuxuu ahaa dusha sare; dhammaan walxihiisa horeba annaga ayaa u adeegsanay xallinta dhibaatooyinka kale:

  1. Macmiil kasta, waxaan u baahanahay inaan ogaano waqtiga uu arkay kuwa ka soo horjeeda markii uu riixay furayaasha. Waxaan horey ugu qornay macluumaadkaan xirmada gelinta waxaana u isticmaalnay si aan u hagaajino saadaasha macmiilka.
  2. Waxaan u baahanahay inaan awoodno inaan kaydinno taariikhda gobollada ciyaarta. Halkaas ayaynu ku hayn doonaa jagooyinka kuwa naga soo horjeeda (iyo sidaas darteed kuwa isku dhaca). Waxaan horey u haysanay taariikh dawladeed server-ka, waxaan u isticmaalnay inaan dhisno deltas. Ogaanshaha waqtiga saxda ah, waxaan si fudud u heli karnaa gobolka saxda ah ee taariikhda.
  3. Hadda oo aan gacanta ku hayno xaaladda ciyaarta ee taariikhda, waxaan u baahanahay inaan awoodno inaan isku dhejino xogta ciyaartoyga iyo xaaladda adduunka jireed. Iskudhacyada jira - dhaqaaqa, kuwa maqan - abuur, kuwa aan loo baahnayn - burburin. Caqligan ayaa sidoo kale horay loo qoray oo ka kooban dhowr habab ECS. Waxaanu u isticmaalnay inaanu ku hayno dhawr qol oo ciyaarta hal nidaam oo Midnimo ah. Oo maadaama dunidu ay tahay mid ka mid ah geeddi-socod kasta, waxay ahayd in dib loo isticmaalo inta u dhaxaysa qolalka. Kahor calaamad kasta oo jilitaanka ah, waxaan "dib u dejineynaa" xaaladda adduunka jireed waxaanan ku soo celinay xogta qolka hadda, isku dayaysa in aan dib u isticmaalno walxaha ciyaarta Midnimo sida ugu badan ee suurtogalka ah iyada oo loo marayo nidaam isku dhafan oo xariif ah. Waxa hadhay oo dhami waxay ahayd in loo yeedho caqli-gal la mid ah xaaladda ciyaarta ee la soo dhaafay.

Marka la isku daro dhammaan walxahan, waxaan helnay "mashiin waqti" kaas oo dib u soo celin kara xaaladda adduunka jireed waqtiga saxda ah. Koodhku wuxuu noqday mid fudud:

public class TimeMachine : ITimeMachine
{
     //Π˜ΡΡ‚ΠΎΡ€ΠΈΡ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… состояний
     private readonly IGameStateHistory _history;

     //Π’Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ΅ состояниС Π½Π° сСрвСрС
     private readonly ExecutableSystem[] _systems;

     //Набор систСм, Ρ€Π°ΡΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΊΠΎΠ»Π»Π°ΠΉΠ΄Π΅Ρ€Ρ‹ Π² физичСском ΠΌΠΈΡ€Π΅ 
     //ΠΏΠΎ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈΠ· ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ состояния
     private readonly GameState _presentState;

     public TimeMachine(IGameStateHistory history, GameState presentState, ExecutableSystem[] timeInitSystems)
     {
         _history = history; 
         _presentState = presentState;
         _systems = timeInitSystems;  
     }

     public GameState TravelToTime(int tick)
     {
         var pastState = tick == _presentState.Time ? _presentState : _history.Get(tick);
         foreach (var system in _systems)
         {
             system.Execute(pastState);
         }
         return pastState;
     }
}

Waxa hadhay oo dhan waxay ahayd in la ogaado sida loo isticmaalo mishiinkan si fudud loogu magdhabo tallaalada iyo kartida.

Xaaladda ugu fudud, marka makaanikada ay ku saleysan yihiin hal hitscan, wax walbaa waxay u muuqdaan inay cad yihiin: ka hor inta uusan ciyaaryahanku toogan, wuxuu u baahan yahay inuu dib ugu soo celiyo adduunka jireed ee gobolka la rabo, samee raycast, tiriso garaacista ama seegto, iyo adduunka ku soo celi xaaladdii hore.

Laakiin waxaa jira makaanikada noocaan ah oo aad ugu yar Dino Squad! Inta badan hubka ciyaarta ku jira waxay abuuraan madfac - xabbado cimri dheer oo u duulaya dhowr shilin oo jilid ah (xaaladaha qaarkood, daraasiin shillin ah). Maxaa lagu sameeyaa iyaga, wakhtigee ayay tahay inay duulaan?

Π’ article qadiimiga Ku saabsan xirmooyinka shabakadda Half-Life, nimanka Valve waxay weydiiyeen isla su'aal isku mid ah, jawaabtooduna waxay ahayd tan: magdhowga magdhowga ah waa dhibaato, waxaana fiican in laga fogaado.

Ma aanan haysanin doorashadan: Hubka ku saleysan madfaca ayaa ahaa astaanta ugu muhiimsan ee naqshadeynta ciyaarta. Markaa waxay ahayd inaan wax la nimaadno. Wax yar ka dib, waxaan samaynay laba doorasho oo u muuqday inay shaqaynayeen:

1. Waxaan ku xidhnaa madfaca wakhtiga ciyaartoyga abuuray. Calaamad kasta oo ka mid ah jilitaanka server-ka, xabbad kasta oo ciyaaryahan kasta ah, waxaanu dib ugu soo celinaa adduunka jir ahaaneed ee gobolka macmiilka waxaanan samaynaa xisaabinta lagama maarmaanka ah. Habkani wuxuu suurtogal ka dhigay in culays la qaybiyo server-ka iyo wakhtiga duulimaadka ee la saadaalin karo. Saadalintu waxay si gaar ah muhiim noogu ahayd, maadaama aan haysano dhammaan madxafyada, oo ay ku jiraan madfaca cadawga, ee lagu saadaaliyay macmiilka.

Sida aan u wanaajinay makaanikada xisaabinta ballistic-ga ee toogashada mobaylka leh algorithm magdhaw daahida shabakad
Sawirka, cayaartoyga saxda ah ee 30 wuxuu ridayaa gantaal isagoo filaya: wuxuu arkayaa jihada cadawgu u ordayo wuxuuna yaqaanaa qiyaasta qiyaasta gantaalka. Deegaanka waxa uu u arkaa in uu ku dhuftay bartilmaameedkii 33aad. Waad ku mahadsan tahay magdhowga, waxay sidoo kale ka muuqan doontaa server-ka

2. Waxaan samaynaa wax kasta oo la mid ah sidii ikhtiyaarka koowaad, laakiin, markii aan tirinay hal saxan oo ka mid ah jilitaanka rasaasta, ma joojineyno, laakiin waxaan sii wadeynaa inaan ku ekaano duulimaadkeeda isla saxarka server-ka, mar kasta oo uu waqtigeeda ku soo dhawaado server-ka. mid mid sax oo cusboonaysiinta boosaska isku dhaca. Waxaan samaynaa tan ilaa laba shay midkood uu dhaco:

  • Xabadu way dhacday Tani waxay ka dhigan tahay in xisaabintu ay dhammaatay, waxaan xisaabin karnaa seegay ama garaac. Tanina waa isla meeshii xabbaddu ku dhacday! Annaga tani waxay noo ahayd faa'iido iyo ka jaro labadaba. Dheeraad ah - sababtoo ah ciyaartoyga toogashada tani waxay si weyn hoos ugu dhigtay dib u dhaca u dhexeeya garaacista iyo hoos u dhaca caafimaadka cadowga. Hoos-u-dhacu waa in saameyn isku mid ah la arkay markii ay ka soo horjeedaan ciyaartoyga: cadawga, waxay u ekaan lahayd, oo kaliya inay rideen gantaal gaabis ah, waxyeelada ayaa horay loo tiriyey.
  • Xabaddu waxay gaadhay wakhtiga server-ka Xaaladdan oo kale, jiliddeedu waxay ku sii socon doontaa saxarka soo socda ee server-ka iyada oo aan wax magdhow ah la helin. Mashruucyada qunyar socodka ah, tani waxay aragti ahaan hoos u dhigi kartaa tirada dib-u-celinta fiisigiska marka la barbar dhigo doorashada koowaad. Isla mar ahaantaana, culeyska aan sinnayn ee jilitaanka ayaa kordhay: seerfarku ama waa shaqo-la'aan, ama hal saxan server waxa ay xisaabinaysay darsin shilin oo jilid ah oo dhowr xabbadood ah.

Sida aan u wanaajinay makaanikada xisaabinta ballistic-ga ee toogashada mobaylka leh algorithm magdhaw daahida shabakad
Isla xaalad la mid ah sida sawirka hore, laakiin loo xisaabiyo si waafaqsan nidaamka labaad. Gantaalka ayaa "la qabsaday" wakhtiga serferka isla saxantii uu toogashada dhacay, garaacana waxa loo tirin karaa goor hore marka xigta. Markay saxdo 31aad, kiiskan, magdhow daah lama dabaqo

Hirgelinteenna, labadan hab waxay ku kala duwanaayeen dhawr sadar oo kood ah, markaa labadaba waanu abuurnay, muddo dheerna way is barbar socdeen. Iyadoo ay ku xiran tahay makaanikada hubka iyo xawaaraha rasaasta, waxaan dooranay hal ama doorasho kale oo ah dinosaur kasta. Meesha u rogtay halkan waxay ahayd muuqaalka ciyaarta makaanikada sida "haddii aad ku dhufato cadowga marar badan oo sidaas oo kale ah, hel gunno caynkaas ah iyo sida." Makaanik kasta oo wakhtiga uu ciyaartoygu ku dhuftay cadowga door muhiim ah ayaa diiday inuu la shaqeeyo habka labaad. Sidaa daraadeed waxaan ku dhameynay inaan raacno ikhtiyaarka ugu horreeya, oo hadda waxay khuseysaa dhammaan hubka iyo dhammaan awoodaha firfircoon ee ciyaarta.

Si gooni ah, waxaa habboon in kor loo qaado arrinta waxqabadka. Haddii aad u malaynaysay in waxaas oo dhami ay arrimaha hoos u dhigi doonaan, waxaan ku jawaabay: waa. Midnimadu aad bay u gaabis tahay dhaqaajinta isku dhaca iyo shidista iyo daminta. Dino Squad, kiiska "ugu xun", waxaa jiri kara dhowr boqol oo madfac ah oo isku mar ku jira dagaalka. Dhaqdhaqaaqa isku dhaca si loo tiriyo mashruuc kasta si gaar ah waa raaxo aan la awoodi karin. Sidaa darteed, aad bay lagama maarmaan u ahayd inaan yareyno tirada fiisigiska "dib-u-celinta". Si tan loo sameeyo, waxaanu ku abuurnay qayb gaar ah ECS kaas oo aanu ku duubno wakhtiga ciyaartoyga. Waxaan ku darnay dhammaan hay'adaha u baahan magdhow daahsan (mashruucyo, karti, iwm.). Ka hor inta aynaan bilaabin habaynta hay'adahan, waanu isku ururinayna iyaga oo si wada jir ah u habaynaynaa, annagoo dunidii jireed dib ugu celinayna koox kasta hal mar.

Marxaladan waxaan leenahay guud ahaan hannaan shaqo. Koodhkeeda qaab xoogaa la fududeeyay:

public sealed class LagCompensationSystemGroup : ExecutableSystem
{
     //Машина Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ
     private readonly ITimeMachine _timeMachine;

     //Набор систСм лагкомпСнсации
     private readonly LagCompensationSystem[] _systems;
     
     //Наша рСализация кластСризатора
     private readonly TimeTravelMap _travelMap = new TimeTravelMap();

    public LagCompensationSystemGroup(ITimeMachine timeMachine, 
        LagCompensationSystem[] lagCompensationSystems)
     {
         _timeMachine = timeMachine;
         _systems = lagCompensationSystems;
     }

     public override void Execute(GameState gs)
     {
         //На Π²Ρ…ΠΎΠ΄ кластСризатор ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ΅ состояниС,
         //Π° Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄ Π²Ρ‹Π΄Π°Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ Β«ΠΊΠΎΡ€Π·ΠΈΠ½Β». Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΡ€Π·ΠΈΠ½Π΅ Π»Π΅ΠΆΠ°Ρ‚ энтити,
         //ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ для лагкомпСнсации Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ врСмя ΠΈΠ· истории.
         var buckets = _travelMap.RefillBuckets(gs);

         for (int bucketIndex = 0; bucketIndex < buckets.Count; bucketIndex++)
         {
             ProcessBucket(gs, buckets[bucketIndex]);
         }

         //Π’ ΠΊΠΎΠ½Ρ†Π΅ лагкомпСнсации ΠΌΡ‹ восстанавливаСм физичСский ΠΌΠΈΡ€ 
         //Π² исходноС состояниС
         _timeMachine.TravelToTime(gs.Time);
     }

     private void ProcessBucket(GameState presentState, TimeTravelMap.Bucket bucket)
     {
         //ΠžΡ‚ΠΊΠ°Ρ‚Ρ‹Π²Π°Π΅ΠΌ врСмя ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΡ€Π·ΠΈΠ½Ρ‹
         var pastState = _timeMachine.TravelToTime(bucket.Time);

         foreach (var system in _systems)
         {
               system.PastState = pastState;
               system.PresentState = presentState;

               foreach (var entity in bucket)
               {
                   system.Execute(entity);
               }
          }
     }
}

Waxa hadhay oo dhan waa in la habeeyo tafaasiisha:

1. Faham inta aad xaddidi karto masaafada ugu badan ee dhaqdhaqaaqa wakhtiga.

Waxa muhiim noo ahayd in aanu ciyaarta ka dhigno mid la heli karo sida ugu macquulsan xaaladaha shabakadaha mobile-ka ee liita, markaa waxaanu ku koobnay sheekada 30 shilin (oo leh xadiga saxa ah ee 20 Hz). Tani waxay u ogolaaneysaa ciyaartoyda inay garaacaan kuwa ka soo horjeeda xitaa pings aad u sarreeya.

2. Go'aami walxaha la dhaqaajin karo waqtiga iyo kuwa aan awoodin.

Annagu, dabcan, waanu dhaqaajinaynaa kuwa naga soo horjeeda. Laakiin gaashaanka tamarta la rakibo, tusaale ahaan, maaha. Waxaan go'aansanay inay wanaagsan tahay in mudnaanta la siiyo awoodda difaaca, sida inta badan lagu sameeyo toogashada internetka. Haddii ciyaaryahanku uu hadda ka hor dhigay gaashaan, waa in aanay ka duulin rasaastii la soo dhaafay.

3. Go'aanso haddii ay lagama maarmaan tahay in la magdhabo awoodaha dinosaurs-ka: qaniinyada, dabo-joojinta, iwm. Waxaan go'aansanay waxa loo baahan yahay oo aan ka baaraandegno xeerarka la midka ah ee rasaasta.

4. Go'aanso waxa lagu samaynayo isku dhaca ciyaartoyga magdhawga loo samaynayo. Si wanaagsan, booskoodu waa inuusan u wareegin waqtigii hore: ciyaaryahanku waa inuu is arko isla waqtigaas oo uu hadda ku jiro server-ka. Si kastaba ha ahaatee, waxaan sidoo kale dib u soo celineynaa isku dhacyadii ciyaaryahankii toogashada ahaa, waxaana jira dhowr sababood oo tan ah.

Marka hore, waxay wanaajisaa isku-duubnida: waxaan u isticmaali karnaa isla xaalad jireed dhammaan ciyaartoyda leh pings-ka dhow.

Marka labaad, dhammaan raycasts iyo is-ku-kordhinta waxaan had iyo jeer ka saarnaa isku dhaca ciyaartoyga leh awoodaha ama muraayadaha. Dino Squad, ciyaartoydu waxay xukumaan dinosaurs, kuwaas oo leh joomatari aan caadi ahayn marka loo eego heerarka toogashada. Xataa haddii ciyaartoygu uu ku toogto xagal aan caadi ahayn oo jihada ay xabbaddu dhex marto isku dhaca dinosaurka ciyaartoyga, xabbaddu way iska indha tiraysaa.

Marka seddexaad, waxaan xisaabineynaa boosaska hubka dinosaurka ama barta codsiga ee awoodda isticmaalka xogta ECS xitaa ka hor bilowga magdhowga daahitaanka.

Natiijo ahaan, booska dhabta ah ee isku-dhacyada ciyaartoyga magdhowga ah ayaa ah mid aan muhiim ahayn annaga, sidaas darteed waxaan qaadnay waddo waxtar leh oo waqti isku mid ah.

Latency network si fudud looma saari karo, kaliya waa la qarin karaa. Sida hab kasta oo kale oo qarsoodi ah, magdhowga server-ka ayaa leh ganacsigeeda. Waxay wanaajisaa khibradda ciyaaraha ee ciyaartoyga tooganaya kharashka ciyaartoyga la toogtay. Dhanka Dino Squad, si kastaba ha ahaatee, doorashada halkan ayaa ahayd mid iska cad.

Dabcan, waxaas oo dhan waa in sidoo kale lagu bixiyaa kakanaanta korodhka ah ee koodhka server-ka guud ahaan - labadaba barnaamijyada iyo naqshadeeyayaasha ciyaarta. Haddii horeba jilitaanka ayaa ahaa wicitaan isdabajoog ah oo fudud oo nidaamyo ah, ka dibna magdhow la'aan, wareegyo buul ah iyo laamo ayaa ka muuqday. Waxaan sidoo kale ku bixinay dadaal badan si aan uga dhigno mid ku habboon in lala shaqeeyo.

Nooca 2019 (iyo laga yaabee in yar ka hor), Unity waxay ku dartay taageero buuxda muuqaalada jireed ee madaxa banaan. Waxaan ku hirgelinay server-ka isla markiiba ka dib cusbooneysiinta, sababtoo ah waxaan rabnay inaan si dhakhso ah uga takhalusno adduunka jireed ee ka dhexeeya dhammaan qolalka.

Waxaan siinay qol kasta oo ciyaar ah muuqaalkiisa muuqaalka ah sidaas awgeedna waxaan meesha ka saarnay baahida loo qabo "nadiifinta" goobta xogta qolka deriska ah ka hor inta aan la xisaabin jilitaanka. Marka hore, waxay siisay koror weyn oo wax soo saar ah. Marka labaad, waxay suurtogal ka dhigtay in laga takhaluso dhammaan fasalada cayayaanka ee kacay haddii barnaamij-sameeyaha uu qalad ku sameeyay koodhka nadiifinta goobta marka lagu daro walxaha cusub ee ciyaaraha. Khaladaadka noocan oo kale ah way adkeyd in la saxo, waxayna inta badan keeneen xaaladda walxaha jireed ee qolka qolka "ku qulqulaya" qol kale.

Intaa waxaa dheer, waxaan sameynay baaritaanno ku saabsan in muuqaallada jireed loo isticmaali karo in lagu kaydiyo taariikhda adduunka jireed. Taasi waa, shuruud ahaan, ha u qoondayn hal goob qol kasta, laakiin 30 muuqaal, oo ka samee bakeeriga wareegtada ah, kaas oo lagu kaydiyo sheekada. Guud ahaan, ikhtiyaarka ayaa u soo baxay inuu shaqeeyo, laakiin ma aanan fulin: ma muujin wax kororsi waalan oo wax soo saar ah, laakiin waxay u baahan tahay isbeddel khatar ah. Way adkeyd in la saadaaliyo sida uu u dhaqmi doono server-ku marka uu shaqeynayo waqti dheer oo leh muuqaalo badan. Sidaa darteed, waxaan raacnay xeerka: β€œHaddii aysan jabin, ha hagaajin".

Source: www.habr.com

Add a comment