Pehea mākou i hoʻonui ai i ka mechanics o ka helu ballistic no ka mea pana pana me kahi algorithm uku uku hulina.

Pehea mākou i hoʻonui ai i ka mechanics o ka helu ballistic no ka mea pana pana me kahi algorithm uku uku hulina.

Aloha ʻoe, ʻo wau ʻo Nikita Brizhak, kahi mea hoʻomohala kikowaena mai Pixonic. I kēia lā makemake wau e kamaʻilio e pili ana i ka uku ʻana no ka lag i ka mobile multiplayer.

Ua kākau ʻia nā ʻatikala he nui e pili ana i ka uku lag server, me ka ʻōlelo Lūkini. ʻAʻole kēia he mea kupanaha, no ka mea, ua hoʻohana ikaika ʻia kēia ʻenehana i ka hana ʻana i ka Multiplayer FPS mai ka hopena o 90s. No ka laʻana, hiki iā ʻoe ke hoʻomanaʻo i ka QuakeWorld mod, ʻo ia kekahi o ka mea mua i hoʻohana.

Hoʻohana pū mākou iā ia i kā mākou mobile multiplayer shooter Dino Squad.

Ma kēia ʻatikala, ʻaʻole kaʻu pahuhopu e hana hou i ka mea i kākau ʻia i hoʻokahi kaukani manawa, akā e haʻi i ke ʻano o kā mākou hoʻokō ʻana i ka uku lag i kā mākou pāʻani, e noʻonoʻo ana i kā mākou ʻenehana a me nā hiʻohiʻona pāʻani.

He mau huaʻōlelo e pili ana i kā mākou cortex a me ka ʻenehana.

ʻO Dino Squad kahi mea pana PvP pūnaewele. Mālama nā mea pāʻani i nā dinosaur i lako me nā mea kaua like ʻole a hakakā kekahi i kekahi i nā hui 6v6.

Hoʻokumu ʻia ka mea kūʻai aku a me ke kikowaena ma Unity. He mea maʻamau ka hale hoʻolālā no ka poʻe pana pana: he mana ke kikowaena, a hana ka wānana o ka mea kūʻai aku i nā mea kūʻai aku. Ua kākau ʻia ka simulation pāʻani me ka hoʻohana ʻana i ka ECS i loko o ka hale a hoʻohana ʻia ma ka server a me ka mea kūʻai aku.

Inā ʻo kēia ka manawa mua āu i lohe ai e pili ana i ka uku lag, eia kahi huakaʻi pōkole i ka pilikia.

I nā pāʻani FPS multiplayer, hoʻohālikelike ʻia ka pāʻani ma kahi kikowaena mamao. Hoʻouna nā mea pāʻani i kā lākou hoʻokomo (ʻike e pili ana i nā kī i kaomi ʻia) i ke kikowaena, a ma ka pane ʻana e hoʻouna ke kikowaena iā lākou i kahi kūlana pāʻani hou e noʻonoʻo ana i ka ʻikepili i loaʻa. Me kēia papahana pili, ʻoi aku ka nui o ka lohi ma waena o ke kaomi ʻana i ke kī i mua a me ka manawa e neʻe ai ka mea pāʻani ma ka pale ma mua o ka ping.

ʻOiai ma nā pūnaewele kūloko, ʻaʻole hiki ke ʻike ʻia kēia lohi (i kapa ʻia ʻo input lag) i ka wā e pāʻani ai ma o ka Pūnaewele e hana ana i ka manaʻo o ka "paheʻe ma luna o ka hau" i ka wā e hoʻomalu ai i kahi ʻano. Pili ʻia kēia pilikia no nā pūnaewele kelepona, kahi i manaʻo ʻia he pilina maikaʻi loa ka ping o ka mea pāʻani he 200 ms. Hiki i ka ping ke 350, 500, a i ʻole 1000 ms. A laila aneane hiki ʻole ke pāʻani i kahi pana wikiwiki me ka lag hoʻokomo.

ʻO ka hoʻonā ʻana i kēia pilikia ʻo ka wānana simulation ʻaoʻao. Maʻaneʻi e hoʻohana ka mea kūʻai aku i ka mea hoʻokomo i ka mea hoʻokani pila, me ka kaliʻole i ka pane mai ke kikowaena. A i ka loaʻa ʻana o ka pane, hoʻohālikelike wale ia i nā hopena a hōʻano hou i nā kūlana o nā hoa paio. ʻO ka lohi ma waena o ke kaomi ʻana i kahi kī a hōʻike i ka hopena ma ka pale ma kēia hihia he liʻiliʻi.

He mea nui e hoʻomaopopo i ka nuance maʻaneʻi: e huki mau ana ka mea kūʻai iā ia iho e like me kāna hoʻokomo hope, a me nāʻenemi - me ka lohi o ka pūnaewele, e like me ka moku'āina ma mua mai kaʻikepili mai ke kikowaena. ʻO ia hoʻi, ke kī ʻana i ka ʻenemi, ʻike ka mea pāʻani iā ​​​​ia i ka wā ma mua e pili ana iā ia iho. Nā mea hou aku e pili ana i ka wānana mea kūʻai ua kākau mua mākou.

No laila, hoʻoponopono ka wānana o ka mea kūʻai aku i hoʻokahi pilikia, akā hana i kekahi: inā pana ka mea pāʻani ma kahi o ka ʻenemi i ka wā ma mua, ma ke kikowaena i ka wā e pana ai i ka manawa like, ʻaʻole paha ka ʻenemi ma ia wahi. Ke ho'āʻo nei ka uku lag server e hoʻoponopono i kēia pilikia. Ke kī ʻia kahi mea kaua, hoʻihoʻi ke kikowaena i ka mokuʻāina o ka pāʻani i ʻike ʻia e ka mea pāʻani i ka manawa o ka pana ʻana, a nānā inā hiki iā ia ke pā i ka ʻenemi. Inā ʻo ka pane "ʻae," helu ʻia ka pā, ʻoiai inā ʻaʻole ka ʻenemi ma ke kikowaena i kēlā manawa.

Me kēia ʻike, hoʻomaka mākou e hoʻokō i ka uku lag server ma Dino Squad. ʻO ka mea mua, pono mākou e hoʻomaopopo pehea e hoʻihoʻi ai i ka server i ka mea a ka mea kūʻai aku i ʻike ai? A he aha ka pono e hoʻihoʻi ʻia? I kā mākou pāʻani, helu ʻia nā pā mai nā mea kaua a me nā hiki ma o nā raycasts a me nā uhi - ʻo ia hoʻi, ma o ka launa pū ʻana me nā mea hoʻokūkū kino o ka ʻenemi. No laila, pono mākou e hana hou i ke kūlana o kēia mau colliders, i ʻike ʻia e ka mea pāʻani ma ke kikowaena, ma ke kikowaena. I kēlā manawa, hoʻohana mākou i ka mana Unity 2018.x. Aia ka API physics ma laila, aia ka honua kino i hoʻokahi kope. ʻAʻohe ala e mālama ai i kona mokuʻāina a laila hoʻihoʻi mai ia mai ka pahu. No laila he aha ka hana?

Aia ka hopena ma luna o ka ʻili; ua hoʻohana mua ʻia nā mea āpau e mākou e hoʻoponopono i nā pilikia ʻē aʻe:

  1. No kēlā me kēia mea kūʻai aku, pono mākou e ʻike i ka manawa i ʻike ai ʻo ia i nā hoa paio i kona kaomi ʻana i nā kī. Ua kākau mua mākou i kēia ʻike i loko o ka pūʻolo hoʻokomo a hoʻohana iā ia e hoʻoponopono i ka wānana o ka mea kūʻai aku.
  2. Pono mākou e mālama i ka mōʻaukala o nā mokuʻāina pāʻani. Aia i loko o laila mākou e paʻa ai i nā kūlana o ko mākou mau hoa paio (a no laila ko lākou colliders). Ua loaʻa iā mākou kahi moʻolelo mokuʻāina ma ke kikowaena, hoʻohana mākou iā ia e kūkulu delta. I ka ʻike ʻana i ka manawa kūpono, hiki iā mākou ke loaʻa ke kūlana kūpono i ka mōʻaukala.
  3. I kēia manawa ua loaʻa iā mākou ke kūlana pāʻani mai ka mōʻaukala ma ka lima, pono mākou e hiki ke hoʻonohonoho i ka ʻikepili o ka mea pāʻani me ke kūlana o ke ao kino. ʻO nā colliders e kū nei - neʻe, nā mea nalo - hana, nā mea pono ʻole - luku. Ua kākau mua ʻia kēia loiloi a loaʻa i nā ʻōnaehana ECS. Ua hoʻohana mākou iā ia e paʻa i kekahi mau lumi pāʻani i hoʻokahi kaʻina Unity. A no ka mea hoʻokahi ka honua kino i kēlā me kēia kaʻina, pono e hoʻohana hou ʻia ma waena o nā lumi. Ma mua o kēlā me kēia kiʻi o ka simulation, "hoʻihoʻi" mākou i ke kūlana o ke ao kino a hoʻomaka hou me ka ʻikepili no ka lumi o kēia manawa, e hoʻāʻo ana e hoʻohana hou i nā mea pāʻani Unity e like me ka hiki ma o kahi ʻōnaehana pooling akamai. ʻO nā mea a pau i koe, ʻo ke kāhea ʻana i ka loina like no ke kūlana pāʻani mai ka wā i hala.

Ma ka hui pū ʻana i kēia mau mea a pau, loaʻa iā mākou kahi "mekini manawa" hiki ke hoʻohuli i ke kūlana o ke ao kino i ka manawa kūpono. Ua maʻalahi ke code:

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;
     }
}

ʻO nā mea a pau i koe e noʻonoʻo pehea e hoʻohana ai i kēia mīkini e uku maʻalahi i nā pana a me nā hiki.

Ma ka hihia maʻalahi, i ka wā e hoʻokumu ʻia ai nā mechanics ma kahi hitscan hoʻokahi, ʻike ʻia nā mea āpau: ma mua o ka pana ʻana o ka mea pāʻani, pono ʻo ia e hoʻihoʻi i ke ao kino i kahi kūlana i makemake ʻia, e hana i kahi raycast, helu i ka paʻi a hala paha, a e hoʻihoʻi i ka honua i ke kūlana mua.

Akā ʻaʻole liʻiliʻi nā mīkini like ma Dino Squad! ʻO ka hapa nui o nā mea kaua i loko o ka pāʻani e hana i nā projectiles - nā pōkā lōʻihi e lele ana no nā ticks simulation (ma kekahi mau hihia, he mau kaukani ticks). He aha kā lākou e hana ai, he aha ka manawa e lele ai lākou?

В ʻatikala kahiko e pili ana i ka hui pūnaewele Half-Life, ua nīnau nā kāne mai Valve i ka nīnau like, a ʻo kā lākou pane ʻo kēia: pilikia ka uku o ka projectile lag, a ʻoi aku ka maikaʻi o ka pale ʻana.

ʻAʻole i loaʻa iā mākou kēia koho: ʻo nā mea kaua i hoʻokumu ʻia i ka projectile kahi hiʻohiʻona nui o ka hoʻolālā pāʻani. No laila, pono mākou e hana i kekahi mea. Ma hope o ka noʻonoʻo ʻana, ua kūkulu mākou i ʻelua mau koho i manaʻo ʻia e hana.

1. Hoʻopaʻa mākou i ka projectile i ka manawa o ka mea pāʻani nāna i hana. ʻO kēlā me kēia māka o ka simulation server, no kēlā me kēia pōkā o kēlā me kēia mea pāʻani, ʻōwili mākou i ka honua kino i ka mokuʻāina o ka mea kūʻai aku a hana i nā helu pono. ʻO kēia ala i hiki ai ke loaʻa i kahi haʻahaʻa puʻupuʻu ma ke kikowaena a me ka wānana manawa lele o nā projectiles. He mea koʻikoʻi loa ka wānana no mākou, no ka mea, loaʻa iā mākou nā projectiles āpau, me nā projectiles ʻenemi, i wānana ʻia ma ka mea kūʻai.

Pehea mākou i hoʻonui ai i ka mechanics o ka helu ballistic no ka mea pana pana me kahi algorithm uku uku hulina.
Ma ke kiʻi, ʻo ka mea pāʻani ma ka tick 30 e puhi i kahi missile i ka manaʻo: ʻike ʻo ia i ke ala e holo ai ka ʻenemi a ʻike i ka wikiwiki o ka missile. Ma ka ʻāina ʻike ʻo ia ua paʻi ʻo ia i ka pahu hopu ma ka 33rd tick. Mahalo i ka uku lag, e ʻike pū ʻia ma ke kikowaena

2. Hana mākou i nā mea a pau e like me ka koho mua, akā, i ka helu ʻana i hoʻokahi tick o ka simulation pōkā, ʻaʻole mākou e hoʻōki, akā e hoʻomau i ka hoʻohālikelike ʻana i kona lele ʻana i loko o ke kikowaena kikowaena like, i kēlā me kēia manawa e hoʻokokoke i kona manawa i ke kikowaena. pakahi a hoʻopaʻa i nā kūlana collider. Hana mākou i kēia a hiki i kekahi o nā mea ʻelua:

  • Ua pau ka poka. ʻO ia hoʻi, ua pau nā helu ʻana, hiki iā mākou ke helu i kahi hala a i ʻole kahi paʻi. A ʻo kēia ma ka māka hoʻokahi i kī ʻia ai ka pana! No mākou he mea hoʻohui kēia a he hōʻemi. ʻO kahi hoʻohui - no ka mea hoʻokani pana i hōʻemi nui kēia i ka lohi ma waena o ka paʻi a me ka emi ʻana o ke olakino o ka ʻenemi. ʻO ka ʻaoʻao haʻahaʻa, ʻo ia ka hopena like i ʻike ʻia i ka wā i kī ʻia ai nā hoa paio i ka mea pāʻani: ʻo ka ʻenemi, me he mea lā, kiʻi wale i kahi rocket lohi, a ua helu ʻia ka pōʻino.
  • Ua hiki ka pōkā i ka manawa kikowaena. I kēia hihia, e hoʻomau ʻia kāna simulation i ka kiko kikowaena aʻe me ka ʻole o ka uku lag. No nā projectiles lohi, hiki i kēia ke hōʻemi i ka helu o nā rollbacks physics i hoʻohālikelike ʻia i ka koho mua. I ka manawa like, ua hoʻonui ʻia ka ukana like ʻole o ka simulation: ʻaʻole i hana ke kikowaena, a i ʻole ma hoʻokahi kikowaena kikowaena e helu ana ʻo ia i hoʻokahi kaukani simulation ticks no kekahi mau pōkā.

Pehea mākou i hoʻonui ai i ka mechanics o ka helu ballistic no ka mea pana pana me kahi algorithm uku uku hulina.
ʻO ka hiʻohiʻona like e like me ke kiʻi ma mua, akā helu ʻia e like me ka hoʻolālā lua. ʻO ka missile "hopu" me ka manawa kikowaena ma ka māka hoʻokahi i loaʻa ai ka pana, a hiki ke helu ʻia ka paʻi e like me ka wā e hiki mai ana. Ma ka 31st tick, i kēia hihia, ʻaʻole hoʻohana hou ʻia ka uku lag

I kā mākou hoʻokō ʻana, ʻokoʻa kēia mau ala ʻelua i nā laina ʻelua o ke code, no laila ua hana mākou i ʻelua, a no ka manawa lōʻihi ua noho like lākou. Ma muli o ka mechanics o ka mea kaua a me ka wikiwiki o ka pōkā, ua koho mākou i hoʻokahi a i ʻole kekahi koho no kēlā me kēia dinosaur. ʻO ka huli ʻana ma aneʻi ʻo ka ʻike ʻana i ka pāʻani o nā mīkini e like me "inā ʻoe e paʻi i ka ʻenemi i nā manawa he nui i kēlā a me kēia manawa, e kiʻi i kēlā me kēia bonus." ʻO kēlā me kēia mechanic kahi i pā ai ka mea pāʻani i ka ʻenemi i hana koʻikoʻi i hōʻole e hana me ke ala ʻelua. No laila ua hoʻopau mākou i ka hele ʻana me ka koho mua, a pili ia i kēia manawa i nā mea kaua āpau a me nā mana ikaika āpau i ka pāʻani.

Ma kahi kaʻawale, pono ke hāpai i ka pilikia o ka hana. Inā manaʻo ʻoe e hoʻolohi kēia mau mea a pau, pane wau: ʻo ia. Ua lohi ka Unity i ka neʻe ʻana i nā colliders a hoʻohuli iā lākou a hoʻopau. Ma Dino Squad, i ka hihia "ʻoi aku ka maikaʻi", hiki ke loaʻa i nā haneli he nui i ka manawa like i ke kaua. ʻO ka hoʻoneʻe ʻana i nā colliders e helu i kēlā me kēia projectile he mea waiwai ʻole. No laila, he mea pono loa iā mākou e hōʻemi i ka helu o nā "rollbacks" physics. No ka hana ʻana i kēia, hana mākou i kahi ʻāpana ʻokoʻa ma ECS kahi e hoʻopaʻa ai mākou i ka manawa o ka mea pāʻani. Hoʻohui mākou iā ia i nā hui āpau e koi ana i ka uku lag (projectiles, ability, etc.). Ma mua o ka hoʻomaka ʻana i ka hana ʻana i ia mau mea, hui mākou iā lākou i kēia manawa a hoʻopaʻa pū iā lākou, e ʻōwili hou i ka honua kino i hoʻokahi manawa no kēlā me kēia hui.

I kēia pae, loaʻa iā mākou kahi ʻōnaehana hana maʻamau. ʻO kāna code ma kahi ʻano maʻalahi:

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);
               }
          }
     }
}

ʻO nā mea i koe e hoʻonohonoho i nā kikoʻī:

1. E hoʻomaopopo i ka nui o ka palena o ka mamao o ka neʻe i ka manawa.

He mea koʻikoʻi iā mākou e hana i ka pāʻani e like me ka hiki ke loaʻa i nā kūlana o nā pūnaewele kelepona maikaʻi ʻole, no laila ua kaupalena mākou i ka moʻolelo me ka palena o 30 ticks (me ka helu tick o 20 Hz). Hāʻawi kēia i nā mea pāʻani e paʻi i nā hoa paio me nā ping kiʻekiʻe loa.

2. E hoʻoholo i nā mea hiki ke hoʻoneʻe i ka manawa a me nā mea hiki ʻole.

ʻO mākou, ʻoiaʻiʻo, ke neʻe nei i ko mākou mau hoa paio. Akā ʻo nā pale ikehu hiki ke hoʻokomo, no ka laʻana, ʻaʻole. Ua hoʻoholo mākou ʻoi aku ka maikaʻi o ka hāʻawi ʻana i ka mea nui i ka hiki ke pale, e like me ka hana pinepine ʻana i nā pana pana pūnaewele. Inā ua kau mua ka mea pāʻani i kahi pale i kēia manawa, ʻaʻole pono e lele nā ​​pōkā lag-compensated mai ka wā i hala.

3. E hoʻoholo inā pono e uku i nā mana o nā dinosaurs: nahu, hahau huelo, a me nā mea ʻē aʻe.

4. E hoʻoholo i ka mea e hana ai me nā mea hoʻokūkū o ka mea pāʻani nona ka uku lag e hana ʻia nei. Ma ke ala maikaʻi, ʻaʻole pono e hoʻololi ko lākou kūlana i ka wā i hala: pono e ʻike ka mea pāʻani iā ​​​​ia iho i ka manawa like a ia i kēia manawa ma ke kikowaena. Eia nō naʻe, ʻōwili pū mākou i nā colliders o ka mea hoʻokani pana, a he nui nā kumu no kēia.

ʻO ka mea mua, hoʻomaikaʻi ia i ka clustering: hiki iā mākou ke hoʻohana i ke kūlana kino like no nā mea pāʻani āpau me nā ping kokoke.

ʻO ka lua, ma nā raycasts āpau a me nā overlaps e hoʻokaʻawale mau mākou i nā colliders o ka mea pāʻani nona nā mana a i ʻole projectiles. Ma Dino Squad, hoʻokele nā ​​mea pāʻani i nā dinosaurs, ʻoi aku ka geometry maʻamau ʻole e nā pae pana. ʻOiai inā pana ka mea pāʻani ma kahi kihi ʻokoʻa a hele ke ala o ka pōkā i loko o ka collider dinosaur o ka mea pāʻani, e haʻalele ka pōkā iā ia.

ʻO ke kolu, helu mākou i nā kūlana o ka mea kaua o ka dinosaur a i ʻole ke kiko o ka hoʻohana ʻana i ka hiki ke hoʻohana i ka ʻikepili mai ka ECS ma mua o ka hoʻomaka ʻana o ka uku lag.

ʻO ka hopena, ʻo ke kūlana maoli o nā colliders o ka mea pāʻani lag-compensated he mea nui ʻole iā mākou, no laila ua lawe mākou i kahi ala ʻoi aku ka maikaʻi a ma ka manawa like.

ʻAʻole hiki ke wehe wale ʻia ka latency pūnaewele, hiki ke uhi wale ʻia. E like me nā ʻano hana ʻē aʻe o ka hūnā ʻana, loaʻa ka uku o ka server lag i kāna tradeoffs. Hoʻomaikaʻi ia i ka ʻike pāʻani o ka mea pāʻani e pana ana ma ka lilo o ka mea pāʻani i pana ʻia. No Dino Squad, akā naʻe, ua maopopo ke koho ma aneʻi.

ʻOiaʻiʻo, pono e uku ʻia kēia mau mea a pau e ka piʻi ʻana o ka paʻakikī o ka code server holoʻokoʻa - no nā mea papahana a me nā mea hoʻolālā pāʻani. Inā ma mua o ka simulation he kelepona maʻalahi o nā ʻōnaehana, a laila me ka uku lag, ʻike ʻia nā puka lou a me nā lālā. Ua hoʻoikaika nui mākou i ka hana maʻalahi.

Ma ka mana 2019 (a ma mua paha), ua hoʻohui ʻo Unity i ke kākoʻo piha no nā hiʻohiʻona kino kūʻokoʻa. Ua hoʻokō mākou iā lākou ma ka kikowaena kokoke koke ma hope o ka hoʻonui ʻana, no ka mea makemake mākou e hoʻopau koke i ka honua kino maʻamau i nā lumi āpau.

Hāʻawi mākou i kēlā me kēia lumi pāʻani i kona hiʻohiʻona kino ponoʻī a no laila ua hoʻopau i ka pono e "hoʻomaʻemaʻe" i ke kiʻi mai ka ʻikepili o ka lumi kokoke ma mua o ka helu ʻana i ka simulation. ʻO ka mea mua, hāʻawi ia i ka piʻi nui o ka huahana. ʻO ka lua, ua hiki iā ia ke hoʻopau i kahi papa holoʻokoʻa o nā pōpoki i kū mai inā i hana hewa ka mea polokalamu i ke code hoʻomaʻemaʻe kiʻi i ka wā e hoʻohui ai i nā mea pāʻani hou. He paʻakikī ia mau hewa i ka debug, a ua hopena pinepine lākou i ke ʻano o nā mea kino i loko o kahi kiʻi o kahi lumi "e kahe ana" i kahi lumi ʻē aʻe.

Eia kekahi, ua noiʻi mākou inā hiki ke hoʻohana ʻia nā hiʻohiʻona kino e mālama i ka mōʻaukala o ke ao kino. ʻO ia hoʻi, ʻaʻole e hoʻokaʻawale i hoʻokahi hiʻohiʻona i kēlā me kēia lumi, akā he 30 mau hiʻohiʻona, a hana i kahi paʻa paʻa mai loko mai o lākou, kahi e mālama ai i ka moʻolelo. Ma keʻano laulā, ua lilo ka koho i mea hana, akā ʻaʻole mākou i hoʻokō: ʻaʻole ia i hōʻike i ka piʻi ʻana o ka ulu ʻana o ka huahana, akā koi ʻia nā loli pilikia. He mea paʻakikī ke wānana i ka hana a ke kikowaena i ka wā e hana lōʻihi ai me nā hiʻohiʻona he nui. No laila, hahai mākou i ke kānāwai: “Inā ʻaʻole i haki, mai hoʻoponopono".

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka