Информация /творческая адаптация инфы с сайта Dreamcatcher-а (автор - известный барнаульский онлайнщик MaximusX) к данной теме с моими добавками/.
Генератор случайных карт. Шаблоны.При создании произвольной карты генератор случайных карт (англ. RMG – Random Map Generator) игры Heroes of Might and Magic III основывается на информации из файла rmg.txt, который находится в одном из ресурсных файлов игры. В этом файле содержатся описания всех шаблонов. Один шаблон представляет собой набор правил для генерации карты, т.е. содержит информацию о принципах расположения объектов и наполнения территории (кол-во городов, связи между городами, сила монстров, виды и кол-во объектов на карте и т.п.). По каждому шаблону генерируются карты одного типа. Каждый раз при генерации карты условно произвольным образом выбирается шаблон из этого файла. «Условно», означает, что учитываются только те шаблоны, которые удовлетворяют стартовым настройкам, устанавливаемым в игре перед генерацией произвольной карты (кол-во игроков, размер карты). Первоначально файл rmg.txt создали не совсем сбалансированным, т.к. в нем имеются несправедливые, слишком халявные и «несимметричные» шаблоны. Поэтому более распространенной является некоторая редакция этого файла. Кому интересно, может посмотреть прикрепленный файл - rmgGood.txt. В нем просто удалены «нехорошие» шаблоны. А содержит он почти 40 различных шаблонов для любых настроек. Среди этих шаблонов - 2SM4d, 2SM4d(2), 2SM4d(3), 8MM6 и другие, известные и неизвестные.
Кроме этих, теоретики-любители игры самостоятельно разработали довольно много других шаблонов, интересных, различных по содержанию, подразумевающих разнообразие тактики, которые сейчас активно входят в нашу игровую жизнь.
Описания самых распространенных шаблонов приведены и будут добавляться в этой теме.
Для игры на понравившемся шаблоне нужно скопировать текстовый файл шаблона, прикрепленный к описанию, в папку Data (находящуюся в папке, в которой установлены Герои), при необходимости переименовать его в rmg.txt и перезапустить игру, чтобы изменения вступили в силу.Основные понятия, используемые в шаблонах.Зона - территория карты с одинаковой местностью (трава, снег, болото и т.д.). Размер каждой зоны ограничен. Для каждой зоны можно указать тип местности (задать конкретные или привязать ее к типу замка), а также, какие нейтральные города и монстры могут появиться в этой зоне (по тому же принципу). Для каждой зоны в rmg.txt указывается, какие шахты будут находиться в ней, диапазон и плотность различных объектов игровой карты (прописываются не конкретные объекты, а группа объектов, которые могут появиться на этой зоне).
Параметр Value - определяет значимость объекта. Чем больше это значение, тем лучше считается объект. Диапазон объектов зоны как раз задается этим значением. Параметр Value у объекта прямо пропорционально влияет на силу монстров охраняющих его. Соответственно, если монстры охраняют не один объект, то на их силу будет влиять уже суммарная значимость охраняемых объектов.
Вот информация с heroes.ag.ru (автор Typucm) по этому поводу:
TypucmКаждому объекту карты соответствует некий интервал (а не значение, как раньше считали). Если интервал или хотя бы его часть попадает в интервал, указанный в шаблоне (темплейте), этот объект может появиться на карте. Причем интервал, соответствующий объекту, может быть открытым с одной стороны (Value>const). Т.е. если сделать "Value 20000-20000", на карте, помимо прочих, появятся весьма "дешевые" объекты, например: склеп, академия битвы, школа магов.
Запись "1000-" соответствует интервалу "от 1000 до бесконечности"
Запись "1000-1500" соответствует интервалу "от 1000 до 1500"
Значения Value для некоторых объектов, экспериментально определенные Туристом, приведены в таблице:
Typucm Еще заметил в презентации фразу: Some treasure objects have restricted quantities. A second Temple in the same zone is not valuable, and can appear repetitive. Решил проверить. Получается, что в одной зоне не могут встретиться дважды: Храм; Идол Удачи; Лебединое Озеро; Фонтан Молодости; Флаг Единства; Фонтан Удачи; Домик Фей; Святилище; Колодец Мага; Конюшни; Рынок (кроме заснеженного); Магический Ручей; Водоем; Обсерватория Красного Дерева; Фабрика военной техники, т.е. все объекты, дающие при посещении бонус к Удаче, Духу и/или передвижению *.
Дальше пока не проверял. Не тестил двеллинги (они начинают появляться на 1000), пустынные и водные объекты.
В хатах и пандорках дают существ одного из замков, которые есть на карте. Количество монстров каждого вида фиксировано. Например, гогов всегда 45, магогов - 30.
* возможны, однако, исключения из этого правила; они случаются редко и, по-видимому, являются багами генератора.Каждая зона имеет связи с другими зонами, обычно
проход между двумя зонами охраняется нейтральными монстрами, сила которых зависит от важности данного прохода.
Монстры. Для каждой зоны указывается сила монстров, ее населяющих.
Weak или слабые (k=0.5 ?)
Average или средние (k=1)
Strong или сильные (k=1.5 ?)
Разницу, например, между сильными и средними монстрами можно объяснить на примере. Если в зоне А стоят сильные монстры, а в зоне Б – средние, это значит, что один и тот же объект в зоне А будут охранять монстры в 1.5 раза сильнее, чем в зоне Б.
Примечание: Не путать с силой монстров, которая выбирается при генерации карты!
Базовое значение силы монстров приведено в
таблице в посте от Lider1.
При генерациях с использованием одного и того же шаблона будут сохраняться одни и те же зоны, одни и те же связи между ними, наполнение зон будет производиться из одних и тех же диапазонов объектов. Но зона никак не привязывается к координатам игровой карты, поэтому при повторной генерации одного шаблона, скорее всего, все зоны будут находится в других местах игровой карты.
Если обозначить зоны вершинами, а проходы между зонами - связями с определенными весами, то получится граф, который полностью определяет топологию карты, генерируемой по конкретному шаблону. Это и есть графическая схема шаблона.
Условные обозначения, которые часто используются при изображении схемы шаблона, приведены в табличке:
Все зоны на схеме пронумерованы. Зона, в которой стартует игрок, выкрашена в цвет флага данного игрока. Нейтральные зоны закрашены серым цветом. Картинки ресурсов рядом с зонами означают, что в данной зоне будет шахта по типу изображенного ресурса. Если шахта одна на зоне, то ничего не пишется, если несколько, то в правом-верхнем углу от картинки ресурса указывается количество таких шахт, а я люблю рисовать все шахты))).