Анімація HP Bar та їх вплив на точність HP

камінь Девіда

Швидкий рух, розумний, сексуальний і тривожний.

В минулому було кілька дискусій щодо точності HP. Щоб коротко підсумувати ці теми, у старих ігор Pokemon (не впевнених, що відбувається в 6, 7 та 8) є панель HP шириною 48 пікселів. Кількість пікселів у цій панелі - це єдина інформація, яку ви отримуєте про те, скільки HP має покемон і скільки HP змінилося.

вплив

Кілька днів тому я грав у Pokemon Crystal, і це нагадало мені те, про що я забув щодо анімації барів HP - чим більше HP у покемонів, тим більше часу потрібно, щоб оживити їх втрату цієї HP. Це має місце у поколіннях 2, 3 та 4. Це, здається, не відбувається в поколіннях 1, 5, 6, 7 або 8. Якщо у покемонів 48 або менше HP, він анімує на піксель (і, отже, ви не можете повідомте будь-яку інформацію, яка перевищує 48-у). Якщо у покемона 49 або більше HP, він анімує на кожну втрачену точку HP зі швидкістю приблизно 5 мс на HP. Це означає, що втрата 100 HP займе 5,02 секунди, а втрата 101 HP - 5,07 секунди.

Люди, напевно, не можуть визначити це число до точної точності HP у більшості випадків, але, можливо, можуть розрізнити 100 HP проти 105 HP, наприклад. Точний момент, коли він стає помітним, залежить від людини і того, як вона почувається в той момент часу. Загалом, однак, людина також може спрямувати камеру на свій екран, яка покаже їм, скільки точно було втрачено HP. Крім того, якби я переніс Технічну машину в реальний світ, це зробило б саме це.

Це означає, що, принаймні теоретично, гравець може точно визначити, скільки HP покемон втратив або отримав за будь-якого покемона високого рівня. Їм також повідомляється, в якому саме значенні HP значення бар змінюється на 47, 46 тощо з 48 (оскільки бар HP є анімованим). Я підозрюю, це означає, що будь-який покемон, який втратив щонайменше 4-8% або близько того, може визначити точний максимум HP. Це може дати інформацію, наприклад, чи має Raikou приховану траву, приховану потужність води або приховану потужність льоду/відсутність прихованої енергії в 2-му поколінні, оскільки вони змінюють свій HP DV на досить велику кількість.

Зазвичай я просто публікую це як звичайний звіт про помилку, але, враховуючи історію проблеми, я вирішив, що повинен розмістити його тут.

Зверніть увагу, що Pokemon Showdown в даний час надсилає всі значення HP як значення зі 100 для опонента Pokemon для цих старших поколінь (принаймні для більшості форматів? Деякі з старих потоків стверджують, що існують інші формати, які надають вам "/ 48" HP).

Беручи до уваги історію обговорення цього питання, я вважав, що мені слід зробити ще один важливий момент. Є два компоненти для точності HP. Перший компонент - це проблема політики: яку інформацію повинен надсилати сервер клієнту? Другий компонент - це проблема користувальницького інтерфейсу: як клієнт повинен відображати цю інформацію користувачеві?

Клієнт може вирішити робити все, що хоче, і ми не можемо прийняти жодного політичного рішення, яке вплине на це. Якщо ми вирішимо надіслати точні зміни HP та всі значення, які відповідають новому значенню "/ 48", клієнт може ігнорувати всю цю інформацію і все одно повідомляти HP% (лише про те, що певні значення% ніколи не повідомлятимуться). Я, як автор іншого клієнта, можу вибрати використовувати цю інформацію по-іншому, оскільки "мої користувачі" можуть мати цілі, що не збігаються зі значеннями за замовчуванням для клієнта за замовчуванням. Клієнт також може мати параметр, який за замовчуванням відображає% (як розраховується з базової доступної інформації), але користувачі можуть змінити його, щоб надати їм більше інформації, яка відображається зручним для користувача способом, як це визначають розробники інтерфейсу. Або сервер може продовжувати надсилати значення "/ 100" HP, і клієнт може відображати це як%. У такому випадку клієнт може навіть бути дуже дурним і відобразити його як "/ 48", якщо хоче. Я хочу сказати, що спосіб відображення інформації - це цілком питання того, що люди хочуть бачити, але інформація, яку ми надсилаємо, є трохи більш далекосяжною.