piatra david

Mișcare rapidă, inteligentă, sexy și alarmantă.

Au existat mai multe discuții în trecut despre precizia HP. Pentru a rezuma pe scurt aceste fire, jocurile Pokemon mai vechi (nu sunt sigur ce se întâmplă în 6, 7 și 8) au o bară HP cu o lățime de 48 de pixeli. Numărul de pixeli din această bară este singura informație pe care o obțineți despre cât HP are un Pokemon și cât de mult HP s-a schimbat.

asupra

Jucam prin Pokemon Crystal în urmă cu câteva zile și mi-a amintit de ceva ce uitasem în ceea ce privește animația de bare HP - cu cât are mai multe HP un Pokemon, cu atât durează mai mult să-i animi să piardă acel HP. Acesta este cazul în generațiile 2, 3 și 4. Nu pare să se întâmple în generațiile 1, 5, 6, 7 sau 8. Dacă un Pokemon are 48 sau mai puțini HP, acesta se animă pe pixel (și astfel nu puteți spuneți orice informații dincolo de ceea ce vă dau 48ths). Dacă un Pokemon are 49 sau mai mult HP, acesta se animă pentru fiecare punct HP pierdut, cu o rată de aproximativ 5 ms pe HP. Aceasta înseamnă că pierderea a 100 CP ar dura 5,02 secunde, dar pierderea a 101 CP ar dura 5,07 secunde.

Probabil că oamenii nu pot determina acest număr până la precizia HP exactă în majoritatea cazurilor, dar ar putea să distingă 100 HP față de 105 CP, de exemplu. Punctul exact în care devine diferențiat depinde de persoană și de modul în care se simte în acel moment. În general, totuși, o persoană ar putea, de asemenea, să îndrepte o cameră către ecranul său, care să îi spună exact cât s-a pierdut HP. Mai mult, dacă aș transporta Machine Machine în lumea reală, ar face exact asta.

Aceasta înseamnă că este posibil, cel puțin teoretic, ca un jucător să determine exact cât de mult HP a pierdut sau a câștigat un Pokemon pentru orice Pokemon de nivel înalt. De asemenea, li se spune exact la ce valoare HP se modifică bara la 47, 46 etc. din 48 (deoarece bara HP este animată). Bănuiesc că acest lucru înseamnă că orice Pokemon care și-a pierdut cel puțin 4-8% sau cam așa starea sa de sănătate poate avea exact HP-ul maxim stabilit. Acest lucru poate oferi informații cum ar fi dacă Raikou are Hidden Power Grass, Hidden Power Water sau Hidden Power Ice/no Hidden Power în generația 2, deoarece acestea își schimbă HP DV cu o cantitate destul de mare.

În mod normal, aș posta doar un raport de erori obișnuit, dar având în vedere istoricul problemei, m-am gândit că ar trebui să-l postez aici.

Rețineți că Pokemon Showdown trimite în prezent toate valorile HP ca valoare din 100 pentru Pokemonul adversar pentru aceste generații mai vechi (cel puțin pentru majoritatea formatelor? Unele dintre subiectele vechi susțin că există alte formate care vă dau „/ 48” HP).

Având în vedere istoricul discuțiilor despre această problemă, m-am gândit că ar trebui să menționez și un punct important. Precizia HP are două componente. Prima componentă este problema politicii: ce informații ar trebui să trimită serverul clientului? A doua componentă este problema UI: cum ar trebui să afișeze clientul aceste informații utilizatorului?

Clientul poate alege să facă orice dorește și nu putem lua nicio decizie politică pentru a afecta acest lucru. Dacă decidem să trimitem modificări HP exacte și toate valorile care corespund unei noi valori "/ 48", clientul poate alege să ignore toate aceste informații și să raporteze în continuare HP% (doar că anumite% valori nu vor fi niciodată raportat). Eu, în calitate de autor al unui client diferit, pot alege să folosesc acele informații într-un mod diferit, deoarece „utilizatorii mei” pot avea obiective care nu sunt aceleași cu valorile implicite pentru clientul implicit. Clientul ar putea avea, de asemenea, o setare care implicit afișează% (calculată din informațiile disponibile care stau la baza), dar utilizatorii o pot schimba pentru a le oferi mai multe informații, afișate într-un mod ușor de utilizat, așa cum este determinat de dezvoltatorii front-end. Sau serverul poate continua să trimită valori HP "/ 100", iar clientul poate să le afișeze ca%. În acest caz, clientul ar putea fi chiar prostesc și îl poate afișa ca „/ 48” dacă dorește. Ideea mea este că modul în care afișăm informațiile este în întregime o întrebare despre ceea ce doresc oamenii să vadă, dar informațiile pe care le trimitem sunt puțin mai extinse.