Disciples III: El Clasico - не вошедшее в мод и дальнейшие перспективы
Иногда в новостях всплывают статьи о не вошедшем в релиз контенте, в то время как задумки, черновики, наброски оседают в архивах игровых студий и ещё реже видят свет. А ведь это всегда интересно - увидеть путь и размах работы авторов игрового произведения.
El Clasico мод не стал здесь исключением: версия 1.6.0 активно готовилась, но так и не увидела свет, а в черновиках осталось ещё много набросков, которые по разным причинам так и не стали полноценными фичами мода.
Привет, Пикабу! Я - автор El Clasico мода игры Disciples III и на текущий момент приостановил работы над ним переключившись на другие активности и проекты, хотя осталось желание поделиться результатами труда, хоть и не в виде рабочего мода.
И начну, пожалуй, с отменённой версии 1.6.0, над которой я провёл много десятков часов.
Фича 1: Навыки использования артефактов
Ни для кого не секрет - в оригинальной игре сильно хромает баланс, и ситуация становилась ещё хуже с ростом уровня юнитов. В El Clasico моде я попытался исправить это и выровнять баланс. За основу были взяты статы юнитов из второй части, а затем адаптированы под нужды мода и особенности тройки. Баланс стал приемлемым для меня и впервые за многие годы я начал получать хоть какое-то удовольствие от игрового процесса, но поиграв в мод, пришло осознание: осталась ещё одна вещь
сильный дисбаланс - артефакты лидера.
Даже начального уровня лидера можно очень сильно прокачать, если полностью экипировать его. И это даже не смотря на то, что я подкрутил всем артефактам параметры, значительно занизив их по сравнению с оригиналом. И ситуацию усугубляет ещё тот факт, что игра щедро раздаёт их налево и направо: начиная от подземелий и заканчивая магазинами, один из который доступен в столице с самого первого хода игры.
Решение нашлось достаточно быстро: перенять идею из второй части, более того мне попадался пример реализации похожей фичи в одном моде для тройки. (К сожалению, мод не сохранился, а сейчас я уже не вспомню его названия, чтобы высказать благодарность автору)
Я взялся за работу и вот, что получилось:









Навыки использования артефактов в Disciples III: El Clasico мод
Результат меня очень порадовал: лидер всё ещё оставался важной фигурой на поле боя, способной переломить его ход, но перестал быть титаном, способным раскидывать соперников налево и направо. А также неожиданно, решилась ещё и другая проблема: прямолинейная прокачка навыков. С добавлением новых путь развития героя стал уже не таким прямолинейным как раньше и приходилось гораздо чаще взвешивать "за" и "против" при выборе направления развития персонажа.
И всё было классно, если бы не одно но...
Это произошло, когда я загрузил сохранённую игру. К моему удивлению, надетые на лидера предметы валялись в его инвентаре. Странно, - подумал я. Невелика беда и снова накидал на него предметы, секунда делов-то. Поиграл с полчасика, сохранился и закрыл игрушку. В следующий раз история повторилась, надетые на лидера предметы снова лежали в инвентаре и мне снова пришлось экипировать его. Я сохранился, а затем снова загрузил игру. Ах, вот оно что! Оказалось, при загрузке предметы скидываются в инвентарь! Наверное, где-то накосячил, - подумал я и полез в логи игры. Ошибок - нет. Затем я всё перепроверил - всё настроено корректно и прекрасно работало до тех пор как сохранённая игра не будет вновь загружена. Но я кое-что заметил: скидываются не все предметы, всегда один оставался на месте - меч. Дальнейшие исследования привели меня к занимательному факту:
если у лидера навык
приобретаемый (за получение уровня) - предметы скидываются,
изначальный (активен с первого уровня) - то нет.
Как это побороть я так и не нашёл, но постоянно закидывать предметы на лидера надоедает уже через пару загрузок. Такое точно нельзя добавлять в мод.
Фича 2: Сферы
Если поковыряться в ресурсах игры, то можно обнаружить много чего интересного. Например, можно увидеть заготовки для Горных кланов или сферы, которые официально так и не вошли в третью часть игры.
Я решил восстановить контент со сферами и у меня получилось:
Но есть одна загвоздка: добавление сфер привело к тому, что мод стал одноязычным (из-за добавлений описаний, которых, увы, я не нашёл в оригинальных ресурсах).
А многоязычность - это одно из основных требований, которое я сразу определил для мода, поэтому старательно избегал каких-либо фич, которые противоречили этой установке.
Но сферы мне понравились и я решил разобраться с проблемой одноязычности мода.
Оказалось, что при выборе языка в игре всё время качается файл russian.vdpack, но внутри находятся те языковые ресурсы, которые ты выбрал в настройках. Другими словами, выбирая английский язык, внутри russian.vdpack будет английский текст, озвучка и т.п. А если выбрать русский язык, то russian.vdpack снова скачается, только внутри уже будет русский текст, озвучка и т.п.
А можно ли сразу два языка? - задался я вопросом. И после поисков, экспериментов мне удалось научиться делать мод многоязычным, но цена оказалась в буквальном смысле очень тяжёлой - пришлось тащить в мод все языковые ресурсы, а для одного языка - это порядка 2 ГБ. Русский и английский - это уже 4 ГБ... в общем, такое себе удовольствие грузить и качать такой мод... поэтому я отказался от включения сфер в 1.6.0
Фича 3: Адаптация 3D моделей боевых сцен
Следующее, что мне очень хотелось включить в 1.6.0 - это исправленные модели боевых сцен:
dungeon1 (сцена, где люстра валяется посередине)
town3 (сцена, где яма посередине)
Это единственные боевые сцены, где нельзя поставить юнитов в стиле Disciples II, поэтому ещё до появление версии 1.0.0 я предпринимал много попыток исправить их, в ходе которых была проделана большая работа, не только мной, но и разработчиком Dis3tool, за что ему отдельный поклон и большое спасибо.
Изначально были проблемы с экспортом моделем, в версии Dis3tool 1.0 они просто не работали, затем после фикса экспорт заработал, но не вся 3D-модель экспортировалась и как следствие импортировалось обратно. И в последней версии Dis3tool - это было исправлено и я наконец-то увидел 3D модель в Blender во всей красе, как она выглядела в игре.
Воодушевлённый успехом, поковырявшись пару вечеров в Blender, я внёс простенькие правки в модельки:




Оригинал и изменённая 3D модель
На этом счастливая история заканчивается... почти. Когда я импортировал модельки в игру - радости, то счастья не было предела, до тех пор пока не покрутил камеру вокруг поля боя... текстуры начинали, то пропадать, то появляться. Видимо есть ещё какие-то нюансы, которые нужны для корректного импортирования 3D модели в игру, но сколько я бы с этим не ковырялся (а ковырялся я очень много), мне так и не удалось разобраться в проблеме, поэтому и этот кусочек тоже вылетел из версии 1.6.0.
И в итоге:
Все три главные фичи, которые я хотел включить в 1.6.0 - прогорели. Поэтому выпускать было нечего.
Хотя, ещё кое-что оставалось, но об этом расскажу в самом конце.
Черновики и идеи
А пока пробегусь быстро по своим черновикам, которые так и не дошли до готовности:
Луна на небосклоне в столице Нежити.
Самое интересное, что на значке столицы она есть, но в самой 3D сцене - нет. А прям так просится! Сделал в текстурах, но показалось, что можно сделать ещё лучше с 3D моделью и на этом застопорился. Так что могу показать только "неудачный" вариант с текстурой:


Экран столицы с луной в виде текстуры и оригинал
Дома в окружающих скалах в столице Демонов.
На 3D модельке на глобальной карте они есть, но в 3D модели экрана столицы - нет. Выглядит странно. Была идея взять дома с моделек зданий демонов на глобальной карте, но руки так и не дошли этим заняться.
Перекрасить одеяния друида в зелёный цвет, как на портрете.
(друид - этот тот дед с посохом, который шатается как дерево на ветру на экране обучения выбора кампаний)
Странно выглядит, что на аватаре он в зелёном, а на модельке, у его одеяния какой-то болотно-серый цвет. Начал делать, но, увы, так и не доделал.
Поменять фон у портретов юнитов на страничке описания
Тёмные персонажи на тёмном фоне - это странное дизайнерское решение. Хотел поменять фон на более контрастный, чтобы у каждой фракции был фон своего цвета, как это реализовано во второй части, но только на ручное вырезание фона у 100+ персонажей ушло бы десятки часов нудной и монотонной работы, если и не вся сотня. Пробовал использовать ИИ для выделения, но ему пока что такое не по зубам.
Сияние взмаха крыльев у архангела Мизраэля.
Баловался программой Reshade и подключил один шейдер, который на взмахе крыльев рисовал световые звёздочки у архангела Мизраэля. Выглядит божественно. Жаль, видео не записал. Думаю, можно перенести в игру этот шейдер, но у меня нет знаний и умения работы с HLSL.
Настроить свет и тени с помощью шейдеров HLSL (сделать reshade)
Насмотревшись похожих модов для других игр, захотелось сделать подобное и для тройки. Благо шейдеры лежат в ресурсах игры и даже Toolkit позволяет создавать собственные на её движке, но у меня нет знаний и умения работы с HLSL. И, к сожалению, порог входа в эту область довольно высок.
Было ещё много всяких мелких хотелок и мелких улучшений, которые мне приходили в голову во время работы и я отмахивался от них как от назойливых мух, чтобы сосредоточится, довести до финала хоть что-то и выпустить мод.
Заветная фича
Но должен признать, что была одна фича, по которой я лелеял надежду включить в мод ещё до появления версии 1.0.0 - это
сделать искусственный интеллект в игре умнее.
На самом деле именно с этого желания и начинался El Clasico мод - мне захотелось переместить юнитов в игре поближе друг к другу. Я надеялся, что если другие юниты окажутся в зоне досягаемости, то ИИ игры будет более интересно себя вести.
Идея мне пришла ещё лет 6-7 назад, но тогда мне не хватило опыта и понимания, как устроены программы и как они работают, но в октябре 2024-го, когда я снова взялся за неё, у меня получилось. Оказалось, что в файле настройках боевой сцены хранятся указатели мест размещения юнитов. И первое, что я сделал - это просто подвинул юнитов вперёд друг к другу. Получилась такая стенка на стенку. Это уже потом я повернул их под углом, чтобы стало похоже на расположение, как в Disciples II, чем немало пролил себе на душу бальзама ностальгии.
Но на поведение ИИ - это, увы, не сильно повлияло, хотя иногда он может выдать интересные ходы.
Ковыряние в ресурсах игры показало, что логика ИИ зашита в код, хотя кое-какие параметры "сложности" ИИ вынесены в настройки, которые, к сожалению, нельзя поменять без определённых ухищрений. Дальнейшее изучение поведения ИИ в игре показало, что оперируя статами юнитов, нельзя повлиять на результат работы его алгоритмов, нельзя... кроме одного - инициатива.
С помощью инициативы можно двигать юнита по стеку вперёд. Именно на это триггерится ИИ при выборе цели.
Он бьёт ближайшего по стеку, если это не юнит ближнего боя, но и последнее ограничение я тоже придумал, как обойти: достаточно поменять местами классы у юнитов в игре: магам (caster) и стрелкам (ranged) назначить классы ближнего боя, а их классы перейдут бойцам первой линии (melee и rogue). Технически - это никак не скажется на силе юнита, но это повлияет на поведение ИИ (и как оказалось, на автоматический порядок размещения юнитов в отряде на глобальной карте).
Выглядит заморочено, выглядит костыльно, но попробовать можно изменить игру так, чтобы юнитам за их действия и бездействия в бою будет идти "+" или "-" в инициативу. Это будет динамически менять стек. А подмена классов приведёт к тому, что лучники и маги не будут убегать от бойца ближнего боя, а юниты ближнего боя - не будут стоять и лупить впереди выставленного танка. А ещё в ресурсах игры я видел скилл stack_forward, stack_backward. По названию я заключил - скилл позволяет двигать юнита по стеку вперёд и назад. Есть ощущение, что его либо переименовали, либо вырезали в Реинкарнации, но я сильно не углублялся в эту сторону.
В общем, я понял две вещи:
Не всё безнадёжно с кастомизацией ИИ в бою, хотя и не просто.
Такие изменения не подходят El Clasico моду
Выглядит интересно и многообещающе, но на текущий момент я решил не пилить ещё один мод и переключился на другие активности и проекты, которые ждали на паузе пока я работал над El Clasico модом. Если кто-то захочет попробовать, буду только рад посмотреть на результат ваших трудов.
2027 год - юбилей Реинкарнации (15 лет)
В следующем, 2027 году, исполнится 15 лет с выхода Реинкарнации. Есть большие сомнения, что Calypso Media порадует нас переизданием, хотя я им писал письмо с такой просьбой. (А вдруг?) Но издатель даже не удосужился ответить, что моё письмо зарегистрировано. Просто отправил, как в чёрную дыру.
Поэтому всё, как обычно, в руках фанатов игры.
У меня есть идея мода, но нет сейчас свободных ресурсов его пилить, хотя по такому случаю очень хочется. На мой взгляд, выпуск нового мода - это хороший повод отметить годовщину выхода игры, да ещё и с такой не простой судьбой.
В заключении
Спасибо, что дочитали до конца.
Если вам захотелось поиграть в El Clasico мод, то вот ссылки на его скачивание:
Dis3-modding-automation tool
В ходе работы над модом я разработал небольшой инструмент для автоматизации некоторых действий. Например, конвертировать игровые профили юнитов из формата файлов игры в Excel файл и обратно.
Потраченное время на разработку инструмента с лихвой окупилось, когда я подкручивал статы юнитов в игре, задействовав всю мощь Excel по работе с формулами.
(Почитать об этом можно здесь)
Ссылка на страничку с инструментом: Github
Видео демонстрации (в основном графических) изменений в El Clasico моде























































