Проектираме Ancient Online: Remastered като един-единствен свят, в който ще се срещат играчите на Windows, Linux, macOS, Android и iOS. На хартия звучи просто: една игра, пет платформи. На практика пренасянето на класическа MMORPG, замислена за игра с кликвания на мишката, към телефони и контролери означава поредица от трудни решения. В тази част от дневника на разработката споделяме тези решения и причините за тях.
Играта е в процес на разработка. В момента билдът в разработка се тества на устройства с Windows и Android; macOS, Linux и iOS са останалите платформи, към които се целим.
Правило 1: един свят, един набор от правила
За мобилните играчи няма отделен сървър и няма „опростен“ баланс. Тъй като всички правила на играта работят на сървъра, играете в същия свят и по същите правила, от каквото и устройство да се свързвате. Акаунтът, героят, инвентарът и гилдията ви не зависят от устройството. Сървърната страна разгледахме в първата част на дневника на разработката.
За клиента това правило означава, че различните платформи могат да предлагат различно управление, но не и различни възможности.
Сензорни екрани: преосмисляне вместо смаляване
Да смалите класическия MMORPG интерфейс такъв, какъвто е, и да го сложите на телефон, не работи; бутоните стават твърде малки за пръст, а екранът – претъпкан. Затова проектирахме отделен слой на интерфейса за мобилни устройства:
- Плаващ джойстик: Където и да сложите пръст в лявата половина на екрана, джойстикът идва при него; играчът не трябва да уцелва определено място на екрана.
- Бутон за атака със задържане и дъга с умения около него.
- Избор на цел с докосване: Сензорният еквивалент на навика от компютъра „кликни върху чудовището“.
Има и нещо, което нарочно не направихме: движение с докосване. Джойстикът отговаря за движението. С две системи за движение всяко докосване, пропуснало целта, би се превърнало в неволно тичане, а насред бой това е недопустимо.
Още едно малко, но важно решение: на телефон едновременно се виждат само няколко слота, затова страниците с умения се сменят много по-често, отколкото на компютър. Направихме слотовете за отвари независими от страниците; когато смените страницата, отварите ви остават на мястото си. За това не стигаше да преместим една клетка в интерфейса: трябваше изцяло да отделим кода, който използва слотовете за отвари, от логиката на страниците.
Камера и мултитъч
На телефон камерата се върти, когато плъзнете пръст по празна област. Да го направим, като сложим върху интерфейса „зона за камера“ на цял екран, изглеждаше изкушаващо, но такъв слой би поглъщал докосванията, предназначени за всеки бутон под него. Като обработваме плъзгането за камерата в контролера на играча, а не в слоя на интерфейса, предотвратихме конфликтите между бутоните и камерата. Освен това различаваме избора на цел от плъзгането за камерата по малък праг на движение: докато прагът не е преминат, камерата не помръдва, а щом бъде преминат, тя започва да се върти без рязък скок.
Контролери: придвижване и в менютата
Проектирахме поддръжката на контролер за целия интерфейс, не само за боя. За да може с контролер да се обикаля из инвентара и менютата, добавихме навигация на фокуса с D-pad. И тук имаше капан: D-pad и бутоните за потвърждение и връщане са нужни както за навигация в менютата, така и за слотовете за бърз достъп. Решението: докато е отворен прозорец, тези бутони управляват менюто, а когато е затворен, се връщат към слотовете за бърз достъп. Тихо хлъзване в „режим меню“ насред бой би било най-лошият бъг, който тази система може да има.
Играта помни кое входно устройство сте използвали последно: когато преминете на контролер, сензорните бутони се скриват от екрана.
Настройките също следват платформата
Прозорецът с настройки придобива формата си според устройството: разделите за мишка и клавиатура се показват само на компютър, а сензорният раздел – само на телефони. Графичните опции само за компютър, като Lumen, DLSS и FSR, на мобилни устройства отстъпват място на опциите за резолюция и изглаждане на ръбовете. На всяко устройство показваме само настройките, които наистина вършат нещо там.
30 езика и интерфейс, измерен за всеки език
Играта и уебсайтовете ни са насочени към 30 езика. Скритата трудност на многоезичния интерфейс е дължината на текста: един и същ надпис на бутон може да е кратък на един език и двойно по-дълъг на друг. Изчисляваме ширината на разделите в прозореца с настройки по действителната ширина на всеки надпис на съответния език, вместо да им даваме равни дялове; когато езикът се смени, подредбата се преизчислява. В избора на език всеки език е изписан със собственото си име.
Превод на чата на собствените ни сървъри
За да се разбират играчите от различни държави в един и същ свят, съобщенията в чата се превеждат на езика на читателя. При изграждането на тази система имахме два принципа:
- Съобщенията не напускат сървърите ни. Преводът се прави на собствените ни сървъри от локален модел, който работи само на процесор; не се използва външен API за превод.
- Запазване на езика на играта. Чатът в MMORPG е пълен със съкращения, игрови термини и емоджита. Използваме речник, съставен специално за играта, и пазим емоджитата отделно, за да не се губят при превода.
Какво следва
Работата по производителността на мобилни устройства и по останалите платформи, към които се целим, продължава. За пълния списък с контроли от гледна точка на играча вижте ръководството за кросплатформена игра на PC и мобилни устройства в сайта на играта. За да опознаете студиото ни, прочетете „Кои са Astronaut Entertainment?“.


