[2020-05-07] Имирхейм, ты где? (отчет о проделанной работе и планы на будущее)

“Жив? Мертв? Когда? Я ж уже ждесять жлет жду…”

Прошу прощения за столь долгое отсутствие каких-либо новостей. И да, я знаю, что я это уже не раз говорил, патент на эту фразу на рассмотрении.

Уже долгое время над проектом я работаю один. Все, кто раньше помогал, к сожалению, разбежались кто куда: у кого семья, дети, у кого работа, кто просто утратил интерес… У меня самого последние годы очень напряжно со свободным временем: переезд в другую страну, проблемы с работой и здоровьем, развод, переезд обратно… В общем, отмазки имеются. :slight_smile: Однако, Имирхейм я не забрасывал и как работал над ним, так и продолжаю.

Большинство изменений были выполнены по технической части (сервер, внутренности клиента, инфраструктура), что достаточно сложно продемонстрировать. К тому же, я опасался публиковать какие-нибудь несущественные новости и лишний раз провоцировать людей, которые ожидают что проект или уже помрет, или наконец зарелизится.

Основная часть игрового контента (особенно, графического) была отложена на потом, так как для нее часто требовалось сначала реализовать необходимые фичи в серверном/клиентском движке. К тому же, многие вещи я попросту не могу реализовать сам так как я совсем не дизайнер.

Я сейчас пытаюсь сотрудничать с одним художником-фрилансером для мелких графических правок и подыскиваю еще одного для более серьезных задач. Так что надеюсь в скором будущем ситуация с контентом изменится в лучшую сторону.

И так, что же было сделано за все это время?

Клиент

  • Исходники корейского клиента утекли в сеть. Хоть и неполные, и достаточно старые. Тем не менее, мне удалось их привести в порядок, собрать, и интегрировать в Имирхейм (ну или скорее наоборот, портировать все модификации Имирхейма, ранее реализованные кривыми скриптами, подменой DLL-ок и прочим шаманством). Из-за того, что клиент этот достаточно старый, пришлось так же самостоятельно реализовывать фиксы и фичи, которые были уже реализованы Гравитянами в более поздних версиях клиента (исходников которых, к сожалению, нет). Но благодаря этому, у нас теперь есть полный контроль над игрой. Мы можем реализовать практически любую фичу (в пределах возможностей движка и наших собственных сил и умений, конечно).
  • Исправлены несколько сотен багов оригинального клиента (без преувеличения!). Из самых примечательных: Исправлена работа игры на многоядерных системах; Персонаж больше не повисает в режиме боя навечно; Скиллы больше случайно не “залипают”; Клиент теперь спокойно запускается если путь к папке клиента содержит не-ANSI символы…
  • Реализована совместимость с Windows 10.
  • Найдены и исправлены многие проблемные места в системе рендеринга, благодаря чему теперь ФПС в среднем в 2.5 раза больше на максимальных настройках.
  • Добавлен FXAA и фильтр цветокоррекции (отключаемо в настройках если они придутся не по вкусу).
  • Увеличена дальность прорисовки и детализация мира. В частности, кусты и оградки теперь не исчезают в паре метров от персонажа, теперь у игрока есть полный контроль над дальностью и детализацией прорисовки в настройках игры.
  • Добавлена возможность запуска клиента в режиме borderless window, что как бонус дало “бесплатный” тройной буфер от оконного менеджера ОС; Улучшена поддержка экранов с большим разрешением.
  • Любителям старого “шестереночного” интерфейса скорее всего понравится возможность выбрать стилизованный под него скин интерфейса в настройках.
  • Реализовано множество кастомных геймплейных фич.
  • Реализована куча мелочей, которых очень не хватало раньше (например, окно карты теперь можно перемещать по всему экрану, настройки игры теперь доступны прямо на экране логина, предметы экипировки теперь могут иметь несколько зон покраски и многое-многое другое…).

Сервер

Наибольших изменений претерпел серверный движок, что и заняло наибольшую часть времени.

  • Мы перешли на новую платформу, .NET Core, которая оказалась на пару порядков (!) быстрее используемого ранее Mono в критических для нас местах (особенно сетевой стек). Помните какие лаги создавали Элльрята на альфа-тесте? Теперь нам такое не грозит. Правда пришлось очень многое выкинуть и переписать с нуля для того, чтобы осуществить этот переход. Например, вся коммуникация с базой данных была переписана на EntityFramework Core.
  • Реализована полноценная система каналов и инстансов. Мы теперь можем реализовать полностью изолированные от других игроков сессионные данжи, изолированные части локаций для всевозможных событий, а также разделение игроков внутри одного мира на несколько каналов (например, при повышенной нагрузке на сервера или для разделения многоязычного сообщества на отдельные каналы под каждый язык/регион).
  • Усовершенствовано взаимодействие персонажей и НПЦ друг с другом, что дало возможность реализовывать достаточно сложные системы ИИ и проще контролировать нагрузку на сервера.
  • Полностью переработана коммуникация компонентов сервера. Главное преимущество этого — мы теперь можем динамически добавлять сервера даже без остановки игрового мира. Если мы ощутим неожиданный всплеск активности, мы сможем с легкостью распределить нагрузку на дополнительные сервера (только бы еще финансовая сторона такое позволила, но это уже отдельный вопрос :smiley: )
  • Существенно улучшено управление запущенными компонентами сервера, слежение за работоспособностью сервера, автоматизированное расширение на дополнительные сервера.
  • Код сервера был разделен на три слоя: фреймворк для серверных приложений (не связанный ни с какой конкретной игрой); эмулятор серверной части RO2, совместимый с официальным клиентом игры; И система дополнений к нему, реализующих поддержку особенностей Имирхейма на серверной стороне. Это позволило лучше контролировать доступ к исходному коду и дополнительно защищает с легальной стороны. Например, исходный код фреймворка уже опубликован и поучаствовать в его развитии может любой желающий. Эмулятор сервера будет опубликован чуть позже (сначала нужно портировать несколько оставшихся фич из старой версии сервера и разобраться с несколькими проблемными для закона местами).
  • Ну и конечно же, реализовано уйма функционала, необходимого для геймплея Имирхейма.

Инфраструктура, веб, и прочие мелочи

  • Форум переехал на новый современный движок. При этом мне удалось сконвертировать все посты со всеми картинками со старого форума, так что ничего потеряно не было. Существующим пользователям достаточно только сбросить пароль и обновить аватарку.
  • Разработан новый патчер/лаунчер клиента. Старый был совсем не стабилен и не позволял никак его пофиксить или расширить. Так же, реализована новая, более стабильная и быстрая система патчинга (прирост в скорости сборки и применения патчей более чем в 10 раз).
  • Разработан полноценный инсталятор игры. Правда, ему для установки все равно придется “скармливать” официальный клиент, скачанный отдельно. Напомню, что наш проект работает как “мод” для оригинальной игры, сами мы распространять оригинальный клиент права не имеем.
  • Организован отдельный портал разработчиков со всем необходимым для разработки: таск трекер, репозитории кода, вики с необходимой информацией, автоматизированные тесты и сборки проектов… В общем, все для наименее болезненного ввода в команду новых людей и удобной коммуникации команды. Правда, работа по нему еще не завершена.

Контент

По причинам, описанным в начале этого поста, по части контента нового пока не так много, как хотелось бы:

  • Полностью переработана механика боя. От статов до каждого умения и предмета экипировки.
  • Реализована прокачка умений (не просто изучением книг) и модификации характеристик экипировки (подробнее позже).
  • В процессе разработки система крафта. Вполне возможно, что я ее успею закончить к запуску бета-теста.
  • В процессе разработки около сотни квестов. Правда большинство из них ожидают завершения необходимых фич на клиентской и серверной стороне.
  • Исправлены более тысячи багов локаций (правда еще примерно столько же предстоит найти и исправить).
  • Расширены и/или дополнены уже существующие локации игры, а также ведется разработка новых.

В качестве бонуса, частичка скриншотов и артов нашего контента, завершенного и не очень:

Нажмите чтобы развернуть

image image image image image

image

image

image image

image

image

image

image

image image

И что дальше?

Помимо всего вышеописанного, готовится много новшеств, которые будут анонсированы позже. Работа над проектом продолжается.

Я никогда раньше не называл никаких сроков релиза. Но теперь готов сообщить, что изо всех своих сил постараюсь подготовить проект к запуску бета-теста к октябрю (этого года, да). Правда не могу с полной уверенностью гарантировать что у меня это получится. Пожалуйста, не забывайте, что Имирхейм делает не Близзард. Я сейчас, по сути в одиночку пытаюсь довести до ума игру, которую даже у Гравити не хватило сил завершить.

В ближайшем будущем я постараюсь опубликовать несколько видео с демонстрацией геймплея.

На радость некоторых диванных разоблачителей афер я убрал с главной страницы кнопку приема пожертвований. Кто донатил ранее, не волнуйтесь, обещанное все-еще в силе.

Так же напоминаю, что если вы не хотите больше ждать, или ваши взгляды на проект изменились, я готов вернуть любой совершенный ранее перевод, просто свяжитесь со мной любым удобным для вас способом.

Если вы художник, 3D-дизайнер, аниматор, программист или дев-опс и хотите поучаствовать в разработке игры, свяжитесь со мной в личке на форуме или в социальных сетях. У нас найдутся задачи практически любого уровня и вам всегда предложат помощь и поделятся знаниями.

И как бонус, встречайте наш новый Дискорд сервер:

10 Likes

Nice

Нерис, ты прям волшебник)

1 Like

Привееет! Читаю новость 25 августа и для меня это супер свежая новость)) на сколько Имирхейм и все, что связано с проектом и Нерисом стало родным почти за 12 лет ожиданий.) (27 августа будем отмечать годовщину). Очень рад, Нерис - божина))

3 Likes

Он не волшебник, а только учится 8)

Hi there! I´m glad this is alive yet. If help is needed maybe could be a great idea to open this proyect on Github and start something like Hercules and rAthena did with RO.

I think right now some people out there are interested on RO2 but the fact that the usual clients are not working on WIN10 (only some code masters that recompiled that old leaked version could step over this problem) make them stop working on this.

But… anyway this is me thinking out loud and I hope to get more exciting news soon.

Best regards!

1 Like

Hi!
We’re definitely going to make our server engine open source, but a little later. There’s still some work required to make it public, and it’s not our top priority at the moment.

2 Likes