Трябва да знаете, че при разработката на софтуер простите проблеми не винаги имат прости решения, без значение дали се отнася за бизнес, забавление или за любима компания за видео игри. Накратко: разработката на игри е сложна. Има хиляди движещи се части, където най-малката намеса може да предизвика седмици проследяване и връщане назад. От страни може да изглежда лесно да зададем въпроса: "Защо просто не се оправи?" Но това е все едно да питат пекар, защо те не може просто да замени захарта със сукралоза (термоустойчив, силен подсладител*). Отговорът е сходен във всички сфери: "Не е толкова просто."
Как работят числата?
В Diablo III има много информация, хвърлена пред играча. Нека поговорим за числата. Можете да ги видите навсякъде! Те са по екипировката, те са в профила на героя, те плават около главата на вашия нефилим, когато сте в битка. Зад всяка цифра стои огромно количество технология, която ги кара да се държат по начина, по който го правят.
Получихме много обратна връзка от играчите, че числата при бой стават непоносими или трудни за разбиране в стил на игра момент-към-момент. Преди време големите числа бяха вълнуващи, когато ги видите, защото се открояваха над останалите. Как да върнем тази емоция, без да караме играчите да чувстват, че са загубили от силата си?
Пач 2.4 въведе няколко нови функции, за да се справи с това. Първо: представихме нова възможност за съкращаване на числата, показвайки абревиатури. Второ: добавихме изцяло нова функционалност, подчертаваща* някои от най-големите числа с щета в нов цвят. Тези допълнения донесоха със себе си предизвикателства, докато се опитвахме да ги въведем, някои бяха свързани с проектирането, други създадоха проблеми с локализацията, и в края на всички тези решения, резултатът трябваше да изглежда добре.
Първоначално имахме идея да подчертаем най-големите 5% от числата, които генерирате в последните няколко секунди. Първият проблем с този подход беше, че всеки билд е различен, особено когато опира до това как се нанася щета. Някои нанасят постоянни малки поражения с течение на времето, докато други заливат екрана с поток от информация. В първата ни версия друг проблем беше, че не се отчитат колебанията в щетите. Например при Power Pylon, когато временно получавате увеличена щета. След като ефектът му приключи, вие пак ще искате да знаете кога нанасяте щети, които са от значение.
Разработихме нашия алгоритъм, отразяващ щетата в течение на времето, така че да взима предвид и тези екстремни стойности, и указващ правилата кога числата ще се появяват в оранжево:
- Числото да бъде над 10 000
- Ако числото, което ще бъде показано, е по-голямо от предходното, показано в оранжево, то новото ще се покаже в оранжево
- Спад на най-голямата стойността с 3% всяка секунда
- Това намалява вероятността, че ще мине твърде дълго време без да видите подчертано число
- Игнорират се първите 10 големия числа
- Това позволява на системата да се калибрира
- Ако не са били нанесени щети в продължение на 10 секунди, системата се рестартира
Ако сте играли последния пач, вероятно вече сте видели новите съкращения в числата за щети. Получихме много въпроси, най-вече от нашата англоезични публика, защо не измерваме в милиони, пропускайки милиардите.
Има няколко причини, но една от най-важните е локализацията. Diablo III е глобална игра, поддържаща 13 различни езика, така че при взимането на решение по дизайна, което се отразява на писаното слово (или в случая - числата), трябва да сме наясно как промяната ще отрази във всяка версия на играта. Може би си мислите, че числата са най-лесното нещо за превод, но това далеч не е така.
числа на английски
числа на корейски
Ето пример, когато нещо, което може да изглежда като обикновен превод, може да се обърка. Някои езици като испански или френски не се използват обикновено термина "милиард". Вместо това те се отнасят към тази сума както нещо, което буквално означава "хиляда милиона", вместо като отделна дума. От гледна точка на етимологията, това е резултат от двета варианта на английски - американски и британски, при които думата "милиард" означава "хиляда милиона", а не "един милион милиона", както първоначално е било.
Става още по-сложно, когато погледнете към езици като корейски или китайски, където големите числа са групирани в друг мащаб. Например на английски номенклатурата за редица числа се променя с всяко трето място, като хиляди, милиони, милиарди и т.н. В корейския обаче, конвенцията за именуване е на всеки четвърти знак, като се използва метод, наречен "myriad squared". Така е, защото в Корея числата са групирани на десет хиляди, вместо на хиляди.
Този проблем се усложнява и от използването на пунктуация. Не всеки език използва запетаи за разделяне на числа. Някои използват точка, което е често срещано в Европа, а други не използвате каквато и да е пунктуация.
корейски
френски
Когато числата в Diablo III нараснаха, решихме да добавим цифрова пунктуация, като имахме нужда от елегантен начин за "превод" къде и кога тази пунктуация ще се появи в различните региони. Нашият код използва библиотеката ICU - International Components for Unicode, която предлага голямо количество поддръжка за подобно нещо. ICU може да се използва за редица неща, но за това конкретно се възползвахме от способността да приема число и регион за вход (като американски английски, френски или корейски) и да върне едно правилно форматирано число за съответния регион, съдържащо необходимите точки и запетаи. Нашият специализиран екип също така поддържа таблица, която показва кои числата за всеки регион са избрани за публикуване като резултат.
За някои региони повече или по-малко са избрани съкращения, най-вече заради местни предпочитания. Има истинска психология зад удовлетворението на играч и действителната дължина на цифрите, които вижда, като предпочитанията варират според личност и култура. Например, на английски избрахме да не съкращаваме ниските милиони, защото виждайки "1 000 000" носи много по-голямо удоволствие, отколкото "1М". Пропускайки милиардите също помогна за това, защото "1000М" разказва много по-вълнуваща история от "1B." Разбира се, дължината на числото не е единственото съображение. Визуализация, цветове и движение - всички те също играят ключова роля.
Създаването на числа, които изпъкват - тънкости при визуализацията
Важно е да сме сигурни, че когато играч види число, може бързо да разбере какво се крие зад него и какво означава точно то. В Пач 2.4 целяхме да поднесем още повече информация по време на битка. И точно тук идва мястото на тези изпъкващи числа на критовете.
Само промяна на цвета е един от многото начини, по които можехме да представим информацията. Зададохме си много въпроси за това как е най-добре да представим тези големи удари. Да направим ли тези числа по-големи? Дали да изминават различен път? Дали да мигат? Дали да остават на екрана по-дълго? Или само да им дадем различен цвят? Как да преценим кой от тези варианти е правилният?
Насочихме се към цвета, защото можем да представим тази нова информация на играчите по драстично различен начин, който преодоля опасенията за достъпност на потребителя. Оранжевите числа изпъкват - те не са нещо, което сте виждали преди, така че подсъзнателно им обръщате голямо внимание.
Оранжевият цвят също се различава по-лесно и от далтонисти. Когато гледате към колелото цветове, оранжевото е в различен свят от останалите, които ползваме за поднасяне на информация. Така играчите-далтонисти също могат да забележат нещо ново!
Когато гледаме към промяна по цветовете в нашия интерфейс, художниците ни дават три възможности за избор: Оттенък, Наситеност, Яркост. Тази част се нарича HSL цветово пространство (Hue, Saturation, Lightness) - обща цифрова стандартизация за колелото цветове. Всеки аспект е от ключово значение при регулиране на различна емоция или пораждане на нов отговор от страна на играча. Искаме ли да променим настроението? Тогава коригира оттенъка. Ако искаме да превърнем изображение в по-плоско, тогава наситеността е ключът. А за привличане на вниманието, осветеността е важна.
Например, ако най-важната информация в играта е колко лекуване получавате. То буквално е жизнената сила и искаме да бъде много забележима. Ето защо тази информация е по-ярко изразена в играта. Искахме критичните удари също да бъдат изключително видими, затова си поиграхме много с нивата на осветеност, за да се уверим, че винаги ще знаете, когато се появи следващия голяма удар нанесена щета.
Всичко на едно място
Когато говорим за екипа на Diablo III, е лесно да мислим, че нашите разработчици настройват начина на работа на клас или предмет, или предоставят нови функции. Въпреки това, много повече неща се случват отвъд това как вашия герой е облечен или се държи, а нашите художници, инженери, експерти, хора по локализирането и други ни осигуряват всичко за безпроблемно игра по целия свят.
Надяваме се, че се насладихте на този по-задълбочен поглед зад кулисите на една новост под капака, която е измамно огромна! Привилегия е да идваме всеки ден и да работим по тази игра, дори когато е за малки детайли.
Благодарим за прочита!
Източник: Battle.net
* Бележки на преводача:
- Сукралоза
- highlight - подчертавам, изпъквам
- Имена на числата