17 декабря, 2018

Oxygen not included, генератор мира, мир asteroid

Есть в оксигенке кроме стандартной генерации, еще парочку. Но при этом обе они неиграбельны, потому что сделаны на старой версии и не имеют нужных биомов.

Мне понравился генератор The rock, и я решил разобраться с ним и починить его. Суть в том, что он генерит круглый астероид в воиде.

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

Да, это довольно хардкорно, когда стартовый биом со всех сторон греется нефтяным биомом со средней температурой в 80 градусов. Но если получится выжить, то дальше все будет куда проще.

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

drive.google.com - забрать мир можно здесь.

Положить файлик надо примерно вот сюда:
M:\Steam\steamapps\common\OxygenNotIncluded\OxygenNotIncluded_Data\StreamingAssets\worldgen\worlds

Насчет самого файла.
worldsize - размер мира в блоках по x и y.
ZoneFiles - тут должна быть относительная ссылка на файлы биомов. Иначе их нельзя будет дальше использовать.

Дальше идут - tagcommand - это блоки последовательно описывающие генерацию.
У меня первой командой идет заливка всей карты биомом Space.
Дальше я использую команду Replace чтобы заменять биом спейс на нужный нам.

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

  - tagcommand: DistanceFrom
    tagset: StartWorld
    distance: 1
    maxDistance: 3
    distCmp: 0 # -1 less than, 0 equal, 1 greater than
    command: Replace
    subworldNames:
      - OilPockets
Мы берем стартовый мир. И на дистанции больше 1 и меньше 3 биомов мы заменяем космический биом на биом с нефтью.

Остальные биомы добавлены аналогично. Только на дистанции 2-4 стоят джунгли. 3-5 - болото и 4-6 - лед.

Кроме StartWorld для дистанцирования можно использовать NearOrAtSurface и NearOrAtDepths . Оно будет размещать биомы относительно верхнего или нижнего края карты соответственно.

Комментариев нет:

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