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

KAST

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

Легальное изменение возможностей движка M2TW
Тема создана: 19 мая 2014, 01:09 · Автор: KAST
  • 14 Страниц
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • Последняя »
 3 
 KAST
  • Imperial
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: Для просмотра ссылки Зарегистрируйтесь
     KAST
    • Imperial
    Imperial
    Варгеймщик

    Дата: 20 мая 2014, 01:33

    Enclave76

    kingdoms надо, но СА не дадут

    Так здесь речь и идёт о работе над kingdoms, или это я не въехал?

    epiccaesarlol

    Ох, какой-то переломный день в моддинге. Даже не представляю, насколько улучшатся текущие и готовящиеся моды.

    А то! На тотал орге уже тема соответствующая есть, так что ебешники в курсе #*

    Так это... я тут подумал... это ж так любой экзешник ковырять можно. Даже варскейповские что ли?
       Dart Kovu Nazgul
      • Imperial
      Imperial
      Гранд-мофф

      Дата: 20 мая 2014, 01:50

      KAST

      это ж так любой экзешник ковырять можно

      Давно ковыряют, это по сути тот же трейнер к игре, только с большими возможностями.
      Если не ошибаюсь что уже встречал такие фан патчи к играм, где лаунчер запускал исправитель багов который правил всё на лету после запуска *.ехе файла игры.
         OPASEH
        • Imperial
        Imperial
        Ветеран модинга

        Дата: 20 мая 2014, 02:31

        epiccaesarlol (20 мая 2014, 00:15):

        Ох, какой-то переломный день в моддинге.

        На самом деле ничего офигенного нет, поздно они с этим. Надо было так в 2010. Даже если у них все получится без багов хотябы через год, то первые моды (мод :0142: ) с овер 100 фракциями и 1000 юнитами начнут появляться не раньше, чем через 3-4 года. К тому же им надо ломануть одно ядро процессора, поскольку движок столько проглотить не сможет. Что касается количества юнитов, им надо расширять ванильные значения ширины стен, башен, и лестниц, поскольку 500 юнитов в отряде просто туда не поместятся.Вообще в городской черте начнутся застревания, тупизм и прочее.

        Пока, что радует 1000 юнитов и 300 провинций, все остальное шляпа, без увелечения нагрузки на процессор, настройки новых фич для ИИ или особенностей движка.
           Enclave76
          • Imperial
          Imperial
          Форумчанин

          Дата: 20 мая 2014, 06:10

          KAST (20 мая 2014, 01:33):

          Enclave76

          kingdoms надо, но СА не дадут

          Так здесь речь и идёт о работе над kingdoms, или это я не въехал?

          Не, это я не въехал :)
          Посмотрел по ссылке - там про RTW, а здесь толком и не прочитал

          Но таки да - надо было раньше, и без поддержки хотя бы 2-х ядер смысла немного
          Сам экзешник надо бы переделывать, а костыли это так, полумера
             epiccaesarlol
            • Imperial
            Imperial
            Диваногвардеец

            Дата: 20 мая 2014, 09:33

            Цитата

            На самом деле ничего офигенного нет, поздно они с этим. Надо было так в 2010. Даже если у них все получится без багов хотябы через год, то первые моды (мод :0142: ) с овер 100 фракциями и 1000 юнитами начнут появляться не раньше, чем через 3-4 года.

            Ничего не поздно. Главное, что это есть (вернее, будет). Существует сразу несколько крупных модов, которые с радостью будут расширяться за счет этих обновлений. Да и очень много новых творений появляется. Блин, да даже для первого рима до сих пор вон сколько всего делают. Что уж говорить о медивале, где графика даже по нынешним меркам (как для стратегии) очень даже хорошая (особенно, если юниты нарисованы качественно). Фактически, с этими обновлениями медивал станет почти идеальным для моддинга. Хороших конкурентов, по крайней мере, у него не будет в ближайшее время уж точно. Новые возможности, наверное, привлекут еще больше желающих создать свой продуманный, детальный мод со всеми фишками, которые только в голову взбредут. А если добавить сюда возможность создавать города (может, даже неограниченное количество, благодаря правкам), а также делать карту огромных размеров (или с огромным количеством провинций), то где у медивала достойные конкуренты? Их попросту нет.

            Да, придется что-то думать насчет производительности. Да, работы там много. Но если умельцы возьмутся крепко за работу, обязательно что-то придумают. А если им еще и удастся найти способ изменять дипломатию и добавлять к ней новые значения - медивал станет идеальным. И если учесть, что многие люди до сих пор от первого рима без ума, то представьте, сколько еще времени проживет второй мед. Так что, ничего не поздно. Даже вовремя - новые возможности подогреют интерес и увеличат популярность игры.
               OPASEH
              • Imperial
              Imperial
              Ветеран модинга

              Дата: 20 мая 2014, 17:47

              В общем прочитал в шапке, что взламывать 1 ядро движка с процессором не будут (типо очень сложно).
              Итого:
              1)Лимит юнитов в 1000. Их количество в EDU ничего не грузит, просто будет большее разнообразие в юнитах. Это +
              2)Скрыте ресурсы с 64 до 128. Если честно мне 64 хватает, так, что ничего "такого" в этом нет.
              3)Провинций с 200 до 300. Это дополнительная нагрузка на процессор, из-за тригеров губернаторам в этих городах + уникальные скрипты для городов.
              4)Больше 31 фракции, здесь надо быть осторожнее. Допустим беллуме ход при 30 фракциях длится минуты 3 - 4, что будет при 100+? :0142: Я просто боюсь представить, что тот же денежный скрипт для ИИ нужен будет для 100 фракций! :D
              5)Лимит культур и религий. А он нужен? Итак хватает.
              6)Количество юнитов в стеке больше, чем 20. В принципе "гуд", но неизвестно как ИИ будет собирать такие армии и каким будет интерфейс.
              7)Количество юнитов в отряде больше, чем 300. Здесь надо будет полностью расширять тактический режим городов и замков.
                 vansig
                • Imperial
                Imperial
                Форумчанин

                Дата: 20 мая 2014, 20:32

                Лимит на провы и лимит на юнитов.Если это сделают,то да,это реально прорыв будет. Остальное,согласен с Опасным,не особо актуально. Вот только весь бы этот праздник пораньше годика на 3-4.. Потому как сейчас интерес к моддингу 2-го Меда практически нулевой. На TWC из ожидаемых модов мож только EB2 домучают,остальные судя по всему сдулись. Особенно обидно за Great Conflict.
                   KAST
                  • Imperial
                  Imperial
                  Варгеймщик

                  Дата: 20 мая 2014, 21:15

                  OPASEH

                  В принципе "гуд", но неизвестно как ИИ будет собирать такие армии и каким будет интерфейс.

                  Знаешь, в теме взлома движка RTW они таким макаром смогли уменьшить интерфейс. Может здесь тоже самое сделают? Про 100 фракций - я думаю это жирно. Штук 50 хватит :).

                  OPASEH

                  7)Количество юнитов в отряде больше, чем 300. Здесь надо будет полностью расширять тактический режим городов и замков.

                  Кстати вот это меньше всего впечатлило. Мне и так хватало. К тому же реально тормоза. Да и разместить всю эту араву на тактических полях, рассчитанных на меньший размер как?
                     OPASEH
                    • Imperial
                    Imperial
                    Ветеран модинга

                    Дата: 21 мая 2014, 01:31

                    KAST (20 мая 2014, 21:15):

                    Знаешь, в теме взлома движка RTW они таким макаром смогли уменьшить интерфейс.

                    Я тоже так подумал, но все же надеялся на более. В ETW и NTW тоже самое сделали, там правда еще иконки вообще вылазивают за него. Становится жуть неудобно и некрасиво.

                    П.С. На ТВЦ Заратоса забросали хотелками, хотя человек просто пару лимит обошел . "Давай нам летающих юнитов, графон и дипломатию как в Рим 2".:023:
                       unda
                      • Imperial
                      Imperial
                      Лохаг

                      Дата: 21 мая 2014, 09:56

                      OPASEH

                      4)Больше 31 фракции, здесь надо быть осторожнее. Допустим беллуме ход при 30 фракциях длится минуты 3 - 4, что будет при 100+? :0142: Я просто боюсь представить, что тот же денежный скрипт для ИИ нужен будет для 100 фракций! :D

                      Скрипты не надо многоэтажными делать просто :) Вот и все.
                        • 14 Страниц
                        • 1
                        • 2
                        • 3
                        • 4
                        • 5
                        • 6
                        • Последняя »
                         Похожие Темы
                        КТрейлеры новых сериалов и новых сезонов
                        Только трейлеры
                        Автор D Dr.Schmeisser
                        Обновление 12 апреля 2024, 02:08
                        ЛОткрытие всех фракций и 2-3-4-6-12 ходов в год
                        Открытие всех фракций и 2-3-4-6-12 ходов в год
                        Автор n nia
                        Обновление 16 февраля 2024, 10:33
                        IОТКРЫТИЕ ГОДА - Imperial Game Awards 2023
                        Голосование
                        Автор D Dr.Schmeisser
                        Обновление 31 декабря 2023, 11:55
                        Воспользуйтесь одной из соц-сетей для входа
                        РегистрацияВход на форум 
                        Сообщество ИмпериалMedieval 2: Total War Моды Medieval 2 Total War: Kingdoms Мастерская M2:TW Обратная Связь
                        Стиль:Language: 
                        «Империал» · Условия · Ответственность · Визитка · 19 апр 2024, 16:48 · Зеркала: Org, Site, Online · Счётчики