Сообщество Империал: Открытие новых горизонтов в моддинге M2TW - Сообщество Империал




KAST

Открытие новых горизонтов в моддинге M2TW

Легальное изменение возможностей движка M2TW
Тема создана: 19 мая 2014, 01:09 · Автор: KAST
Просмотров:
 31 738

  • 14 Страниц
  • « Первая
  • 6
  • 7
  • 8
  • 9
  • 10
  • Последняя »
 3 
 KAST
  • Imp
Imperial
 

Дата: 19 мая 2014, 01:09

Вчера на TWC произошло... незаурядное событие. Один мододел из Италии (никнейм Zarathos) сообщил следующе. Думаю нашим мододелам будет интересно почитать. Как обычно просто даю перевод. Заранее немного извиняюсь я не очень силён в технологической части, но поверьте, вас это обрадует :D .

Imp


"Привет. Недавно я начал анализировать экзешник M2TW: Kingdoms для того, чтобы лучше понять как работает сам игровой движок, как он анализирует и как использует базу данных (как неизвестные значения и параметры влияют на игру, как временные данные сохраняются в памяти) и как всё этого приводит к разнообразным ошибкам, проблемам и неправильному поведению ИИ. Это огромная задача, которая мало по малу может привести к значительным результатам, и обогатит знания всего сообщества модеров.

Затем, внезапно, я понял, что если я хочу продолжать работу в этом направлении (делать правки в движке игры или модифицировать его алгоритмы), то я должен найти способ сделать это без нарушения игровой лицензии… и я нашёл этот способ; редактирование памяти. Сейчас объясню: факт в том, что изменение экзешника игры строго запрещено лицензионным соглашением СА, как сказано:

Цитата


Вы соглашаетесь использовать Программу только в соответствии с условиями данного Соглашения и ОБЯЗУЕТЕСЬ:
….
е) не выполнять инженерный анализ, восстановление исходного кода, модификацию, обратную компиляцию или дизассемблирование Программы, как в целом, так и по частям, кроме случаев, описанных в пункте "к";

и) не создавать данные или программы, которые повторяют содержание или функциональность Программы, кроме случаев, описанных в пункте "к";


Те же правила применяются почти для всего программного обеспечения, касающегося закрытого кода, но очень трудно понять, о каких именно ограничениях идёт речь. Например, с моей точки зрения, заявления «не выполнять инженерный анализ» и «восстановление исходного кода» должны были зарубить весь моддинг на корню, поскольку открытие структуры бинарных файлов (mesh, текстуры и пр.) абсолютно попадают под инженерный анализ. Тоже касается заявления «не создавать данные или программы, которые повторяют содержание или функциональность Программы», поскольку отредактированные файлы могут рассматриваться, как программы, повторяющие уже существующие официальные приложения. Например, созданные на форумах различные лаунчеры, полностью являются исполняемыми программами, повторяющими оригинальные приложения от СА. Не так ли?

Мы могли бы долго начать обсуждение изменений и редактирования бинарных файлов и легитимности всего этого, а также самодельных лаунчеров, заменяющих официальные приложения и всё это не привело бы к какому-либо конкретному решению (просто остановимся на том, что взлом экзешника ведёт к нарушению лицензионного соглашения с СА).

Но вот здесь на сцену и выходит редактирование памяти: первое, что я узнал, когда начал работать с декомпиляторами, отладчиками и прочим подобным софтом, это то, что хоть экзешник нельзя изменять, но на 100% законно для пользователя редактировать свою собственную память без каких-либо последствий. Редактирование памяти – это «серая зона», в которой, в настоящее время, не существует никаких реальных правил, поскольку всё, что записывается в виртуальную память вашего компьютера, становится вашей собственностью. Это ваша память, вы её купили, и вы можете делать с ней всё, что хотите.

Когда исполняемые файлы запущены, они загружаются и отображаются в памяти вашего компьютера, и там, они могут быть отредактированы без каких-либо ограничений закона и лицензионного соглашения. Всё правильно, и единственный путь по которому можно следовать – это обход ограничений лицензионного соглашения и игровых лимитов. Но как? Используя самопальный лаунчер/патч, который создаёт полностью игровой процесс, загружаемый в виртуальную память, где можно будет изменять и модифицировать небольшие части с той целью, чтобы изменить его и далее продолжать игру. Ниже примерный вид такого лаунчера:

Imp


Приведённое приложение было создано для моего персонального пользования и нигде не распространялось. Администрация форума (TWC) написала следующее по этому поводу:

Цитата

Ваш вопрос был рассмотрен и решение следующее:

GrnEyedDvl (владелец TWC) и Jack Lusted (член СА) подтверждают, что вы можете продолжать свою работу. Так как экзешник не изменён, а изменены только значения и параметры в виртуальной памяти, то всё ОК.

Будут вопросы, пишите. Удачи


Таким образом, все эти манипуляции с исполняемыми приложениями могут привести нас к поистине безграничным возможностям по улучшению движка (добавление новых особенностей, исправление багов, улучшение уже существующих фич, убирание лимитов и т.д.) игры, который остановился в развитии и не разрабатывался СА. Тем не менее, у него есть ещё огромная куча возможностей для моддинга.

Вот список, чего пока я смог достичь:

- Изменение EDU лимита юнитов от 500 до 1000 (ещё предстоит сделать некоторые корректировки распределения памяти);
- Изменение лимита солдат от 4/100 до 1/150 (если у меня получится найти мультипликатор, используемый в опциях «unit_size», то мы наконец сможем получит нормальный юнит с одним солдатом);
- Расширил диапазон задействованной памяти в 64-разрядных системах, как минимум с 6 ГБ; (поддержка нескольких ядер практически невозможна)
- Оптимизация игрового движка на одноядерных ПК.

Всё, что мне нужно – это помощь и сотрудничество. Анализ исполняемых файлов очень сложен и это очень трудоёмкий процесс. Для всего прочего мне нужны знания архитектуры софта и пр. Любой, кто силён в использовании (IDA Pro, OllyDBG или подобных шестнадцатиричных редакторов) прошу помочь.

Планы на будущее:
- Завершение увеличения лимитов EDU
- Увеличение скрытых ресурсов с 64 до 128
- Фиксы вылетов на рабочий стол
- Улучшение управления картой высот
- Увеличение лимита провинций от 200 до 300 (сам размер карты возможно увеличить не удастся)
И много много прочего...

Ещё раз повторюсь. Всё, кроме игрового рендеринга и поддержки нескольких ядер возможно, нужно только желание... :008:

Ссылка на TWC: Для просмотра ссылки Зарегистрируйтесь
     Антон_Рокин
    • Imp
    Imperial
     

    Дата: 17 сентября 2017, 10:16

    Age of Kings



    А полноценным реверс инжинирингом никто не занимался среди мододелов?

    Да с исходниками ситуация странная.
    Типа для первых трёх свитков делают нормальные движки, причём вроде даже без документации, не говоря уж об исходниках.
    Или свободные реализации директХ и прочих майкрософтовских библиотек.

    Ещё, что удивляет, так это то, что полностью заглохла идея с редактированием памяти.
    Пацаны даже не выложили свои наработки . :facepalm:
       Age of Kings
      • Imp
      Imperial
       

      Дата: 18 сентября 2017, 10:49

      Антон_Рокин

      А полноценным реверс инжинирингом никто не занимался среди мододелов?


      Тут ещё проблема в том, что многое зашито в экзешнике, а его изменять нельзя без знания исходного кода (которым, как я писал выше, СА делиться не хочет) и без риска блокировки продукта из-за нарушения Лицензионного соглашения с СА (у нас вряд ли, а вот в англоязычном сегменте вполне могут - там за этим бдительно следят).

      Полноценным никто не занимался, но есть камрады, добившиеся больших успехов при создании на базе M2TW модов на технически более высоком уровне (Опасен и Лекааа с "Булаткой", ДаэдраВарриор и ЛордНазгул с TES:TW, команды TATW и "Дагор Дагората").

      Антон_Рокин

      Типа для первых трёх свитков делают нормальные движки, причём вроде даже без документации, не говоря уж об исходниках.


      Ну, TES - это иной движок, там больше не столько работы с кодом, сколько с графоном. Это несколько легче, и не защищается законами об авторском праве и прочей дребеденью).
         Антон_Рокин
        • Imp
        Imperial
         

        Дата: 23 сентября 2017, 15:54

        Age of Kings
        Я может непонятно выразился, но речь идёт не о модах :)
        Имелись в виду полноценные, написанные с нуля, альтернативные движки, на замену оригинальных экзешников.
        И с обратной совместимостью с модами.

        И меня удивляет отсутствие подобных проектов для рима и второй меди.
        Тем более с учётом того, что создав движок для первого можно с некоторыми сложностями и для второго.

        А про исходники я уже сказал.
        Если народ может создать свободную реализацию директХ, то и движок без исходников создать может.
        Была бы мотивация и время.
           Age of Kings
          • Imp
          Imperial
           

          Дата: 23 сентября 2017, 17:00

          Антон_Рокин

          Имелись в виду полноценные, написанные с нуля, альтернативные движки, на замену оригинальных экзешников.
          И с обратной совместимостью с модами.


          Таковых нет, и без инструментария (которым СА также делиться не хочет) - вряд ли появятся. Требуется команда, очень хорошо подготовленная в различных областях программирования, 3D и 2D-моделирования, маппинга и многого другого. Пока что можно только менять составные части игры, но не движок целиком.

          Хотя известный моддер Ник Томадис (он же Дарт Вэйдер, автор "Дарт-модов") смог создать полноценную игру на качественно новом уровне - Для просмотра ссылки Зарегистрируйтесь Но к TW она отношения не имеет, и страт. часть там фактически отсутствует.

          Антон_Рокин

          И меня удивляет отсутствие подобных проектов для рима и второй меди.


          Для первого-таки появился один интересный проект - Для просмотра ссылки Зарегистрируйтесь. Но это всё ещё мод.

          Антон_Рокин

          Если народ может создать свободную реализацию директХ, то и движок без исходников создать может.


          Это, всё же, разные вещи. Библиотеки DirectX сделать куда легче, чем полноценный движок игры с тактической и стратегической частью, мощной графикой, полноценным скриптингом и многим другим.
             Jukoman
            • Imp
            Imperial
             

            Дата: 29 декабря 2017, 13:09

            Антон_Рокин

            Пацаны даже не выложили свои наработки . :facepalm:

            Это наводит на мысль, что там все бесполезно. Они банально не смогли, видимо.
               Лаиль Ледатов
              • Imp
              Imperial
               

              Дата: 29 декабря 2017, 14:10

              Jukoman,
              видимо да, ибо скринов отряда по 150 человек не было.
                 Серикжан_Ныгметжан
                • Imp
                Imperial
                 

                Дата: 20 января 2018, 16:04

                Здравствуйте люди, я так понимаю количество фракциии регионов в игре ограничено. Но если количество регионовых ограничено движком. То количество фракции ограниченно косвенно, тем что они не вмещаются на экранего выбора. Но количество фракции которые могут присутствовать в игре, оно же не ограничено? Скажем если создать не 31 а 93 фракции? Прописать их в файле можно. Но будет ли их видеть движок и будет ли ИИ за них играть? Если да, то не вмещаемость количества фракции можно решить. Как например eras total conquest, где тупо через Bat запускают разные моды. Так и тут мы запускаем скажем три разных мода где разница будет только в ассортименте фракции в главном меню. Конечно так же есть вероятность что после добавления новых фракции больше 30.Движок не разрещит нам за них играть или ИИ их не будет воспринимать. Связи с этим вопрос а как этот иностранец редактировал движок? И если можно ссылку на этого умельца
                   Edmond
                  • Imp
                  Imperial
                   

                  Дата: 20 января 2018, 21:34

                  Серикжан_Ныгметжан 20 января 2018, 16:04

                  Здравствуйте люди, я так понимаю количество фракциии регионов в игре ограничено. Но если количество регионовых ограничено движком. То количество фракции ограниченно косвенно, тем что они не вмещаются на экранего выбора. Но количество фракции которые могут присутствовать в игре, оно же не ограничено? Скажем если создать не 31 а 93 фракции? Прописать их в файле можно. Но будет ли их видеть движок и будет ли ИИ за них играть? Если да, то не вмещаемость количества фракции можно решить. Как например eras total conquest, где тупо через Bat запускают разные моды. Так и тут мы запускаем скажем три разных мода где разница будет только в ассортименте фракции в главном меню. Конечно так же есть вероятность что после добавления новых фракции больше 30.Движок не разрещит нам за них играть или ИИ их не будет воспринимать. Связи с этим вопрос а как этот иностранец редактировал движок? И если можно ссылку на этого умельца


                  Выше же написано работы над проектом остановлены, наработки не выложены в открытый доступ.
                     Genastrat
                    • Imp
                    Imperial
                     

                    Дата: 28 апреля 2018, 13:33

                    Age of Kings

                    Требуется команда, очень хорошо подготовленная в различных областях программирования, 3D и 2D-моделирования, маппинга и многого другого.
                    Ну, Вы бы ещё хорошо поставленные актёрские голоса припомнили. ВСякие 3D и мэппинги (это упрощённые картографы такие, что ли ?) это ресурсы к линкованному коду, просматривающиеся через менеджер ресурсов.
                       Kosss
                      • Imp
                      Imperial
                       

                      Дата: 24 декабря 2018, 14:11

                      Камрады, зацените, видео бомба! Не новьё, но думаю многие не видели. Есть страничка на ТВЦ, ссылки под видосом.

                      Как получить потрясающую графику в Меди
                        • 14 Страниц
                        • « Первая
                        • 6
                        • 7
                        • 8
                        • 9
                        • 10
                        • Последняя »
                         
                        Перевести Страницу
                        Сообщество ИмпериалMedieval 2: Total War Моды Medieval 2 Total War: Kingdoms Мастерская M2:TW Обратная Связь
                        Стиль:Language: 
                        Условия · Ответственность · Конфид. · Визитка · 03 июл 2026, 08:07 · Зеркала: ImtwOrg, ImtwSite, ImtwOnline