Информационный выпуск 7. Промежуточный.
Доброй ночи, пидоры.
Как обычно немного вступительной части.
- Для тех, кто видит этот пост первым и не видел прошлые. Я занят созданием сервера Lineage 2 для реакторчан. Работы ведутся на своей версии эмулятора, написание которой велось в течении последних лет. Сервер будет ориентирован на аудиторию реактора, без внешней рекламы. Быть в курсе можно, подписавшись на тег CornShard. Если вы не хотите видеть эти посты в дальнейшем, просто заблокируйте тег. Если наоборот хотите получать все новости, то подпишитесь на него.
- Для тех кто в "теме". Хочу поделиться некоторыми новостями проекта:Так уж вышло, что примерно неделю после окончания теста, я пил пиво, смотрел аниме, дрочил и делал все что угодно, кроме того, что было нужно. Вообщем прокрастинация меня поимела капитально. Поэтому прошу учитывать это, когда вы будете меня хуесосить, после прочтения инфы ниже.Все остальное время между окончанием теста и написанием этого поста я пилю скилы.Серьезно. Вы наверное скажите, Кукуруза, да ты ахуел? Сколько можно пилить скилы? Когда следующий тест?Я вам вот че скажу. Я подозревал, что ахуею пилить движок скиллов. Более того, я был УВЕРЕН, что ахуею пилить скилы. Так вот я ахуеваю уже неделю от того, что я УЖЕ сделал и от того, что мне ЕЩЕ нужно сделать.Немного теории(Я для удобства буду использовать термин Skill Engine для обозначения движка скиллов в дальнейшем тексте):Короче картинкО. Как видно на этой упрощенной схеме, Skill Engine проходит буквально через каждый игровой аспект.
Будь то параметры мобов, персонажей, оружия, поведения мобов, эффекты зон, распаковка коробок, работа сосок, свитков зачарования, камней атт... Все это и еще очень многое работает через Skill Engine.В подавляющем большинстве JAVA-эмуляторов, которые сейчас используется, стоит морально и физически устаревшая архитектура, которая наследуется еще от дедушки L2jServer.
В ней, в отличии от оригинального сервера, для расчета параметров используются крайне упрощенные формулы, которые учитывают в лучшем случае только базовые параметры скиллов.
1) Что я хочу сделать?
Перепроектировать архитектуру Skill Engine, и сделать ее более точной, относительно оригинального сервера.
2) Что для этого нужно?
- Отключить старый движок скиллов, который использовался во время предыдущего теста.
- Научить сервер использовать в качестве вводных, новые расширенные данные по скилам.
- Полностью написать с нуля около 350 эффектов для скиллов(основная сложность в том, что эффекты никак не документированы и многие из них имеют неочевидную механику работы.)
- Переписать старые и написать новые формулы, которые будут использовать новые данные для расчета базовых параметров.
- Собрать это все воедино и подключить вместо старого движка.
3) Что в данный момент уже сделано?
- Старый движок успешно отключен и вырезан из сервера.
- Сервер успешно считывает новые, расширенные данные по скилам.
- Сервер успешно создает скиллы как объекты, используя большую часть новых данных.
- Адаптировано примерно половина старых формул для работы с новыми данными.
- Созданы и предварительно структурированы классы-заготовки для всех 350 эффектов.
4) Что осталось?
Из глобального
- Переписать алгоритмы выборки целей для эффектов скилла.
- Переписать вторую половину формул для работы с новыми данными.
- Документировать и реализовать эффекты скиллов.
+ переписывание Skill Engine потянет за собой еще движок аугментации и рыбалки, но там объем работы на порядок меньше.
Вообщем подводя итог написанному выше. Пилить это в один еблет оказалось сильно дольше, чем я рассчитывал.. Прошу прощения у всех ждунов, но скиллы нужно доделать... По предварительным оценкам, на это у меня уйдет примерно полторы-две недели... После этого скорее всего я запущу вторую стадию теста, на которой будем тестить целенаправленно результаты переделки Skill Engine.