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

Стратегии, Игровые Миры, История, Total War
Уважаемый Гость, Реклама отключается для зарегистрированных посетителей форума: Регистрация
Imperial Уважаемый Гость, у Вас есть шанс сделать предзаказ анонсируемых игр Imperator: Rome и Total War: Three Kingdoms со значительной скидкой. [ Получить скидку ]
KAST

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

Легальное изменение возможностей движка M2TW
Тема создана: 19 Май 2014, 01:09 · Автор: KAST
  • 10 Страниц
  • 1
  • 2
  • 3
  • 4
  • 5
  • Последняя »
 KAST
  • Imperial
Imperial
Варгеймщик
9 057
422
2 016
11 721
206

Дата: 19 Май 2014, 01:09

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

Imperial


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

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

Цитата


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

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


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

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

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

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

Imperial


Приведённое приложение было создано для моего персонального пользования и нигде не распространялось. Администрация форума (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: Для просмотра ссылки Зарегистрируйтесь
     Dart Kovu Nazgul
    • Imperial
    Imperial
    Гранд-мофф
    25 501
    893
    2 627
    42 832
    44

    Дата: 19 Май 2014, 01:50

    KAST
    Просто офигенная новость которая как минимум поднимет снова интерес к M2TW, а как максимум даст новое дыхание моддингу.
    Одно увеличение количества провинций чего только стоит. :024:
       KAST
      • Imperial
      Imperial
      Варгеймщик
      9 057
      422
      2 016
      11 721
      206

      Дата: 19 Май 2014, 02:15

      Я сам когда тему на твц увидел - ну, думаю, очередное "эх, если бы...". А тут такое... Он причём так обыденно об этом пишет, что лимиты на культуры, религии, фракции всё может быть убрано. А ведь это ж... ппц :035:. В данный момент идёт создание команды на твц для дальнейшей работы.

      Про лимит солдат я не понял: что значат эти цифры 4/100 до 1/150.

      Ещё пишет, что от модов ничего не потребуется. Всё будет как обычно - запуск двойным кликом :D. Этот скрин - это просто пример, как всё будет настраиваться, каждый раз, т.к. это всё делается при запуске из памяти ПК. Но он говорит это легко - пару кнопочек нажать.

      Также на вопрос о свободной камере и какой-то системе "auto-resplenish", как в ворскейпе (я так и не понял, что это)- всё это может быть сделано.

      Сам исходник кода этой проги (KingdomsPatcher) - он выдавать не будет. Задача, создать команду программистов (человек 5) и довести эту прогу до ума и пожинать плоды тяжёлого труда :D .
         Dart Kovu Nazgul
        • Imperial
        Imperial
        Гранд-мофф
        25 501
        893
        2 627
        42 832
        44

        Дата: 19 Май 2014, 03:20

        KAST

        Про лимит солдат я не понял: что значат эти цифры 4/100 до 1/150.

        4 вроде как минимальный размер отряда, а 100 максимальный, а далее он увеличивается только показателем в настройках, максимум на 2,5 в оригинальной игре.
        150 х 2,5 = 375 солдат в одном отряде... эпично.
           KAST
          • Imperial
          Imperial
          Варгеймщик
          9 057
          422
          2 016
          11 721
          206

          Дата: 19 Май 2014, 04:56

          Если лимит на оперативку он снял, то круто. Он вообще написал, что в принципе и по графе и по поддержке нескольких ядер - всё это можно реализовать, но просто надо переписать кучу кода и прочей фигни. Только поэтому это нереально. По большому счёту всё упиралось в законность, но хоть такой корявый метод, но найден.

          Кстати, возможно будет врубить формацию тестудо из RTW.

          - - - - - - Сообщение автоматически склеено - - - - - -

          А также количество юнитов больше 20 в стеке и на поле боя.
             epiccaesarlol
            • Imperial
            Imperial
            Диваногвардеец
            1 259
            7
            177
            1 833
            1

            Дата: 19 Май 2014, 09:33

            Цитата

            Кстати, возможно будет врубить формацию тестудо из RTW.

            :034: :034: Серьезно?

            Цитата

            А также количество юнитов больше 20 в стеке и на поле боя.

            Я, наверное, еще сплю. Пойду обратно в кровать :027:

            Мне вот интересно, а сколько сейчас оперативки игра задействует, без правок? И насколько сильно увеличится производительность после изменений?

            Цитата

            150 х 2,5 = 375 солдат в одном отряде... эпично.

            Я несколько месяцев назад, когда узнал, что разрабам ЕБ2 удалось 300 юнитов сделать, готов был танцевать. А теперь, наверное, летать придется :D

            P.S. Даже свободную камеру можно будет сделать :059:
               KAST
              • Imperial
              Imperial
              Варгеймщик
              9 057
              422
              2 016
              11 721
              206

              Дата: 19 Май 2014, 10:04

              Я вот вообще трудно представляю, что вообще это за процесс такой и в чём он заключается. Но там уже такие планы строят: создание новых типов юнитов помимо слонов, конницы или пехоты, создание летающих юнитов и вообще мана небесная.

              Как бы они там хотелки слишком большие не отрастили. Он сразу сказал: нужны программисты - работы до жопы.
                 epiccaesarlol
                • Imperial
                Imperial
                Диваногвардеец
                1 259
                7
                177
                1 833
                1

                Дата: 19 Май 2014, 10:12

                Цитата

                Как бы они там хотелки слишком большие не отрастили. Он сразу сказал: нужны программисты - работы до жопы.

                Это уже личные желания каждого отдельного мододела и модоигрателя :) Главное, чтобы сейчас с ограничениями справились. Странно, но мне вот когда-то тоже приходила в голову идея: раз нельзя менять exeшник, то было бы классно написать еще где-то новый код для снятия ограничений, связать его с exe и готово. Оказалось, что это вполне реально. Просто вау.

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

                Интересно, а дипломатию таким вот образом можно будет менять? Дописывать новые и новые значения. Это был бы нереальный прорыв для кампании. А учитывая старательность мододелов, они бы могли сделать вообще самую лучшую дипломатию в серии. И тогда СА призадумается, прежде чем приступит к выпуску следующей игры :063:
                   Терран
                  • Imperial
                  Imperial
                  Форумчанин
                  320
                  0
                  8
                  27
                  0

                  Дата: 19 Май 2014, 11:18

                  Интересная новость. Надеюсь смогут преодолеть лимит фракций!
                     KAST
                    • Imperial
                    Imperial
                    Варгеймщик
                    9 057
                    422
                    2 016
                    11 721
                    206

                    Дата: 19 Май 2014, 11:29

                    epiccaesarlol

                    больше юнитов

                    Да куда там. Кое кто... за шесть лет только 200 юнитов налепить смог :D

                    epiccaesarlol

                    свободную камеру на поле боя

                    А вот здесь я не понял. А что с ней не так? В опциях "ограничение камеры снимаешь и всё". Или это не то? А не знаешь, что такое авто-респлениш?

                    Главное, чтобы сейчас нашлись люди, которые бы ему помогли, а то тема полна поздравлений, пожеланий удачи, и спрашиваний "а можно будет сделать вот так...". Но вроде несколько человек наберётся.
                      • 10 Страниц
                      • 1
                      • 2
                      • 3
                      • 4
                      • 5
                      • Последняя »
                      Дата: 17 Декабрь 2018, 02:26
                      Дата: 06 Декабрь 2018, 23:42
                      Дата: 06 Декабрь 2018, 19:45
                      Дата: 02 Декабрь 2018, 19:45
                      Дата: 09 Август 2018, 17:32
                      Дата: 25 Июль 2018, 01:32
                      Дата: 12 Июль 2018, 21:31
                      Дата: 30 Май 2018, 20:36
                      Дата: 22 Май 2018, 20:16
                      Дата: 24 Апрель 2018, 19:45
                      Дата: 26 Март 2018, 16:29
                      Дата: 15 Март 2018, 20:21
                      Дата: 21 Февраль 2018, 20:56
                      Дата: 11 Январь 2018, 20:38
                      Дата: 30 Ноябрь 2017, 20:16
                      Дата: 28 Ноябрь 2017, 21:49
                      Дата: 14 Ноябрь 2017, 19:08
                      Дата: 26 Октябрь 2017, 20:23
                      Дата: 12 Октябрь 2017, 15:04
                      Дата: 10 Октябрь 2017, 04:11
                      Дата: 28 Сентябрь 2017, 15:04
                      Дата: 19 Сентябрь 2017, 15:50
                      Дата: 25 Август 2017, 03:15
                      Дата: 24 Август 2017, 10:32
                      Дата: 24 Август 2017, 10:27
                      Введите Ваше имя  
                      [Регистрация нового аккаунта]
                      Введите Ваш пароль 
                      [Восстановить пароль]
                      Воспользуйтесь одной из соц-сетей для входа на форум:
                      © 2019 «Империал» · Условия использования · Ответственность · Визитка Сообщества · 16 Фев 2019, 12:43 · Счётчики