Добавлено: Пн Июн 26, 2017 17:53
Заголовок сообщения: Мод менеджер для Эадора
Есть отличная игра Эадор: Сотворение, ради которой мы собственно на форуме. Есть отличный мод Новые Горизонты, который способен подарить еще сотни часов интересного геймплея после прохождения ванильного Эадора. И есть команда НГ, которая разрабатывает этот мод.
В чем собственно проблема:
Все остальные немногочисленные моды гораздо менее масштабны и ограничены рамками, заданными Adrageron'ом для ванильного Эадора и командой НГ для одноименного мода - можно менять стоимость заклинания, но нельзя добавить новое заклинание с новой механикой, можно поменять статы у юнита, но нельзя изменить механику боя или побега, можно поменять картинку и бонусы класса героя, но нельзя убрать героя с поля боя (как в HOMM3 например) и таких ограничений очень много.
В чем состоит предложение:
Разработать интерфейс для подключения/отключения модов с возможностью выбора их комбинации из списка (как моды в Skyrim, как Forge Для Minecraft, как D2SE ModManager для Diablo 2 и т.п.). Мод будет представлять из себя набор var/txt файлов содержащих только отличия от ванильных файлов, чтобы непересекающиеся моды были совместимы и один или несколько dll файлов, содержащих в себе изменения в игровых алгоритмах. Dll файл будет представлять собой набор подписок на игровые события в которые модмейкер сможет вписать все, что посчитает нужным (события это например конец хода, формирование описания охраны, проведение ритуала - чем подробнее и шире будет система событий, тем больше у модмейкера будет возможностей для изменений), а игра выполнит дописанные алгоритмы при наступлении этих событий. Также в dll файле небоходимы прототипы с адресами игровых функций, для их вызова из кода модмейкера. В принципе dll файлы можно сделать почти на любом компилируемом языке, что позволит делать моды программистам на других языках, кроме С,С++.
Если у вас есть сомнения в реалистичности такого механизма dll модов, то я представляю о чем говорю, в качестве доказательства можно глянуть мой Usability Patch, где используется подобный подход
http://eador.com/B2/viewtopic.php?t=3717. У меня уходила куча времени для создания и адаптации патча до новой версии мода НГ, так как я завязывался на машинные адреса игровых процедур и перенаправлял вызовы в Eador.exe на свою dll, поэтому это тупиковый путь для создания своего мода (это в том числе подтолкнуло меня создать данную тему). Желающим могу предоставить исходники разработанного dll файла, который применяется в моем патче.
Кто сможет это сделать:
если смотреть реалистично, то такое сможет сделать только команда НГ или группа энтузиастов, обладающая исходными кодами игры. Adrageron отошел от поддержки игры, соответственно не будет этим заниматься. Отдельные энтузиасты не потянут объем изменений, к тому же им нужен будет код игры, который одиночкам никто не предоставит. Поэтому большая просьба к участникам команды НГ отписаться в этой теме и выразить свое отношение и мнения. Высказывания заинтересованных мододелов тоже очень приветствуются (только без флуда, пожалуйста).