Игра написана на языке программирования C# с использованием графического движка Unity3D. На текущий момент основные сборки не обфусцированы, что позволяет без каких-либо сложностей изучать их код и вносить изменения. Кроме того, разработчики предусмотрели возможность вносить изменения в данные, описывающие игровые объекты и события, что позволяет добавлять в игру новые предметы, персонажей, изменять AI монстров и многое другое. В итоге мы получаем пока ещё сырую, но в перспективе очень гибкую игру с огатыми возможностями модифицирования. И если вы модмейкер, и данная игра вам не безразлична, то можно начинать осваивать то, что у нас есть на данный момент...
Модифицирование движка[]
Все библиотеки, написанные на C#, находятся по следующему пути:
Might & Magic X - Legacy\Might and Magic X Legacy_Data\Managed
Основная логика игры содержится в файлах:
Вы можете изучить их, используя любую из существующих программ, таких как: dotPeek, ILSpy, .NET Reflector или ILDasm (для эстетов). Они же позволяют декомпилировать библиотеки, внести изменения и собрать заново. Кроме того, вы можете написать программу для инъекции кода, используя Mono.Cecil.dll.
Был отправлен запрос в службу технической поддержки с просьбой о предоставлении доступа к оригинальным исходным кодам. Ждём ответа. Но вероятность благоприятного исхода маловероятна, так что любые изыскания в сторону максимально удобной перекомпиляции этих библиотек приветствуются!
Модифицирование ресурсов[]
Ресурсы игры расположены по пути:
Might & Magic X - Legacy\Might and Magic X Legacy_Data\StreamingAssets
- config.txt - конфигурационный файл, задающий различные коэффициенты и параметры, такие как продолжительность дня, скорость течения времени, множители цен и урона...
- CreditsData.xml - титры, отображающиеся в игре, содержащие список разработчиков проекта.
- optionSettings.txt - настройки игры, такие как скорость игры, параметры графики, и т.д.
ru, en, jp, содержат файлы локализации loca.xml, содержащие тексты игры для соответствующих языковых локалей. Весь локализованный контент в игре ссылается на константы из этих файлов. Подробнее о формате этого файла и локализации в целом читайте в соответствующем разделе.
Maps содержат файлы, описывающие игровые локации. Редактировать их вручную крайне не рекомендуется, но о формате, например, для написания собственного редактора, вы можете прочитать здесь: Моды: Локации.
res содержат игровые архивы, используемые движком. Они содержат текстуры, модели, анимации, звуки, скрипты, и т.п.
Dialog содержат файлы диалогов, которые привязываются к NPC.
Videos содержат видеоролики и субтитры к ним.
StaticData содержатся CSV-таблицы, описывающие характеристики игровых объектов.