Привет всем!
В открывающем сообщении темы хочется рассказать, на какой стадии сейчас находится разработка проекта Melcosoft ArcheAge 1.2.5.
Открытый сейчас для общего доступа сервер Melcosoft работает с клиентом версии 1.2.4. Так как две версии игры тесно связаны между собой контентным содержанием, мы продолжаем аккумулировать отзывы о всех найденных багах, недочетах и несоответствиях, которые игроки открытого бета-теста отправляют в нашу
форму. За все время мы собрали более
320 тикетов.
Большое спасибо!
Переход с 1.2.4 на 1.2.5 в большей степени обоснован тем, что в новой версии XLGames ввела технологию шифрования трафика. Это обезопасит как сам сервер, так и всех игроков тем, что кратно уменьшит количество вероятных эксплоитов, связанных с внедрением в неткод клиента и TCP-трафик до сервера. Дополнительные защитные меры, ограничивающие доступ к памяти процесса, уже встроены в текущий разрабатываемый клиент, и в будущем с нашей стороны планируется защита от редактирования файлов игры.
Смена версии - это многогранный и многоступенчатый процесс, который занимает продолжительное время отладки, поиска критических ошибок и работы над ними. Ниже - текущий прогресс перехода.
Сервер
- Капитальный пересмотр работы неткода - смена уровней пакетов, шифрование трафика, изменение состава посылки и др.
Разработка сервера для 1.2.5 основана на текущих наработках от версии 1.2.4, в которой потребовались кардинальные изменения работы пакетов. Изменения затронули более 300 файлов. На данный момент - работа с пакетами завершена, идет процесс отладки и поиска инцидентов.
- Изменения в работе внутренних сервисов - внутриигровой почты (личных и коммерческих писем), чата, систем управления NPC и интеллектом и др.
В процессе перехода столкнулись с необходимостью в изменении внутренней логики сервера, которая была справедлива для 1.2.4, но требует доработки либо коррекции при использовании с 1.2.5. В частности, изменение части пакетов требует формирования новых полей либо изменения старых. На данный момент - ведется разработка, есть критические инциденты.
- Работа с кодовым репозиторием
Обновили версии фреймворка и зависимостей до стабильных версий и прошлись по проекту линтером.
Запланировали переход на новую инфраструктуру, которая обеспечит постоянную и стабильную работу сервера с удобством обновления в будущем.
- Обработка информации с ОБТ и других явных ошибок
Большинство багов и недочетов, о которых говорят участники ОБТ 1.2.4, переехали в текущую версию сервера, и нам потребуется время, чтобы обработать ваши отзывы. В текущий момент фокус разработки - это предоставить игрокам возможность попробовать версию 1.2.5 в рамках следующего этапа ОБТ как можно скорее, поэтому работа над некритичными ошибками - расположение NPC, некорректные награды, неработающие квесты, инстансы и порталы - заморожена.
Клиент
- Сборка и игровая база данных
Некоторые инциденты, которые возникли при смене версии, потребовали изменений в сборке клиента и встроенной базе данных, в которой содержится статическая информация о логике игры. На данный момент - сборка находится в режиме разработчика, что позволяет быстрее находить и исправлять проблемы. Клиентская версия сборки пока не тестировалась - об этом позже.
Интерфейсная часть клиента 1.2.5, над которым ведется работа, не подразумевала наличия русского языка. На данный момент - ведется работа над редактированием интерфейсных ассетов для двух языков - английского и русского.
Самая больная часть клиента, зачастую нарушающая его работу без отчетов для разработчика, в связи с чем работать приходится вслепую. Часть скриптов, связанных с отрисовкой интерфейса для разных локализаций, была отредактирована либо написана с нуля. На данный момент - отловено и исправлено более 50 скриптовых ошибок, которые возникали во множестве клиентов ArcheAge версий 1.2.х, а основная работа ведется над критической ошибкой - о ней позже.
Клиент игры часто жалуется на недостаток контента - ассетов, текстур, мешей, мап, партиклей и моделей. Ведется работа над исправлением подобных ошибок, которые можно исправить, используя имеющийся контент 1.2.х, который находится в неожиданном для кода игры месте, но, как показал опыт, зачастую подобные ошибки нивелируются внутренними обработчиками и встречались даже в продакшне Мейла и других дистрибьюторов.
Теперь хочется прояснить - на что же уходит такое большое количество времени?
Большинство критических ошибок, над которыми сейчас ведется работа, имеют неопределенное происхождение, о котором тяжело судить, не имея на руках исходников клиента игры. Один из самых важных недавних багов - неработающая внутриигровая почта - отнял больше месяца на поиск и устранение проблемы. При поиске проблем мы исходим по большей части из внутреннего игрового опыта нашей команды, и мы уже исправили несколько блокирующих ошибок, которые возникали в процессе игры.
В данный момент мы столкнулись с ошибкой NPC - клиент закрывает подключение к серверу при проигрывании определенных анимаций. Происхождение этой ошибки неизвестно (сервер ведет себя как ожидается, пакеты корректны; клиент не сообщает о возникшей проблеме в лог, не отправляет никаких данных на сервер), но некоторые из NPC - ключевые, поэтому эту ошибку важно исправить в первую очередь. Масла в огонь подливает тот факт, что эта ошибка плавающая, и 1 из 10 входов на сервер не сопроводится никакими ошибками и отключениями клиента. Эта проблема отняла уже более месяца и ее корень до сих пор не обнаружен, но есть возможные способы исправления, которые не повлияют на игровой опыт.
В завершении постараемся дать ответ на всех давно интересующий вопрос - когда ждать?
Следующим шагом для проекта Melcosoft ArcheAge будет выпуск клиента и сервера 1.2.5 в открытый бета-тест. Пока что, как выходит из объяснения выше, есть блокирующие моменты, которые необходимо исправить перед тем, как новая версия выйдет в свет:
- Баг с дисконнектом клиента - иногда этот баг ломает персонажа и требует создания нового
- Исправления ассетов - приведение русской части интерфейса в порядок
- Полный цикл внутреннего тестирования русской и английской версии клиента - исключение возникновения критических багов, которые потребуют полного обновления клиента для участников ОБТ
- Перенос продакшн-сервера на новую, более мощную и безопасную инфраструктуру
- Добавление и исправление критичного для игрового опыта функционала
Надеюсь, этим постом удалось прояснить то, чем мы занимаемся в текущий момент и чем планируем заняться в будущем. К сожалению, пока невозможно прогнозировать сроки в свете возникающих критических проблем, и все, что я могу сказать - работа ведется, и с каждым днем мы все ближе к заветной цели.
В следующих постах в этой теме мы будем публиковать новости разработки, рассказывать о интересных моментах и общем прогрессе.
Спасибо всем, кто следит за разработкой проекта и тем, кто помогал и помогает в разработке.
Увидимся на Melcosoft!