Lag si minimap

Discuție în 'FAQ/Glosar' creată de Hermes, 14 Noi 2013.

Dragă cititor al forumului nostru,

Dacă dorești să participi activ la discuțiile purtate, ai întrebări sau vrei să deschizi alte teme, este necesar să te conectezi în continuare în joc. În cazul în care nu ai încă un cont de joc, te rugăm să te înregistrezi. Ne bucurăm să te revedem în viitor în forumul nostru! CLICK AICI
Stare subiect:
Nu este deschis pentru răspunsuri suplimentare.
  1. Hermes

    Hermes Guest

    Salutari piloti spatiali!

    Ne-am gandit sa venim in intampinarea problemelor de lag prin cateva explicatii simple si un posibil mecanism de preventie explicat.

    Intr-un mod simplist jocul si comenzile decurg in felul urmator:

    Sunteti in clientul de joc, dati o comanda (miscti nava la dreapta sa spunem). Clientul afiseaza rezultatul comenzii (muta nava spre dreapta) si trimite comanda spre server. Astfel, pozitia navei pe server va fi corespunzatoare cu cea afisata in clientul de joc.

    In cazul in care intervine lag-ul (o intarziere sau un timeout de comunicare) intre client si server, cele doua nu vor mai fi sincronizate.

    Astfel se poate intampla intr-o poarta galactica.

    Cateva imagini ( foarte simpliste ) sper sa fie mai lamuritoare decat multa vorbarie tehnica. In desenele de mai joc, cu rosu sunt reprezentate NPC si cu verde nava voastra.

    1. Sunteti intr-o poarta galactica, va bateti cu un val de NPC.

    [​IMG]

    2. Incercati sa pastrati distanta fata de NPC constanta, si miscati nava in diagonala, insa intervine lag-ul si comanda nu ajunge (la timp) pe server.

    a. Situatia in client:

    [​IMG]

    b. Situatia pe server in acest timp:

    [​IMG]

    3. Comunicatia intre server si client se restabileste, situatia este: vedeti brusc damage mare de la NPC (primit pe server in acest timp), desi in client ele va apar la distanta mare.

    Cum se poate trata aceasta situatie? Depinde de lag, binenteles, dar pentru cateva secunde de intarziere, care pot face diferenta, mai ales in porti de genul gamma sau ultimul val din delta, folositi mini-map in felul urmator:

    [​IMG]

    Ne cerem scuze pentru marimea imaginii, chestiuni legate de setarile forumului nu ne permit sa postam o imagine mare. Cum observati, distanta la care este trimisa nava fata de NPC este considerabila. O data ce nava se indeparteaza si NPC va urmeaza (nu este lag), puteti da o noua comanda, care sa va duca in joc, trecand pe langa NPC. Daca acestea va urmeaza (iarasi nu este lag) puteti continua, astfel incat nava voastra sa realizeze un cerc in jurul lor format din succesiunea de comenzi. Daca este lag, lasati nava sa mearga pana cand NPC isi schimba pozitia brusc (se apropie brusc), ceea ce inseamna ca situatia de pe server si client s-a sincronizat. Apoi, puteti executa o noua comanda.

    Pentru a evita cazul in care lag-ul intervine chiar cand se da comanda de miscare pe o noua directie, se pot folosi cateva "tricks":

    a. Incercati sa trimiteti nava pe mini-map cat mai departe. In acest fel, aveti destul timp de reluare a comunicatiei intre client si server.
    b. dati 2-3 comenzi succesive de miscare in aceeasi zona/aceleasi coordonate.


    Ce se intampla totusi daca apare lag in timpul deplasarii?

    Vom exemplifica cu cateva imagini cum folosirea mini-map cu nava trimisa la departare de NPC va poate salva o viata in portalele galactice.

    Vom porni cu acelasi caz de mai sus, aveti un val de NPC dupa voi:

    1. [​IMG]

    2. Executati o comanda pe mini-map de departare, dupa care intervine lag.

    a. Situatia in client:

    [​IMG]

    b. situatia pe server:

    [​IMG]

    3. Se reia comunicatia intre client si server si se face sincronizarea:

    [​IMG]

    In acest caz, nu ati primit damage in timpul perioadei de time-out/lag si puteti continua jocul.

    Personal, am observat ca se poate supravietui trimitand nava la un set de 4 coordonate de joc, situate la 90 de grade una fata de cealalta.

    De asemenea, atunci cand observ aparitia fenomenului de lag si acesta se repeta, ma departez mult (pana la colt) de NPC, pentru a lasa posibilitatea clientului sa fie sincronizat cu serverul. Mai clar, fac in asa fel incat nava sa aiba timp sa stea pe loc in colt macar cateva secunde, astfel incat daca exista diferente intre server si client la pozitia din joc, ele sa ajunga sincronizate.

    Daca sunt la un val rapid (klini, sibeloniti) si observ aparitia repetata a fenomenului de lag, folosesc munitie mai puternica chiar si in alpha. De asemenea, inainte de astfel de valuri, unde lag-ul poate avea o influenta mai puternica asupra rezultatului final, evit sa intru imediat dupa ce un alt jucator a disparut de pe harta in zona portii (portile sunt amplasate oarecum la aceleasi coordonate, daca un alt jucator dispare brusc cand se afla in dreptul portii voastre, poate insemna ca a intrat in poarta).

    Ultime sfaturi de final: fie sa aveti clientul intr-o fereastra maximizata, fie sa nu aveti alte ferestre deschise si ACTIVE (adica "Maximized").

    Speram ca v-am fost de ajutor cu aceste detalii si vom reveni in timp cu astfel de topic-uri, care va pot ajuta.

    Va multumim si va dorim succes in joc!

    Temă creată prin contribuţia utilizatorului: [Paladin]
     
Stare subiect:
Nu este deschis pentru răspunsuri suplimentare.