Diablo iii уявлення значень шкоди

Diablo iii уявлення значень шкоди

Вам було цікаво, що це за нові помаранчеві цифри, що вилітають при нанесенні шкоди після патча 2.4? Запис Blizzard Entertainment розповідає про глибокі деталях за цим, на перший погляд, невеликим поліпшенням бойового інтерфейсу.







Офіційна цитата Blizzard (Джерело)

Ті, хто займається розробкою програмного забезпечення, - будь то продукти для бізнесу, розваг або ваші улюблені ігри - знають: у простих завдань далеко не завжди прості рішення. Практично будь-яка гра - складний механізм, що складається з багатьох тисяч взаємодіючих частин. Найменша зміна в будь-який з них може викликати непередбачувані результати і вимагати багатьох тижнів налагодження і відкатів до попередніх збірок. З боку здається, що все очевидно: «Чому просто не виправити те-то і те-то?» Але запитайте, наприклад, булочника: чому б не класти в тісто замість цукру, скажімо, якусь сукралозу? Відповідь в обох випадках буде один - тому що насправді все це зовсім не просто.

Отже, числа - як все це працює?

У Diablo III гравець постійно отримує безліч інформації. Значна частина цієї інформації представлена ​​числами. Ви їх бачите буквально на кожному кроці. Вони присутні в описі вашого спорядження, в характеристиках персонажа - цілі низки змінюють один одного цифр миготять над головою вашого героя, коли ви ведете бій. І за кожним числом стоїть ціла складна технологія, завдяки якій воно матиме такий самий вигляд, а не інакше.

В оновленні 2.4.0 з'явилося кілька нових можливостей, які повинні були вирішити цю задачу. По-перше, в настройках гри тепер можна вибрати режим відображення значень шкоди в скороченому форматі з використанням абревіатур. По-друге, тепер найвищі значення шкоди відображаються іншим кольором і відразу привертають до себе увагу. Кожне з цих нововведень в реалізації виявилося далеко не таким вже й простим: багато варіанти були не надто вдалими з точки зору ігрового дизайну; від нас було потрібно враховувати всі тонкощі, пов'язані з локалізацією, ну і, зрозуміло, підсумковий результат повинен був бути приємний для ока.

Спочатку ми хотіли виділяти кольором верхні 5% значень шкоди, завданої вашим героєм за останні кілька секунд. Однак цей підхід виявився не надто вдалим, оскільки існує маса варіантів розвитку всіх класів, і кожен з них має свою унікальну схему розподілу наноситься шкоди в часі. Одні спеціалізації видають високі значення шкоди за невеликі проміжки часу, інші підтримують більш-менш стабільний постійний шкоди. Крім того, цей початковий підхід не взяв до уваги можливі очікувані флуктуації шкоди. Наприклад, стовп сили на деякий час значно посилює наноситься героєм шкоди. Але після того як його дія закінчиться, гравець все одно повинен отримувати інформацію про те, що якийсь з його умінь завдало особливо високий шкоди - а при такому підході ці значення неминуче залишилися б «за кадром».

Ми постійно вдосконалювали наш алгоритм, в якому всі ці аспекти повинні були бути враховані, і в підсумку виробили наступний набір умов для відображення значень шкоди окремим (помаранчевим) кольором:

  • Значення шкоди повинні перевищувати 10000 одиниць.
  • Якщо значення шкоди, яка має бути відображена, перевищує попереднє «помаранчеве» значення, нове значення також набуде жовтогарячого кольору.
  • Найбільше значення шкоди в пам'яті системи щосекунди втрачає 3% від своєї величини.
    • Це зменшує ймовірність виникнення ситуації, коли ви протягом тривалого проміжку часу не бачите виділених високих значень шкоди.
  • Перші 10 високих значень шкоди скидаються.
    • Це дозволяє системі здійснити Автокалібровка.
  • Якщо протягом 10 секунд герой не завдав шкоди, система повертає все в початковий стан.

Де мої мільярди? - Складнощі перекладу

Якщо ви вже грали в Diablo III після виходу останнього оновлення, можливо, ви вже бачили абревіатури в значеннях шкоди. Багато гравців (переважно англоговорящая аудиторія) запитували нас, чому ми вимірюємо шкоди в мільйонах, але не використовуємо абревіатуру для мільярдів.

Для цього є кілька причин, але основна з них - тонкощі локалізації. Diablo III - це глобальний феномен; гра видається на 13 різних мовах, тому, коли ми приймаємо рішення в області дизайну, яке якось зачіпає написання будь-якого слова (а в даному випадку формат відображення чисел), ми повинні чітко уявляти собі, як це зміна буде виглядати у всіх версіях гри . І якщо ви думаєте, що немає нічого простішого, ніж переводити числа на інші мови, то ви глибоко помиляєтеся.

Diablo iii уявлення значень шкоди






Diablo iii уявлення значень шкоди

Зліва: відображення чисел в англійській версії гри. Справа: відображення чисел в корейської версії гри.

Ось приклад того, як «простий» на перший погляд переклад раптово виявляється зовсім не таким вже й простим. У деяких мовах, наприклад, французькою чи іспанською, не існує окремого загальновживаного терміна для «більйона». Для позначення цього числа замість окремого слова там зазвичай використовується конструкція, яка перекладається буквально як «тисяча мільйонів». З точки зору етимології це є результатом того, що в американському і британському англійською слово «більйон» поступово набуло значення «тисяча мільйонів», хоча слово це має французьке походження, і спочатку воно означало «мільйон мільйонів».

Все стає ще заплутаніше в корейському і китайською мовами, де великі числа групуються за іншим принципом. Наприклад, в англійській мові кожна наступна іменна одиниця числа включає в себе тисячу попередніх (тисяча, мільйон, мільярд і т.д.), тобто зміна іменування відбувається кожні три розряди десяткової системи числення. У корейській мові зміна іменування числа відбувається кожні чотири розряду. Тобто, простіше кажучи, в корейській мові числа групуються по десяткам тисяч, а не по тисячам.

Додаткові складнощі вносить і пунктуація. Не у всіх мовах в якості роздільників в числах використовуються коми. У Європі, наприклад, поширене використання в якості роздільників точок замість ком; в деяких мовах роздільники не використовуються взагалі.

Зліва: кількість золота в корейської версії гри. Справа: кількість золота у французькій версії гри.

Числа в Diablo III ставали все більш громіздкими, і ми вирішили ввести пунктуацію, але нам потрібен був спосіб, що дозволяв коректно використовувати пунктуацію у всіх локалізованих версіях гри. У нашому програмному коді використовується бібліотека ICU - International Components for Unicode. Це виключно корисний інструмент для локалізації програмного забезпечення. ICU має безліч застосувань, але в нашому конкретному випадку ми скористалися підтримуваної нею можливістю взяти будь-яке число і регіональні стандарти (наприклад, американська англійська, французька або корейську мови) і отримати на виході число, відформатований в повній відповідності з цими регіональними стандартами (включаючи знаки пунктуації ). Наш відділ локалізації також звіряється зі спеціальною таблицею, в якій зведена інформація про те, який формат відображення чисел прийнятий в кожному з регіонів та як повинен виглядати кінцевий результат.

Diablo iii уявлення значень шкоди

Приклад однієї з таких таблиць, де вказано, на якій стадії відбувається усічення відображуваного числа в кожній з мов.

У різних локалізаціях абревіатури використовуються в більшій чи меншій мірі; переважно це відбувається через культурних особливостей. Існує певна психологічна зв'язок між довжиною відображеного значення шкоди і ступенем задоволеності гравця, який бачить його; тут свою роль відіграють і вищезгадані культурні особливості, і індивідуальні особливості сприйняття. Так, наприклад, в англійській версії гри ми вирішили не скорочувати значення порядку декількох мільйонів, тому що число «1,000,000» виглядає набагато солідніше, ніж «1М». До речі, відмовившись від абревіатури для більйона (мільярди), ми, можна сказати, одним пострілом убили двох зайців, оскільки, знову ж таки, «1,000М» виглядає куди солідніше, ніж всього лише «1B». Зрозуміло, крім розміру відображаються чисел ми повинні були взяти до уваги і ряд інших чинників: візуальне уявлення, колір, рух - все це дуже важливо.

Спливаючі значення - шліфування візуальних ефектів

Для нас було дуже важливо зробити так, щоб гравець, який побачив якесь число, міг відразу зрозуміти, що за ним стоїть і що це означає стосовно поточну обстановку. В оновленні 2.4.0 ми збиралися надати гравцям ще більше інформації про бій. Виділення значень критичних ударів повинно було допомогти в цьому.

Тільки погляньте на цей шикарний крит!

Один із способів наочно уявити цю інформацію - просто використовувати інший колір. Однак ми обговорювали безліч різних варіантів відображення значень особливо потужних ударів. Може бути, взяти більший шрифт? Змінити траєкторію руху спливаючого значення? Задіяти ефект мерехтіння? Збільшити затримку перед зникненням числа з екрана? Або ж просто відображати ці числа іншим кольором? Як зрозуміти, який з цих варіантів є оптимальним?

У підсумку ми схилилися до використання альтернативного кольору, оскільки, як нам здалося, цей спосіб передачі нової інформації є простим і в той же час наочним. Помаранчеві цифри будуть виділятися на тлі інших; раніше гравці не бачили в грі нічого подібного, так що вони підсвідомо будуть звертати на них увагу.

Крім того, цей підхід враховує особливості сприйняття зорової інформації людьми з порушеннями колірного зору. На колірному колі помаранчевий колір розташований окремо від інших квітів, задіяних нами в даний момент для передачі інформації. Так що навіть гравці, які страждають порушеннями колірного зору, звернуть увагу на нові «великі числа»!

Коли мова заходить про зміну кольорів в нашому інтерфейсі, у наших художників є можливість «погратися» з трьома параметрами: тон, насиченість і світлин. Це координати так званого колірного простору HSL, загальноприйнятого цифрового уявлення колірного кола. Коли ми хочемо викликати у гравців певні емоції або отримати нову реакцію, домогтися цього можна, варіюючи відповідний параметр. Потрібно змінити настрій? За це відповідає тон. Якщо ми, наприклад, хочемо зробити якесь зображення менш соковитим, слід зменшити насиченість. Потрібно привернути увагу до якогось об'єкту або, навпаки, відсунути його на задній план? Це досягається маніпуляціями зі світлин.

Наприклад, кількість одержуваного вами лікування є дуже важливою інформацією. Лікування - це, по суті, ваше життя, і ми хотіли зробити цю інформацію максимально наочною. Саме тому для її передачі ми задіяли яскраві кольори. У випадку з критичними ударами ми вирішили використовувати той же підхід, тому багато експериментували з рівнями світлини для впевненості в тому, що гравці не пропустять момент нанесення пікового шкоди.

І, нарешті, все разом

Коли мова заходить про команду творців Diablo III, більшість гравців в першу чергу бачить розробників, що займаються балансом класів, винаходом нових предметів і реалізацією в грі нових цікавих можливостей. Саме ці аспекти гри знаходяться на увазі і мають найбільший вплив на ігровий процес. Однак Diablo III - це не тільки екіпірування вашого героя, і не тільки вміння в його арсеналі. Наші художники, інженери, локалізатори і інші фахівці проробляють величезну роботу над тим, щоб гра виглядала бездоганно для всіх наших гравців по всьому світу.

Сподіваємося, вам сподобався цей детальний огляд невеликого, на перший погляд, зміни, що насправді вимагало величезних зусиль з нашого боку! Але ми дуже раді можливості кожен день працювати над цією грою, щоб зробити її ідеальною навіть в таких дрібницях. Дякуємо вам за увагу!

Колись Близзард просто хотіла робити круті гри. А тепер ... Нам розповідають про Юнікод і кааак складно підписати циферку. Може і складно. Але якось сумно, що, мабуть, більш розповісти нема про що.