Jump to content
php.lv forumi

Recommended Posts

Posted

codez +

 

briedi, vai tad pats tcp/udp protokols nenodrošina sava veida checksummošanu vai arī domā, ka vinam ātrāks / otram lēnāks inets un ieguvējs ir tas, kam ātrāks?

  • Replies 50
  • Created
  • Last Reply

Top Posters In This Topic

Posted

Šajā projektā nekāda lielā gudrība nav izmantota. Klients saņem datus un interpolē vērtības no iepriekšējiem stāvokļiem.

Šūnas kustās salīdzinoši lēni, tāpēc pietiek ar vienkārši darbību sūtīšanu serverim un stāvokļu saņemšanu atpakaļ.

Vienīgā ātrā darbība ir kameras kustināšana, bet tā kā kameras stāvoklis neietekmē spēles stāvokli, tad tas vis notiek klienta pusē un serverim netiek pat sūtīts.

Ja ir lagains tīkls, tad principā gameplay-jā to uzreiz var just, ka kustības aiztures.

 

Nesen taisīju arī "first person" eksperimentu un tur jau 100-200ms lags rada sliktu gameplay, tāpēc eksperimentēju ar tā saukto "lag compensation" metodi.

Ideja ir tāda, ka paralēli darbību sūtīšanai serverim, visas darbības simulē arī klienta pusē un, kad serveris it atsūtījis jauno validēto stāvokli, klients ir ticis parasti 2 - 5 simulācijas soļus uz priekšu, tāpēc visas šo soļu darbības glabājas buferī un pie jauna stāvokļa no servera, tiek pārsimulēta visa ķēde līdz šim brīdim. Ja klienta puses un servera puses algoritmi ir vienādi, tad pārsimulācija parasti dod to pašu rezultātu. Rezultāts sāk atšķirties, ja servera puses simulācijā iejaucās cita lietotāja darbības, kuras pirmais klients vēl nav saņēmis. Šajā gadījumā pēc pārrēķināšanas gala vērtība var nedaudz atšķirties, tāpēc ar interpolāciju vairākos kadros pietuvina šo vērtību.

Mana steka gadījumā man nācās daļu simulācijas algoritma, kurš notiek arī klienta pusē, pārrakstīt no Scalas uz Javascriptu. Šajā aspektā nodejs ir neliela priekšrocība pār Scalu, lai gan tīri teorētiski Scalai ir bibliotēkas, kas māk Scala kodu pārvērst Javascriptā.

Ar "lag compensation" metodi, principā pārvietošanās pa pasauli, neietekmējot gameplay, var notikt arī ar vairākas sekundes pazudušu konekciju.

  • 4 months later...
Posted (edited)

Pēc pus gada rezultāti ir šādi.

Pagaidām katru mēnesi ir gandrīz miljons unikālo apmeklētāju ar tendenci nedaudz pieaugt.

Youtube 15k subscraiberu, FB 26k šāres un 14k komentāri.

Spēle ievietota vairāk kā 500 spēļu direktorijās no kurām nāk aptuveni puse trafika, piemēram, http://slitherio.org/games/agario3d.htmlhttp://www.minijuegos.com/juego/agario-3d

Edited by codez
Posted

codez, tev slither.io 3D versija nav padomā?

 

 

Nevienu reklāmu neredzu, vai tas dēļ atbloka?

Tu saproti, ka tu šādi apzodz codezu! Tiešām ceri, ka šādai rīcībai nebūs sekas? ;)

Posted

codez, tev slither.io 3D versija nav padomā?

 

Ir, ir, tieši tagad arī taisu 3D versiju. Citā topikā, kur runāju par ģeometrijas ģenerācijas algoritmu, runa bija tieši par 3D čūskas ģeometrijas ģenerēšanu un efektīvu kustināšanu izmantojot skeletu un šeiderus.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...