World generation

Материал из Dwarf Fortress Wiki
Перейти к навигацииПерейти к поиску


Для того, чтобы начать играть в Dwarf Fortress, требуется сгенерировать мир. В главном меню игры вы можете выбрать Create New World! или Design New World With Advanced Parameters.

В зависимости от возраста мира его создание может занять несколько минут или даже часов. Может показаться, что создание огромного мира с богатой историей совершенно не нужно, но это далеко не так. Это то, чему Toady посвятил очень много времени. Пока вы ожидаете генерации, рождаются и умирают уникальные личности, строятся и разрушаются крепости, появляются и погибают целые цивилизации. Dwarf Fortress не только игра, это симулятор гигантского мира фэнтези. Режим крепости и режим приключений позволяют влиять на крошечную часть этой сказки, и вы можете написать свой собственный раздел — одну из глав на огромной книжной полке.


Настройки меню «создания мира»

Opening world generation screen.

Как только Вы нажмете «Design New World With Parameters» (создание мира с определенными параметрами), вы перенесетесь в меню с множеством настраиваемых параметров. (при выборе «Create New World Now!» создает мир согласно настройкам по умолчанию.) При нажатии «Enter» мир начнет создаваться с учетом выбранных опций. Часть опций Вы можете увидеть в левом верхнем углу.
Title — название создаваемого шаблона.
Seed (семя) — случайное или заранее введенное число, которое будет использовано при создании мира.
Dimensions — размер Вашего мира.
Random Name — случайное название мира. В данном примере мы оставим эту опцию без изменений.


Название шаблона (Title)

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

  • Чтобы отредактировать название шаблона, нажмите t.

Начальное число (Seed)

Создание истинно случайного числа для компьютера невозможно. Как правило, генератор «случайных» чисел использует отобранную математическую последовательность, чтобы создать «случайное» число. Если ввести в генератор то же самое число, что и другой игрок, теоретически можно сгенерировать идентичные миры для обоих игроков.

  • Чтобы использовать случайное начальное число, нажмите S. Чтобы ввести начальное число, нажмите s

Название (Name)

Название вашего мира. Не путать с названием шаблона (title). Будет фигурировать в некоторых игровых текстах.

  • Чтобы изменить название, нажмите n и введите желаемое.
  • Чтобы миру было присвоено случайное имя, нажмите N.

Выбор параметров

В правом углу экрана находится список всех созданных шаблонов. По умолчанию создано несколько шаблонов для миров различных размеров — от LARGE (большой) до POCKET (карманный). Для выбора используется стрелочная ( и ) и цифровая ( 8 4 9 3 ) клавиатуры.

  • Чтобы сохранить текущие настройки, нажмите F6.
  • Чтобы вернуться к настройкам по умолчанию, нажмите F1
  • Для создания нового шаблона, нажмите a. Чтобы удалить шаблон, нажмите d. Чтобы скопировать параметры, нажмите c.

Создание мира

Как только вы закончите с настройками и будете готовы создать свой мир, нажмите Enter. Для начала создания мира необхоимо подтвердить изменения. Генератор начнет создавать мир, основанный на введенных алгоритмах. Процесс создания мира часто занимает очень много времени, так что не пугайтесь — алгоритм создания довольно сложен. К тому же, чем сильнее ваши настройки отличаются от настроек по умолчанию, тем больше времени займет создание.

Скриншот создания мира
Создание мира в версии с графическим пакетом

Сохранение карты

Как только мир будет создан, Вам предоставится возможность сохранить созданную карту, экспортировав её в графический фаил, формата BMP с высоким разрешением. С версии с33 вместе с игрой поставляется фаил compress_bitmaps.bat, который преобразовывает файлы BMP в меньшие по размеру (примерно на 90 %) файлы PNG.

Пример созданного мира в графической версии

Как только вы закончите, нажмите Enter или Space, чтобы вернутся к экрану шаблонов.

Пакетная обработка данных

Вы можете использовать приведенный ниже пример, для того, чтобы создать очередь команд, которые позволят создать множество миров сразу. Скопируйте код, приведённый ниже, и сохраните его как .ВAT файл. Этот файл создаст семь регионов, используя случайные названия и начальные числа — сиды. Также, пакет автоматически создаст параметры и карту для каждого из миров.

Примечание: Удостоверьтесь, что у вас свободны ячейки регионов 1-7 среди сохраненных миров в папке с сейвами.
for /L %%i in (1,1,7) do start /wait /high dwarfort -gen %%i RANDOM STANDARD
Примечание: Если вы используете версию Dwarf Fortress в которой у исполняемого .exe файла есть в имени пробел, используйте следующую командную строку, дающую тот же результат.
for /L %%i in (1,1,7) do start /wait /high "" "dwarf fortress" -gen %%i RANDOM STANDARD
Примечание: Если вы набираете эти команды в командной строке, а не создаёте .bat файл, используйте %i вместо %%i.

Как работает генератор миров

Вероятно, Вам любопытно, что происходит во время генерации мира. (Примечание: информация взята из 10-страничного интервью Toady в Gamasutra)

  1. Preparing Elevation/Setting Temperature: Подготовка карты высот/установки температуры. Происходит проектирование будущего мира, путём генерации фрактальных карт:
    • Четыре основные карты, используемые для генерации биомов:
      • Elevation: Высота над уровнем моря. С помощью алгоритма перемещения средней точки (Midpoint Displacement) вычерчивается рельеф местности.
      • Temperature: Температура. Карта температур изменяется исходя из широты и высоты местности.
      • Rainfall: Осадки. Позднее в моделировании эта карта изменяется под влиянием таких факторов, как дождевая тень.
      • Drainage: Дренаж. Говорит о том, как быстро вода будет уходить из местности.
    • Четыре других:
      • Vegetation: Растительность. Насколько густая растительность на местности. Позднее изменяется, в процессе генерации истории, так как цивилизации вырубают леса.
      • Salinity: Минерализация. Дифференциация солёной/пресной воды на местности других подобных вещей. Области ниже определённой высоты (океаны) автоматически получают минерализацию 100.
      • Savagery: Суровость дикой природы. Насколько опасны дикие животные на местности.
      • Good/Evil: Добро/Зло. Оказывает влияние на вид флоры и фауны на местности.
  2. Creating Biomes: Создание биомов в зависимости от рельефа местности, температуры, дождевой тени и дренажа (к примеру, если дождевая тень >=66/100 и дренаж менее 50, то эта территория является болотом)
  3. Running Rivers: Моделируется эрозия и создание рек.
    • Цитируя Toad: «Выбираются базовые точки в горах (горы это все площади выше определённой высоты), затем оттуда прокладываются временные маршруты рек, со спуском на более низкий уровень местности и если не найдён уровень ещё ниже, то прорезается русло реки, пока не впадет в океан или не упрётся куда-либо. На этом этапе вы можете видеть, как стираются горы во время моделирования мира. Я специально фокусирую экран моделирования на горах в этот момент, чтобы вы могли наблюдать… Как правило, получается несколько хороших русел, впадающих в океан, и после этого запускаются реки.»
  4. Forming Lakes: Создание озёр и завершение образования рек.
    • Исправляются получившиеся на предыдущем этапе закольцованные реки.
    • Рассчитывается поток для определения, какие реки являются притоками.
    • На этом этапе также происходит наименование рек.
  5. Forming Regions: На этом этапе генератор смотрит какой биом в данном квадрате является основным, и формирует регионы, или связанные области на карте, которые содержат одни и те же типы биомов. Каждый регион получает своё имя с помощью Случайного генератора имён.
  6. Growing Vegetation: Рассчитывается популяция растительности для каждой местности.
  7. Verifying Terrain: Здесь мир вероятно проверяется на согласованность.
  8. Recounting Legends: История мира моделируется до конца года или пока не будет удовлетворён параметр 'Процент убитых чудовищ'.
  9. Finalization: Полученные переменные мира проверяются и принимают окончательный вид.
  10. Upon Exit: Вся информация о мире экспортируется в папку «региона» в 'data/save/'

Отбраковка

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

Игровой мир
Главное
Карта
Биомы
Особенности
Подземный мир
Цивилизации
Места
Структуры
Прочее