Генератор миров – О великий рандом, или же как написать историю без усилий. / Блог f0kes

Содержание

Пример генератора мира в 2D играх

Всем привет, ребята!
Недавно я копался в одной группе и стал замечать активность вопросов: «Как сделать генерацию мира?»
Что ж, пришло время ответить на этот вопрос

Создание блоков ландшафта

Сначала нам нужно создать блоки для генерации нашего ландшафта:

  1. Объект, который будет определять позицию для нового блока . Это наша начальная точка генерации блоков.
  2. Трава
  3. Блок земли с травой
  4. Земля 
  5. Камень

Ещё добавляем Счётчик на Frame.  Он будет генерировать случайное число, что бы рандомно создавать землю и камень.

Все объекты должны быть расположены за пределом экрана.

Так же нам понадобится сетка размером 32×32:

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

Добавим новую переменную для объекта генерации. Назовём её Начальный_Y.

Теперь переходим в редактор событий и создаем новое событие:

Затем запускаем повторение «АБВ».

Когда выполняется цикл, объект смены генерации просто перемещается вниз на 32 пикселя.

Эти события нужны для того, чтобы начальная точка Объект Генерации не стоял на одном месте.

Когда происходит повторение, то каждый раз счётчик устанавливает случайное число от 0 до 8.

Если счётчик при очередном повторении не равен нулю, то создаётся блок земли в позиции блока генерации.

Если счётчик равен нулю, то создаётся блок камня в позиции блока генерации.

Когда блок генерации доходит до самого низа, то:

  • перемещаем объект генерации на следующий столбец (по оси X) в случайную координату по Y
  • перезаписываем переменную Начальный_Y
  • создаем траву (наверху нового столбца)

На этом всё, дорогие друзья!
Пожалуйста, оставь комментарий и нажми на , если тебе понравилось
Всем удачи в разработке!

 

Скачать исходный файл

Всем привет, ребята! Недавно я копался в одной группе и стал замечать активность вопросов: «Как сделать генерацию мира?» Что ж, пришло время ответить на этот вопрос Создание блоков ландшафта Сначала нам нужно создать блоки для генерации нашего ландшафта: Объект, который будет определять позицию для нового блока . Это наша начальная точка генерации блоков. Трава Блок земли с травой Земля  Камень Ещё добавляем Счётчик на Frame.  Он будет генерировать случайное число, что бы рандомно создавать землю и камень. Все объекты должны быть расположены за пределом экрана. Так же нам понадобится сетка размером 32×32: Создание генерации мира Добавим новую переменную для объекта генерации.…

Пример генератора мира в 2D играх

Пример генератора мира в 2D играх

2016-01-21

Андрей Кашников

Рейтинг: 5 ( 1 голосов)     Рейтинг: 4,67 ( голосов — 15 ) Загрузка…

gamesquest.ru

Генератор названий мест и областей (а также краткая инструкция по топонимике)

Примечание: те, кто итак всё знает, могут сразу перейти к генератору — он находится в самом конце страницы.

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

Однако вопрос с именами, не был закрыт окончательно. Ведь кроме имен «живых», оставались ещё имена «не живых», а точнее – не имена, а названия, и не персонажей, а местностей.

С этим сталкивался каждый, кто хоть раз пытался нарисовать карту. Горы, реки, лес – по-хорошему, всё это требует собственных названий…. И да, вскоре выясняется, что родить что-то круче «чёрной реки» или «лысой горы» — довольно сложно.

Проблема даже не в том, что «чёрная река» звучит избито, а в том, что следом за ним обязательно пойдет «красный лес», «синяя речка» и т.п. «цветные топонимы». Поэтом, чтобы не забивать голову дополнительными цветастыми эпитетами, я написал ещё один генератор – на этот раз

генератор названий мест, областей и локаций.

Он не делает ничего сверхнеобычного, и просто комбинирует хренову тучу составных частей различных реальных названий, выдавая вполне сносные результаты для первичного «массового» заполнения вашей карты области. Как показывает практика, именно таких простых односложных названий хватает в 95% случаях. Оставшиеся пять процентов – это те ключевые локации (названия деревень, городов), в которых «автоматика не справляется» и все приходится делать вручную… однако теперь вы можете потратить на этот увлекательный процесс на 95% больше времени, ведь генератор сделает всю черновую работу за вас  : )

Как образуется большая часть названий

Некоторых граждан может напрягать «простота» звучания названий. Ну что за «синяя речка» в нашем 21-ом веке, кого мы хотим удивить, нас же засмеют!

И вот, специально для подобных случаев, вы можете использовать простейшую технику, суть которой дает нам сама жизнь. Помнится, когда я в первый раз был в родных местах жены, меня очаровало звучание названия местности: Арылах. Красиво звучит, правда? Волшебно, «по фэнтезийному». Хотя означает в переводе (с якутского) что-то вроде «место на озере», то есть самую обыденную обыденность.

Возьмем, до кучи, названия великих рек: Лена, Миссисипи, Волга, Янцзы… список можно продолжать и продолжать. Знаете, что объединяет эти названия? Правильно, то, что в грубом переводе, все они означают понятие «большая вода».

Дальше больше:

Название большинства древних городов обозначает в дословном переводе – город.

Название большинства народов и племен обозначает в дословном переводе – люди.

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

Принцип понятен? Берем любой фэнтези словарик (их много в интернете в виде книг, а яндекс-переводчик на синдарин (эльфийский) переводит вообще в режиме онлайн), и превращаем нашу «черную речку» в Хавабарак (орчий), Наргнал (гномы Толкиена), а то и в Фекете-фою (Венгерский).

И ещё кое что про названия мест…

Похоже звучащие названия не всегда появляются при одинаковых условиях. Например: Якутск и Иркутск – с первого взгляда названия похожие как две капли воды. Но, первое дано по имени проживающего в окрестностях города народа (якуты), а второе – по имени реки Иркут.

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

Ещё одна значительная особенность названий – со временем они могу изменяться. Мне очень нравился пример из игры Ice Wind Dale, где развалины эльфийской крепости назывались

«Отрубленная рука». На первый взгляд – совершенно идиотское название. Кажется, что оно нарочно дано, чтобы сбить настрой от игры, ну посудите сами – где эльфы, а где отрубленная рука.

На самом деле, когда крепость ещё принадлежала эльфам, она называлась «Рука Селдарина». А после гибели крепости во время войны, то что от неё осталось стало называться «Отрубленной рукой». Маленький эпизод, который не разрушает ткани игры, а напротив, позволяет глубже в неё «закутаться».

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

Генератор названий

Краткий FAQ по генераторам для ролевых игр.


Создать 5 названий!


Ну, нажимай на кнопку, нажимай!

 

stormtower.ru

Ультра Генератор на любой вкус

Генератор подписей

Сгенерируй себе интересную подпись и сохрани на компьютер

Начать

Генератор паролей

Сгенерируй сложный пароль для отлиной защиты

Начать

Победитель в конкурсе Ютуб

Выбрать победителя ютуб

Начать

Победитель в конкурсе ВК

Конкурс Вк выбрать победителя

Начать

Скачать видео с Ютуб

Скачайте видео онлайн генератром

Начать

Генератор рифм

Сгенерируй рифмы для твоей учебы

Начать

Генератор цитат

Сгенерируй сколько нужно цитат онлайн

Начать

Генератор фактов

Интересные факты для твоего саморазвития

Начать

Генератор анекдотов

Сгенерируй анекдоты для себя и друзей

Начать

Генератор HTML цветов

Создай уникальный цвет для проекта

Начать

Генератор игральных карт

Сгенерируй игральные карты

Начать

Генератор имен и фамилий

Создай уникальные сочитания

Начать

Генератор комплиментов

Лучшие комплименты для твоей любимой

Начать

Жребий онлайн

Сгеренируй жребий

Начать

Генератор фильмов

Выбери интересный фильм для просмотра

Начать

Генератор броска монетки

Бросай монетку на удачу онлайн

Начать

Генератор броска кости

Бросай кости онлайн

Начать

Генератор да или нет

Сгенерируй ответ онлайн

Начать

Шар предсказаний онлайн

Сгенерируй предсказание

Начать

Разделить на группы

Разделить список на группы

Начать

Перемешать список

Перемешать список онлайн

Начать

Генератор QR кода

Сгенерируй данные в QR код

Начать

Номер в QR

Кодирует телефон в QR

Начать

SMS в QR код

Кодирует сообщение в QR код

Начать

Логин Skype в QR

Кодирует логин в QR

Начать

Email в QR

Сгенерируй Email в OR код

Начать

Vcard в QR код

Кодирует визитку в QR

Начать

Генератор чисел лотереи

Генерируй числа для лотереи онлайн

Начать

Генератор штрих кода

Генератор штрихкода

Начать

Генератор названий фирм

Создай уникальное название для фирмы

Начать

Генератор номеров кредиток

Делай номера Mastercard и Visa онлайн

Начать

Большие города

Генератор больших городов

Начать

Выбрать страну

Генератор всех стран для ткризма

Начать

Генератор стихов

Читай стихи и получай вдохновение

Начать

Калькулятор кредита Сбербанка

Кредитный калькулятор сбербанка

Начать

Генератор никнеймов

Сгенерируй интересный никнейм для своего профиля

Начать

Генератор слоганов

Создай свой слоган

Начать

Генератор загадок

Загадки с ответами

Начать

Генератор кличек животных

Сгеренируй кличку животного

Начать

Генератор тона

Частота тона Hz

Начать

Гадание на 36 картах

Гадание на картах онлайн

Начать

Генератор слов

Сгенерируй нужные слова для беседы

Начать

Генератор поз для секса

Сгеренируй позы для секса

Начать

Гадание на ромашке

Ромашка любит не любит

Начать

Генератор случайных чисел

Сгенерируй случайное число для своих нужд

Начать

Наши онлайн генераторы помогут решить Вам много задач и при этом сохранят Ваше время. Будь то скачивание, гадание или генерация данных, мы со всем справимся!

ultragenerator.com

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 улучшается от версии к версии, и моделирование мира становится всё более интересным, особенно после введения передвижений армий.

dfwk.ru

Оставьте первый комментарий

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*