Информационный выпуск 5
Доброго вечера, пидоры.
Немного информации:
- Для тех, кто видит этот пост первым и не видел прошлые. Я занят созданием сервера Lineage 2 для реакторчан. Работы ведутся на своей версии эмулятора, написание которой велось в течении последних лет. Сервер будет ориентирован на аудиторию реактора, без внешней рекламы. Быть в курсе можно, подписавшись на тег CornShard. Если вы не хотите видеть эти посты в дальнейшем, просто заблокируйте тег. Если наоборот хотите получать все новости, то подпишитесь на него.
- Для тех кто в "теме". Хочу поделиться некоторыми новостями проекта.
Короче работы идут полным ходом. Я просыпаюсь примерно в 18-19 часов, и кодю примерно до 12-13 следующего дня. Немного провалился в дебри гео движка. Его полная переработка отняла довольно большой кусок времени. Явно больший, чем я хотел бы.
Новости собственно:
[Технические]:
1) Код обновлен до синтаксиса Java 16 и оптимизирован для работы с Eclipse OpenJ9.
2) Пересмотрена логика хранения геоданных в памяти. Ушел от объектов-блоков, в сырые байт-массивы. Из примерно 13.000.000 геоблоков(byte[]), только около 3.500.000 уникальны, остальные 9.500.000 их тем или иным образом дублируют. Поэтому, после загрузки геоданных в память, можно оптимизировать хранение данных в памяти весьма эффективно. Вместе с переходом на массивы, оптимизация уникальных геоблоков дала сокращение потребления оперативной памяти, примерно на 600 мб. + теперь GC OpenJ9 не сходит с ума). Со всеми описанными выше оптимизациями, сборка стабильна на на холостом ходу(в мире 1 игрок), потребляя около 1.85-1.9 гб ОЗУ.
3) Сетевой движок переведен на полностью асинхронную модель работы. Теперь игровые клиенты синхронизируются только с сервером, но не между собой. В теории, это должно помочь в критических ситуациях, при большом онлайне(Ахахахахахах) в одном месте.
[Геймплейные]:
1) Я наконец-то разобрал и реализовал итемы. Их работа на 90% корректна. Вкупе с небольшим реверсом формул, заработали такие прикольные вещи(которые между прочим, почти нигде на явах не работают xD), как "процентное распределение урона между мечами-дуалами", корректные углы атаки для пик, условия срабатывания встроенных скиллов и т.п. Итемы теперь также имееют дохерища параметров, каждый из которых задействован в формулах тем или иным образом.
2) Я полностью переписал логику работы всех петов, суммонов, витаминных петов, ездовых для корректной офлайк работы. Написано куча ИИ(зеленые на скрине). Все работает полностью корректно.
3) Наконец-то я закончил реализацию ВСЕХ низкоуровневых ИИ для мобов.
Т.е базовые ИИ ПТСа, которые отвечают за глобальную логику персонально каждого моба успешно адаптированы и работают.
Что это значит для конечного игрока? Мобы стали значительно умнее и ведут себя намного интереснее. Они убегают к за помощью к сокланам, выкрикивают правильные фразы, даже спойлят игроков)И таких примеров очень много...Список низкоуровневых ИИ, которые были успешно реализованы: https://pastebin.com/U540Gr2a
По срокам - есть понимание, что я чутка не успеваю. Прошу отнестись с пониманием) Дата релиза пока откладывается на неопределенный срок. Возможно, в ближайшие пару недель сделаю тестовый сервер, на котором можно будет какие-то вещи зайти, в живую пощупать. Нужно доделать базовые механики и наверное, можно будет что-то запускать.
В ближайших планах:
- Переписать полностью систему скилов. Это пиздец как много работы и я боюсь, что могу там завязнуть, но результат того стоит, это точно...
Всех целую в десны. Ваша КУКУРУЗА.
Отличный комментарий!