Сообщество Империал: Разработка редактора/генератора карт и кампаний (обсуждение и сбор пожеланий). - Сообщество Империал

Kassatka

Разработка редактора/генератора карт и кампаний (обсуждение и сбор пожеланий).

KsS RTW/M2TW CampaignEditor by Kassatka (Chornomoh). В наличии рабочий редактор торговых ресурсов на карте.
Тема создана: 08 июня 2021, 23:46 · Автор: Kassatka
Как вам идея написания подобного редактора/генератора карт и кампаний? (Можно выбрать несколько вариантов ответа.)
  1. Идея отличная. | 9 голосов / 64.29%

  2. Хорошая идея. | 2 голосов / 14.29%

  3. Нормальная идея. | 0 голосов / 0.00%

  4. Так себе идея. | 0 голосов / 0.00%

  5. Плохая идея. | 0 голосов / 0.00%

  6. Подобным должны заниматься только разработчики игры - Feral Interactive и Creative Assembly. | 1 голосов / 7.14%

  7. Пока автор хотя бы частично напишет рабочую программу, она уже не особо нужна будет, моддинг RTW/M2TW заглохнет к тому времени если ещё не заглох. | 1 голосов / 7.14%

  8. Сложно сказать заранее, смогу точно ответить только когда увижу готовый результат. | 1 голосов / 7.14%

Может ли проектируемый редактор/генератор карт/кампаний оказаться полезным лично для Вас при моддинге игр Rome: Total War (Remastered) или Medieval II: Total War? (Можно выбрать несколько вариантов ответа.)
  1. Если реально реализовать озвученные идеи, то это могло бы сильно облегчить мне процесс моддинга. | 9 голосов / 60.00%

  2. Возможно в некоторых моментах программа мне поможет, но в большинстве случаев всё равно проще и надёжнее будет вручную править текстовики в тексовом редакторе и карты в графическом редакторе. | 1 голосов / 6.67%

  3. Даже если подобная программа будет написана, я всё равно предпочту по старинке вручную править текстовики в тексовом редакторе и карты в графическом редакторе. | 1 голосов / 6.67%

  4. Может оказаться полезным тем, что облегчит и ускорит процесс моддинга для мододелов, следовательно я получу больше модов и более проработанных. | 2 голосов / 13.33%

  5. Пока автор хотя бы частично напишет рабочую программу, она уже не особо нужна будет, моддинг RTW/M2TW заглохнет к тому времени. | 0 голосов / 0.00%

  6. Я скептически отношусь к данной идее, думаю что работа чрезвычайно сложная и у автора просто ничего толком не получится. | 1 голосов / 6.67%

  7. Я не занимаюсь моддингом игр Rome: Total War (Remastered) или Medieval II: Total War. | 1 голосов / 6.67%

Как вы думаете, реально ли написать программу с подобным функционалом? (Можно выбрать несколько вариантов ответа.)
  1. Думаю, что вполне реально, но потребуется много времени. | 5 голосов / 33.33%

  2. Вполне реально осуществить хотя бы часть из озвученных идей. | 7 голосов / 46.67%

  3. Очень сложный проект, автор скорее всего забросит его не довёв до ума. | 0 голосов / 0.00%

  4. Без хорошего опыта программирования и большого количества готовых сложных проектов скорее всего не выйдет ничего толкового. | 1 голосов / 6.67%

  5. Я скептически отношусь к данной идее, думаю что работа чрезвычайно сложная и у автора просто ничего толком не получится. | 0 голосов / 0.00%

  6. Я не программист, сложно ответить на такой вопрос. | 2 голосов / 13.33%

Устраивает ли вас общая концепция того, какой именно функционал будет у программы? (Можно выбрать несколько вариантов ответа.)
  1. Большей частью устраивает. | 10 голосов / 83.33%

  2. Основная копцепция устраивает, но некоторые моменты считаю что стоит делать по другому. | 0 голосов / 0.00%

  3. Думаю, что лучше ещё раз продумать заново и изменить многие моменты в плане. | 0 голосов / 0.00%

  4. Пока что рано что-либо предполагать, пусть будет основной функционал у программы, а потом уже будем думать, что бы ещё усовершенствовать. | 1 голосов / 8.33%

  5. Я скептически отношусь к данной идее, думаю что работа чрезвычайно сложная и у автора просто ничего толком не получится. | 0 голосов / 0.00%

  6. Мне всё равно, лично для меня такая программа не требуется. | 1 голосов / 8.33%

 Kassatka
  • Imperial
Imperial
Форумчанин

Дата: 08 июня 2021, 23:46

Разработка редактора карт и кампаний для RTW (Remastered)/M2TW
(пока что есть рабочий редактор торговых ресурсов)


Предыстория
Собственно идея у меня возникла ещё давным-давно, я большой любитель автоматизировать разные рутинные действия на компьютере, пусть в итоге на написание программы по автоматизации будет потрачено в разы больше времени, чем если просто выполнить сами рутинные действия вручную. :0182: Правда в большинстве случаев это не слишком сложные проекты, а слишком сложные во многих случаях так и не получались и забрасывались с откладыванием в долгий ящик. :018: Моддингом RTW последний раз я занимался осенью 2018 года, тогда собственно я усовершенствовал под себя старый-древний мод Amazon: Total War v3.0c, в числе прочего создавая дополнительные кампании с изменённой картой. На карту я добавил сначала три провинции в Сахаре, чтобы сделать оседлыми фракцию амазонок-Горгон, затем испытал себя в рисовании карты и нарисовал дополнительный континент Атлантиду между Испанией и Ирландией, разбив её на 20 провинций. Пришлось повозиться в числе прочего с размещением в этих провинциях торговых ресурсов и ресурс рабов - для каждого ресурса нужно указывать в файле descr_strat.txt координаты, к тому же вертикальная координата отсчитывается снизу вверх, а не как в графических редакторах сверху вниз. Поэтому взял карту tga, преобразовал её в понятный для Paint формат, отразил по вертикали и дальше подводил курсор в Paint к нужной точке и записывал её координаты. Мне сразу захотелось такие операции автоматизировать, но уже для Атлантиды я сделал всё вручную. А потом на месте Скифии разбил карту на провинции, соответствующие областям современной Украины. Получилось 26 новых провинций, для которых тоже нужно размещать торговые ресурсы и ресурс рабов. Тут я приступил к написанию программы, которая бы это автоматизировала. Программа получилась весьма сложной, в ней я забил в память структуру, которая хранит как карту регионов, так карту высот (которая содержит вдвое больше плюс один пиксель по горизонтали и по вертикали) и эти пиксели должны соответствовать друг другу. Ну и хранение разных слоёв, так как карты состоят из слоёв, например карта разбивки по регионам и карта рек. Выведение на экран я освоил пока только для карты регионов и рек, которые программа считывает из *.tga-файлов. А дальше приступил к работе над торговыми ресурсами, чтобы можно было как заставить программу автоматически добавить по одному ресурсу рабов, а также указанное количество торговых ресурсов в выбранных регионах, так и вручную попиксельное размещение ресурсов на карте. Дальше я планировал, что на основе этой программы можно писать полнофункциональный редактор карт/кампаний с функциями автоматической генерации контента, продумывать который подробно бывает лень, ну или просто нужно быстрое тестирование. Но меня хватило только на рабочий редактор торговых ресурсов, ресурсы на карте Украины я уже добавил автоматически с помощью программы, а затем как-то на время моддинг RTW забросил, переключившись на другие интересы. Оказывается, с тех пор прошло аж два с половиной года, время течёт быстро. Вчера-позавчера я думал, что прошёл год, но то я ошибся, по ошибке посмотрев дату создания файлов, а нужно было смотреть дату изменения файлов, которая сентябрь 2018 года.
Сейчас на возвращение меня к моддингу RTW подтолкнул выход ремастера. Хотелось бы написать всякие простые новые моды, суть которых состоит в переносе готовых фракций с готовой линейкой зданий/юнитов на новую карту. Для этого хотелось бы иметь инструмент, который позволяет автоматически создавать на карте персонажей и войска, либо же чтоб можно было конструировать этих персонажей войска с помощью мышки, выбирая из готовых вариантов в редакторе кампаний, а не прописывать персонажей/войска вручную в текстовике. И уже только имея программу с функционалом, позволяющим генерировать рандомных персонажей/войска на карте приступать к созданию модов. Без наличия этой программы можно было бы сделать разве что адаптацию мода Amazon: Total War v3.0c под ремастер при условии появления нового компа, на котором запустится ремастер. Очень расстраивает пререндерная карта в ремастере и то, что Фералы не спешат выпускать инструмент для её генерации. Увы, это может почти полностью убить и похоронить моддинг под Ремастер а вместе с ним и интерес к ремастеру как к игре ещё до того, как Фералы выпустят этот инструмент, если выпустят его вообще. :( Создавать программу новый комп мне не нужен и тестировать можно на старом оригинальном RTW, не забывая вставлять фишки для RTW Remastered и для M2TW.

Основная идея программы
В первую очередь программа должна помогать создавать/редактировать кампании, то есть заниматься редактированием/генерацией контента, хранящегося в папке "data\world\maps\" - в папке base и в папке отдельной кампании (главная кампания, например "data\world\maps\campaign\imperial_campaign\", и дополнительные кампании, хранящиеся по адресу "data\world\maps\campaign\custom\" каждая в своей папке). Нужен генератор кампании, который мог бы сгенерировать практически с нуля готовый рабочий descr_strat.txt на основе базовых файлов мода вне папки "data\world\maps\", карты и разбивки по регионам. Это как здорово помогало бы в тестировании базовых файлов мода или же карты, так и позволяло ленивым фактически генерировать играбельную кампанию, просто взяв фракции, линейку зданий/юнитов из одного мода, а карту из другого мода. В том числе нужно, чтобы программа могла автоматически рандомно распределить готовые провинции между фракциями, задав процент провинций, которые будут принадлежать мятежникам. Также нужно, чтобы программа помогала мододелу быстро размещать на карте нужные элементы не путём редактирования текстовиком, а путём выбора позиции на карте и выбора, что хотим там разместить из разных панелек и списочков. То есть чтоб это был в одном пакете и редактор и генератор контента. И чтоб программа уже брала на себя проверку разных ограничительных условий - чтобы имя персонажа бралось только готовое из списка для фракции, чтоб в descr_strat.txt не дублировалось одно и то же имя для двух персонажей, чтоб у персонажа не было больше 4 детей (дурацкое ограничение движка игры, особенно с учётом того, что "сын" может быть старше "отца"), чтоб войска размещались в доступной местности, а не в море или в горах и т.д. Чем больше спорных моментов будет проверяться, тем легче мододелу будет концентрироваться именно на создании контента, а не на валидации его правильности.

Дальнейшее наращивание функционала
Должна быть подробная настройка того, как именно генерировать контент для кампании, в частности файл descr_strat.txt и descr_mercenaries.txt. Например то, как много войск размещать на карте, насколько они должны быть прокачаны, стоит ли провинциям с малым количеством провинций на старте давать более выгодные условия в плане прокачки войск. Стоит ли размещать на карте элитные/позние войска или только базовые и какой процент элитных/поздних войск использовать. Возможность отдельным фракциям на старте сделать упор скажем на кавалерию или на пехоту.
Редактирование карты следующий момент. Нужно, чтобы программа умела накладывать и выводить на экран одновременно карту высот и карту регионов. Также чтобы можно было выводить или отключать для отображения отдельные слои карты. Например, реки один слой, климат другой слой, торговые ресурсы третий слой, войска на карте ещё один слой. Чтобы можно было подредактировать разбивку по регионах с оглядкой на карту высот. Ну и в целом чтобы карта регионов редактировалась программой. Для этого будет некоторые элементы, подобные простейшему редактору Paint из состава Windows. Например, выбор цвета типа пипеткой, попиксельное рисование типа карандашом, заливка указанным цветом замкнутой области. Ну и прямо в программе мы выбираем новый цвет (в том числе рандомный), рисуем новый регион, а дальше вводим название региона, название города, русскую локализацию этих названий, а программа сама добавляет эти названия/локализации во все нужные файлы мода (descr_regions.txt, descr_strat.txt, descr_mercenaries.txt, imperial_campaign_regions_and_settlement_names.txt). Ну или так же легко одним кликом переименовываем регион/город. По тому же принципу рисовать другие слои, например реки и мосты или климатические зоны.
Также помимо редактирования кампании в программу полезно будет внедрить модули по редактированию базовых файлов, хранящихся вне папки data\world\maps\. Например, у меня уже есть готовая программа, помогающая мне создавать список имён. Я ввожу только список имён на украинском или на русском языке, а программа на основе этого создаёт фрагмент файла локализации data\text\names.txt и фрагмент файла data\descr_names.txt, создавая при этом названия на латиннице путём транслитерации (надо наверное эту прогу выложить на форум). Можно внедрить функционал этой малой программы в большую. Ну и например мы пытаемся вручную создать персонажа с именем, которого нет в списке имён для фракции. Программа предупреждает об этом и спрашивает, добавить ли новое имя в список имён для фракции. Если мы отвечаем "нет" то программа не даёт такого персонажа создать.
Обязательно нужно написать хоть какой-нибудь парсер файла data\export_descr_buildings.txt. Это будет очень сложно, но я уже продумывал как можно написать такой парсер, по идее реально. Если не для автоматического редактирования этого файла, так хотя бы для того, чтобы программа могла при автоматической генерации descr_strat.txt сама размещать стартовый набор зданий в городах именно в соответствии с линейкой строительства для данного мода, некоторые моменты возможно придётся программе вручную подсказывать, чтобы генерация проходила более разумно.
Также было хорошо, чтоб программа позволяла клонировать мод, дав новое имя папке с модом и автоматически изменив его во всех файлах мода, где упоминается относительный путь к этой папке.
Что очень важно, это кнопка "отменить"/"вернуть" (Ctrl+Z). Я решил, что нужно с самого начала писать программу так, чтобы она не просто вносила изменения, а запоминала эти изменения и можно было последние неудачные действия отменить. Это будет сложнее, чем просто писать программу без этого функционала, зато результат того стоит. Можно будет в настройках изменить, сколько последних действий должна помнить программа, чтобы имелась возможность отката. Некоторые действия, например заливка цветом на карте, будут требовать много места в памяти для хранения в истории.
Так же как я делал программы Для просмотра ссылки Зарегистрируйтесь нужно сделать, чтобы программа редактор/генератор кампаний/карт умела работать с тремя играми: Rome: Total War Remastered, Rome: Total War (старая оригинальная) и Medieval II: Total War учитывая индивидуальные особенности/отличия этих игр. Точно так же программа будет поддерживать три языка интерфейса: русский, украинский и английский с легкой возможностью перевода, что позволит ей распространиться за пределами постсоветского пространства. (Сложный движок локализации и многоязычности уже написан мною за последний месяц именно с расчётом, что будет использован в более серьёзных программах). Точно так же нужно будет документировать как работать с программой в справке, чтоб не получилось, что некоторый функционал я добавлю, а пользоваться этими функциями кроме меня никто не будет, так как просто не будет знать о них.

Что программа может дать для комьюнити моддеров RTW/M2TW
Программа должна значительно облегчить рутинные действия путём того, что их можно быдет выполнять не правкой текстовиков, а с помощью мышки, с внесением взаимосвязанных изменений во все нужные файлы одновременно. Также значительно облегчит жизнь путем того, что возьмет на себя проверку правильности и не будет давать сделать то, что не даст работать моду. Также это облегчит процесс моддинга для новичков, они смогут быстро и наглядно вносить изменения и не переживать за то, что появятся ошибки. Дополнительный эффект это даст за счёт перевода интерфейса программы и справки на английский язык.

Как это всё должно работать. Структура.
Сначала указываем первоисточник, откуда программа будет брать исходные файлы, но не будет там ничего изменять.
Указываем папку игры и если нужно, то папку с распакованными ресурсами игры.
Указываем папку дополнения и папку с распакованными ресурсами дополнения, если нужно.
Указываем папку мода и то, которое из дополнений используется (например Barbarian Invasion, Alexander).
Указываем рабочую папку, в которой программа будет хранить изменённый мод.
По ходу работы программы можно будет выбрать в выпадающем списке с какой именно кампанией мода мы работаем в данный момент или же редактируем общую для всех кампаний папку data\world\maps\base\, а также создать новую кампанию.
При закрытии программы или при нажатии кнопки "Сохранить" все произведённые изменения будут сохраняться в файлы рабочей папки. Можно будет не закрывая мою программу запустить при этом игру, указав ей в качестве мода рабочую папку, которую изменяет программа, чтобы сразу тестировать "не отходя от кассы".
Можно будет откатить выбранные файлы к исходным версиям из папки мода-источника или игры/дополнения.

Что есть на текущий момент. Рабочая программа по редактированию торговых ресурсов.
Чтоб вы видели, что это всё не голословные заявления, пока что выкладываю к вашему вниманию ту программу, которая у меня есть в наличии. Она умеет добавлять на карту торговые ресурсы и ресурсы рабов, слонов и верблюдов как в автоматическом режиме, так путём указания места на карте для каждого нового ресурса. Удалять добавленный ресурс пока не умеет. Текущая версия программы выводит на экран карту разбивки по регионам с наложенной поверх картой рек. Далее на эту карту наносятся ресурсы, которые считываются из файла descr_strat.txt.
Чтобы начать работать с текущей версией программы, положите рядом с *.exe-файлом программы карту разбивки по регионам map_regions.tga, карту с реками map_features.tga, файл с перечнем регионов descr_regions.txt и основной файл кампании файл descr_strat.txt. Эти 4 файла нужно взять из мода, с которым вы в данный момент работаете, и они не должны противоречить друг другу. Также рядом с *.exe-файлом программы всегда должны лежать файл resources.txt, откуда программа считывает какие вообще типы ресурсов использует игра RTW/M2TW, и папка images\ с иконками инструментов правой панели, в том числе с иконками ресурсов в папке images\resources\. В архиве, который я предлагаю для скачивания, рядом *.exe-файлами программы лежат файлы из изменённого мною мода Amazon: Total War, в который добавлена Атлантида между Испанией и Ирландией (уже с размещёнными на карте торговыми ресурсами и ресурсом "рабы") и провинции областей современной Украины вместо провинций Скифии (для них торговые ресурсы и ресурс "рабы"), также добавлены три провинции в Сахаре и провинция для острова Лесбос. При желании вы можете заменить эти файлы на файлы из другого мода и использовать мой инструментарий для добавления ресурсов на карту. Ещё рядом с *.exe-файлом программа автоматически создаёт файл Options.ini, в котором хранит настройки. *.exe-файлов вложено две штуки - 32- и 64-разрядные версии, они равносильны по функционалу.

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

Выберем масштаб и прокрутим карту так, чтобы вывести на экран области Украины. Как видим, ресурсов в этих провинциях, которые раньше были Скифией, очень мало для такого большого количества провинций:
Внешний вид программы с Украиной на карте до добавления ресурсов (раскрыть)

Теперь переходим на вкладку "Ресурсы". Здесь в левой колонке отображается список регионов с цветом региона и названием провинции и города в нём. Если выбрать мышью регион в списке, то в центральной колонке отобразится подробная информация по этому региону, взятая из descr_regions.txt. В числе прочего отображается внизу строка с перечнем ресурсов из descr_regions.txt, для каждого ресурса выводится число, сколько раз он размещён на карте в этой провинции, а также если на карте в этой провинции он есть, то выводятся координаты клеток, на которых он размещен. Флажками слева внизу выбирается, какая именно информация при этом выводится, к сожалению пока забыл дать флажкам более осмысленные названия. Можно выбирать несколько регионов сразу используя нажатия левой кнопки мыши при зажатой клавише Shift или Ctrl. Или выбрать пункт "Все регионы", чтобы отобразить информацию сразу по всем регионам. Выберем регионы, которые соответствуют новосозданным провинциям областей Украины в границах 1991-2013 гг. Для этого сначала нажмем левой кнопкой мыши на самом верхнем в списке регионе из новосозданных с номером 158 под названием "Krym|Simferopol", затем зажмём на клавиатуре клавишу Shift и нажмём самый нижний в списке регион из новосозданных с номером 183 и названием "Sevastopolshchyna|Sevastopol". Будут выделены все 26 провинций/регионов/областей:
Вкладка "Регионы" с выбранными в ней 26 регионами областей Украины 2013 года до добавления ресурсов (раскрыть)

Теперь нажмём кнопку "Создать отсутствующие на карте ресурсы". В тех провинциях из выделенных мышью, на территории которых нет ресурса "рабы", этот ресурс будет добавлен в произвольной клетке провинции. Как видим, после нажатия кнопки в регионах Vinnychyna, Volyn и Dnipropetrovshchyna количество ресурсов "рабы" изменилось с 0 до 1 и появились X,Y координаты этого ресурса на карте. В провинции Krym же ничего не изменилось, так как там и так ресурс "рабы" находился сразу в трёх разных клетках (изначально Крымский полуостров был поделен на три провинции в первоначальной версии мода от SubRosa). Внешний вид вкладки после нажатия этой кнопки:
Вкладка "Регионы" с выбранными в ней 26 регионами областей Украины 2013 года после добавления ресурса "рабы (раскрыть)

Теперь в автоматическом режиме попробуем добавить указанное количество торговых ресурсов для каждой выбранной провинции. После кнопки "Добавить" находится счётчик сколько именно ресурсов добавлять в каждую выбранную мышью провинцию. Флажок "уникальных" отвечает за то, чтоб при этом рандом не добавлял на разные клетки два и более экземпляра одного и того же ресурса, например два железа или два леса. Флажок "кроме шелка" отвечает за то, будет ли присутствовать шелк в перечне ресурсов из которого рандомно программа будет выбирать тип ресурса. Поскольку у нас Украина, то на её территории шелк не добывают и этот флажок желательно установить. Ставим количество ресурсов шесть и нажимаем кнопку "Добавить":
Вкладка "Регионы" с выбранными в ней 26 регионами областей Украины 2013 года после добавления ресурсов (раскрыть)

Переходим на вкладку "Карта" и любуемся как на карте появилось куча новых ресурсов:
Внешний вид программы с Украиной на карте после добавления ресурсов (раскрыть)

Также можно не создавать ресурсы автоматически, а добавлять их на карту в ручную. Для этого на вкладке "Карта" выбираем в правой панели нужный ресурс, а затем подводим курсор к нужной клетке на карте и нажимаем левую кнопку мыши. Ресурс будет добавлен именно в координаты данной клетки.
Теперь нужно сохранить полученный результат. Сама программа пока что в никакие файлы результат своей работы не пишет. Она умеет только вывести в текстовое поле, оттуда нужно скопировать и вставить в текстовом редакторе в нужный файл. Нажимаем слева внизу кнопку "Ресурсы...". Будет выведено на экран новое окно с двумя колонками. В левой колонке отображается содержимое файла descr_regions.txt, каким он должен стать после редактирования. В правой колонке отображается список ресурсов, каким он должен стать в верхней части файла descr_strat.txt, обратите внимание, что ресурсы разделены по провинциям, так легко понимать куда относится тот или иной ресурс, а то в файле descr_strat.txt они обычно скинуты в общую кучу и фиг разберёшь что к чему, если не наводить курсор на карту и не смотреть, где находятся координаты ресурса.
Ставим курсор в левой колонке, нажимаем Ctrl+A, чтобы выделить весь текст, затем копируем текст в буфер (правой кнопкой по тексту и нажать в появившемся меню кнопку "Копировать" или же нажать комбинацию Ctrl+C или Ctrl+Insert).
Окно с новым содержимым для файла descr_regions.txt и новым фрагментом секции ресурсов для descr_strat.txt (раскрыть)

Теперь переходим в текстовый редактор, вставляем текст из буфера и сохраняем это как новый descr_regions.txt. Далее переходим в моей программе в правую колонку, снова жмём Ctrl+A для выделения всего текста и снова копируем его в буфер. Теперь открываем descr_strat.txt в текстовом редакторе и заменяем в нём перечень ресурсов, который там был, на новый список ресурсов в буфере, сохраняем изменённый descr_strat.txt.
Теперь мы добавили новые ресурсы на карту в наш мод.

Скачать программу (самый ранний вариант): Для просмотра ссылки Зарегистрируйтесь, Для просмотра ссылки Зарегистрируйтесь
Программа по данной ссылке специально для истории не будет редактироваться, а будет со временем выложена новая ссылка по которой программа будет периодически обновляться.

Мои планы на ближайшее будущее
В ближайшие недели мне нужно будет занятся написанием сложной программы по работе, поэтому моддингом и программированием по игре заниматься я не буду. Возможно начну читать серию книг по Дюне Фрэнка Герберта и последователей с выписыванием в блокнот инфы для будущего мода по Дюне. Также буду потихоньку обдумывать концепцию написания данной программы редактора/генератора кампаний/карт, так как лучше изначально хорошо спроектировать, чем потом полностью переделывать. При этом буду общаться с вами, если вы мне предложите что-то по данной программе. Потом я хочу приступить к написанию данной программы. Для начала мне нужен хотя бы модуль, который будет размещать персонажей войска по карте. Ну и естественно весь скелет придётся сразу делать весьма сложный. Добавление функционала буду делать помодульно частями. Таким образом сразу будет виден некоторый результат и не нужно будет подолгу трудиться не видя отдачи. И легче будет отследить ошибки. Когда будет этот базовый функционал, можно будет приступить к созданию какого-нибудь мода из описанных мною в этих темах: Для просмотра ссылки Зарегистрируйтесь и Для просмотра ссылки Зарегистрируйтесь. Нужно будет сделать новую карту, а там с помощью программы можно будет легко и быстро наполнить мод ресурсами, персонажами и войсками. Всё это можно делать и без покупки нового компа и возможности запускать ремастер игры. Можно моддить под старый оригинальный Рим, а потом когда-нибудь перенести разработки в Ремастер. Тем более всё равно сейчас нет инструментария для создания пререндерной карты. Если инструментарий не появится, то так и останется всё в виде модов под старый Перворим. :( А с покупкой компа возможно возникнут финансовые сложности и придётся отложить это дело не на через полгода, а скажем на через год. :( Программу буду писать, чтоб она умела работать и с ремастером тоже, просматривать файлы ремастера, не запуская саму игру, я могу. Ну и вы мне подскажете, если программа будет делать с Ремастером что-то не то.

Просьба подбрасывать идеи
Пока что я создал эту тему не просто чтоб покрасоваться/похвастаться, а чтобы собирать ваши идеи по поводу того какой функционал вы хотели бы видеть в программе. Генерировать пререндерную карту для Ремастера, естественно, не просите, это могут сделать только Фералы. И всё что касается 3D-моделирования в целом и редактирования 2D-текстур тоже мимо меня. А вот какие рутинные действия при моддинге вы выполняете с высоким шансом допустить ошибку, чтобы можно было их автоматизировать, это было бы интересно знать. В первую очередь будет функционал по добавлению новой кампании на основе готового скелета мода, ну а потом можно будет заняться и изменением общих файлов мода. Ну и что можете посоветовать насчёт интерфейса программы, чтобы выполнять определённые действия было максимально удобно. Лучше заранее всё хорошо спроектировать и потом частями делать, чем потом отдельные моменты полностью переделывать. Жду ваших идей, предложений и пожеланий.
     Frei von Sorgen
    • Imperial
    Imperial
    Форумчанин

    Дата: 09 июня 2021, 01:46

    Kassatka (08 июня 2021, 23:46):

    Просьба подбрасывать идеи
    ...А вот какие рутинные действия при моддинге вы выполняете с высоким шансом допустить ошибку, чтобы можно было их автоматизировать, это было бы интересно знать. В первую очередь будет функционал по добавлению новой кампании на основе готового скелета мода, ну а потом можно будет заняться и изменением общих файлов мода. Ну и что можете посоветовать насчёт интерфейса программы, чтобы выполнять определённые действия было максимально удобно. Лучше заранее всё хорошо спроектировать и потом частями делать, чем потом отдельные моменты полностью переделывать. Жду ваших идей, предложений и пожеланий.

    Модю Медь. В принципе лично мне не сильно надо, но, думаю, для многих начинающих мододелов был бы очень полезным функционал сглаживания береговой линии. Предполагаю, что это не вызовет особых сложностей, так как там всё построено на нескольких алгоритмах соседства смежных пикселей суши и моря.
    Ещё было бы круто, если бы можно было создавать в программе точные утёсы. Они, как я понимаю, это жёлтые пиксели на побережьях Корнуолла, Бретани, Севера Испании, Фюна и Зеландии:
    Спойлер (раскрыть)

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

    Удачи автору в работе!
       Kassatka
      • Imperial
      Imperial
      Форумчанин

      Дата: 09 июня 2021, 03:51

      Заимствование карты из другого мода/игры с автоматической генерацией кампании.
      Да, я забыл акцентировать внимание на ещё одном очень важном функционале, который собираюсь внедрить в программу. При создании новой кампании можно будет выбрать "создать кампанию на основе карты из другого мода". Указываем папку ещё одного мода из которого хотим позаимствовать карту и выбираем какую именно карту из мода хотим позаимствовать, если в моде больше одной карты. Программа создаст для редактируемого мода новую кампанию и загрузит в неё все слои карты (карта высот, разбивка по регионам, реки, климат и т.д., ну и файл descr_regions.txt, разве что перечень религий в каждой провинции для этой карты будет создаваться уже на основе религий нашего мода, а не религий мода из которого позаимствовали карту. А вот перечень торговых ресурсов на карте можно уже заимствовать готовый из descr_strat.txt мода, с которого берем карту, ну или сгенерировать новый по желанию). Дальше, как я уже вроде говорил, можно будет легким движением руки автоматически сгенерировать наполнение этой карты войсками, наемниками и другим контентом - генерация descr_strat.txt и descr_mercenaries.txt. В том числе провинции будут автоматически распределены между фракциями. Таким образом человек даже очень далёкий от моддинга сможет легко опробовать фракции, линейку зданий и юнитов из одного мода с любой картой какого-нибудь другого мода. И получит сразу готовую кампанию, в которую можно играть. Более того, можно будет даже импортировать карту из другой игры, например из мода к Medieval II: TW в мод к Rome: TW. Например, легко можно будет создать кампанию, где привычные Юлии, Бруты, Карфаген, Парфия и т.д. будут сражаться на карте из Песни льда и пламени (Игра престолов) или в Средиземье, или в мире Варкрафта, или на карте Средневековой Европы, или на карте мира из мода про 1942 год. И всё это сможет проделать почти полный нуб в вопросах моддинга.
      Может кому-то играть юнитами из одной эпохи/вселенной на карте, соответствующей совершенно другой эпохе/вселенной, покажется лишним, но вот мне во-первых быстро приедается одна и та же карта и одни и те же стартовые позиции, во-вторых часто нравиться карта и хочется на ней сыграть, но не нравится линейка строительства и экономика мода, которые делают для меня мод неиграбельным. В таком случае для меня лучше будет сыграть на этой карте фракциями и юнитами уж чужой эпохи/вселенной, чем пытаться привыкнуть к тем новым механикам, которые натворил мододел. Можно будет при этом например не генерировать полностью новую разбивку провинций по фракциям, а взять из того мода, из которого берём карту и задать соответствие фракций этого мода фракциям нашего мода. Например, если берём карту из Игры престолов, то на месте Старков помещаем, скажем Германцев с линейкой юнитов Германцев, а на месте Ланнистеров фракцию Галлов с линейкой юнитов для Галлов. Ну и можно переименовать впридачу Германцев на Старков, а Галлов на Ланнистеров. Если заимствуем карту из M2TW для RTW, то может попросту не хватить лимита фракций, тогда территории фракции, которой не хватило лимита отдаем указанной фракции или мятежникам. Чуть больше возни, но всё равно быстро и доступно человеку, не владеющему моддингом.
      Собственно вручную разместить ресурсы, войска и прочее для создаваемого мода мне не так уж сильно сложно. А вот создавать с нуля каждый раз полноценную кампанию, когда хочешь просто разок попробовать для привычного мода непривычную карту, это замахаешься и оно того не стоит. Собственно это и есть главная причина из-за которой я затеваю сыр-бор с написанием такой сложной программы - чтобы можно было быстро генерировать кампанию на позаимствованной из другого мода/игры карте. Поэтому это будет одна из приоритетных задач.
      Ну и просто без заимствования карты можно будет сгенерировать новую кампанию на старой карте просто поручив программе по новому создать стартовые условия, перераспределить провинции между фракциями и разместить новых персонажей с новыми войсками. Это тоже будет неисторично или не соответствовать канону фантастики/фэнтези, но не настолько сильно, так как фракции и юниты останутся теми же самыми и карта будет из своей эпохи/ЛОРа.
         Kassatka
        • Imperial
        Imperial
        Форумчанин

        Дата: 09 июня 2021, 12:25

        Frei von Sorgen, спасибо за подбрасывание идей.

        Frei von Sorgen

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

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

        Frei von Sorgen

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

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

        Frei von Sorgen

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

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

        Frei von Sorgen

        И ещё очень вкусно лично для меня выглядит функция генерации случайной карты по заданным параметрам.

        Здесь будем идти по нарастающей. Сейчас прога умеет генерировать ресурсы на карте, затем программа должна уметь генерировать войска, затем должна научиться генерировать политическую карту разбивки провинций по фракциям, чтобы вручную не прописывать, какая провинция какой фракции будет принадлежать. Затем можно учесть Вашу идею и написать генерацию разбивки карты на провинции. Задаем, на сколько провинций хотим разбить карту и программа автоматически создаст провинции на территории суши на основе карты высот, ну и создаст города, а также порты для провинций у моря. При этом названия провинций можно брать рандомом из готового списка либо генерировать несуществующие в русском языке слова . Можно написать сложный алгоритм, который будет учитывать какие комбинации букв в слогах в русском, украинском и английском языках встречаются чаще всего. Например, скормить программе текстовый файл с произведением Толстого "Война и мир", а программа создаст базу данных частоты буквенных сочетаний. Этот функционал будет очень помогать при создании новой карты с нуля и рисовании карт высот. Можно быстро сгенерировать кучу провинций и войск и проверить, например, проходимость участков рельефа войсками. Ну и генерировать реки, климат и т.п. На этом скорее всего мои усовершенствования генерации карты закончатся, всё равно понадобится хорошая карта высот в качестве первоисточника. Но теоретически можно пробовать пойти совсем далеко и попробовать в самом конце написать генератор карты высот. Правда, скорее всего не хватит умений сделать так, чтобы с его помощью генерировались красивые и реалистичные карты, а не просто работоспособные.
           Crusader556
          • Imperial
          Imperial
          Форумчанин

          Дата: 09 июня 2021, 20:29

          Для оригинала или меди такая программа была бы довольно полезна. А вот в ремастере всё ограничится редактироваем descr_strat и самих провинций, т.к для добавления новых областей или вовсе создания новой карты потребуется не только сделать нужные файлы карты(base), а ещё и нарисовать текстуры для каждого из 104(столько в оригинале) кусков карты. Это мягко говоря многое затрудняет.
             scwosh
            • Imperial
            Imperial
            Форумчанин

            Дата: 09 июня 2021, 20:51

            Разве Фералы не обещали инструментарий для моддинга?
               Crusader556
              • Imperial
              Imperial
              Форумчанин

              Дата: 09 июня 2021, 22:34

              scwosh (09 июня 2021, 20:51):

              Разве Фералы не обещали инструментарий для моддинга?

              Обещали, но ему ещё предстоит пройти через допиливание(вообще неизвестно на какой они стадии разработки) и закрытый тест мододелами, которые сотрудничают с разрабами.
                 EDEXO
                • Imperial
                Imperial
                Экскомьюникадо

                Дата: 10 июня 2021, 12:32

                Kassatka

                Возможно начну читать серию книг по Дюне Фрэнка Герберта и последователей с выписыванием в блокнот инфы для будущего мода по Дюне.
                Удачи. Я сам думал о подобном, но понял что не потяну :017:

                Kassatka

                Таким образом человек даже очень далёкий от моддинга сможет легко опробовать фракции, линейку зданий и юнитов из одного мода с любой картой какого-нибудь другого мода. И получит сразу готовую кампанию, в которую можно играть. Более того, можно будет даже импортировать карту из другой игры, например из мода к Medieval II: TW в мод к Rome: TW.
                Это, наверное, единственная вещь из-за которой я был бы точно счастлив попробовать предлагаемый в будущем редактор новых кампаний. Не представляю, сколь времени это займёт, отладить автоперенос всех карт и текстовиков с названиями городов~регионов, автозаполнение descr_strat и descr_regions (мега сложно, ИМО) + автоподгон названий провинций в свои привычные подборки наёмников и чтобы автоматически бралось описание для фракций из campaign_description, это будет что-то с чем-то. Идея потрясная, врубаю "режим предвкушения".
                  Подарок от Мегатонны / Megaton Return
                  Дата: 30 ноя 2021, 11:44
                  Гараж в Мегатонне/Garage in megaton
                  Дата: 30 ноя 2021, 10:30
                  Combined Arms - Modern Weapon Pack
                  Дата: 24 ноя 2021, 14:53
                  9x39 Project RUS
                  Дата: 24 ноя 2021, 14:41
                  FROST Survival Simulator
                  Дата: 24 ноя 2021, 14:28
                  DUST Survival Simulator
                  Дата: 24 ноя 2021, 14:23
                  Русский Штурмовой Набор
                  Дата: 24 ноя 2021, 11:42
                  Fallout 3 (Fixed Edition)
                  Дата: 24 ноя 2021, 11:11
                  Звуки Даймонд-сити / Diamond City Ambience
                  Дата: 24 ноя 2021, 10:55
                  Радио старого света 2 / Old World Radio 2
                  Дата: 22 ноя 2021, 10:57
                  Barbarian Invasion: Late Campaign
                  Дата: 05 ноя 2021, 16:30
                  Voyage to the Dreamborn isles
                  Дата: 12 окт 2021, 14:44
                  Faster End Turn Camera
                  Дата: 11 окт 2021, 17:08
                  Часовой механизм / Clockwork (Clockwork Castle)
                  Дата: 11 окт 2021, 15:15
                  Море Призраков
                  Дата: 11 окт 2021, 15:07
                  Цитадель Порядка
                  Дата: 11 окт 2021, 14:33
                  Город Ледяное ущелье
                  Дата: 11 окт 2021, 14:30
                  Fleur de Lis: Normans
                  Дата: 10 окт 2021, 21:41
                  Зал Телванни
                  Дата: 10 окт 2021, 15:57
                  Колодец Волшебника
                  Дата: 10 окт 2021, 15:49
                  Дозорный / VIGILANT
                  Дата: 10 окт 2021, 15:19
                  UNSLAAD / Унслаад
                  Дата: 10 окт 2021, 15:07
                  Carved Brink / Огранные камни
                  Дата: 10 окт 2021, 15:02
                  The Blackwood Company
                  Дата: 10 окт 2021, 13:56
                  Темный
                  Дата: 10 окт 2021, 13:03
                  Зеркало Магнуса
                  Дата: 10 окт 2021, 12:47
                  Сборник Лорного Оружия
                  Дата: 10 окт 2021, 12:40
                  Сборник лорной брони
                  Дата: 10 окт 2021, 12:31
                  Han Souls 7.1
                  Дата: 04 окт 2021, 16:46
                  The Sigh of Empire - The Storm Riders
                  Дата: 04 окт 2021, 16:35
                  Road to Luoyang
                  Дата: 04 окт 2021, 16:30
                  Building Progression Icons II
                  Дата: 02 окт 2021, 19:32
                  Better Camera Mod
                  Дата: 26 сен 2021, 19:56
                  GCCM: Unique Faction Capitals
                  Дата: 21 сен 2021, 14:26
                  Region Trading
                  Дата: 20 сен 2021, 20:17
                  Ancient Empires Total Wars
                  Дата: 28 авг 2021, 13:48
                  [EU4] Stellaris UI Font
                  Дата: 21 авг 2021, 17:44
                  [EU4] Graphical Map Improvements
                  Дата: 13 авг 2021, 19:26
                  Old World Blues
                  Дата: 09 авг 2021, 19:36
                  The Greek Wars
                  Дата: 08 авг 2021, 20:57
                  Warhammer TW - Call to Arms
                  Дата: 08 авг 2021, 18:25
                  Empire at War Expanded: Thrawn's Revenge
                  Дата: 07 авг 2021, 17:30
                  Empire at War Expanded: Fall of the Republic
                  Дата: 02 авг 2021, 19:57
                  Hydra Total War
                  Дата: 30 июл 2021, 15:22
                  Воспользуйтесь одной из соц-сетей для входа
                  РегистрацияВход на форум 
                  2021 «Империал» · Условия · Ответственность · Визитка · Сотрудничество · 08 дек 2021, 18:07 · Счётчики