Пожалуйста, обратите внимание на наш сервис рекомендаций игр Во что поиграть.
О Игротопе | Регистрация | Я всё понял, скрыть данное сообщение на неделю.
0
|
Все посты / Игра Boundless / Посты [126] Как сменить материал фабриката |
|
Это статья об игре Boundless от DamTerrion
2399 0 14 июня 2017 г. Редакция
|
Эдры должны висеть в воздухе на разной высоте, иначе будут очень скучными. И они должны быть из разного камня, хотя каждый эдр по моей идее состоит только из одной породы. Так что у меня во время работы возникли такие проблемы:
• Как сделать копии сложного объекта на разной высоте?
• Как сделать копии сложного объекта из разных материалов?
Можно было бы просто перерисовать каждый экземпляр несколько раз - это потребовало бы всего лишь в одиннадцать раз больше времени для каждого типа эдра. А Миропостроитель был довольно забагованной программой, так что такая задача оказалась невозможной - требовалось бесконечное время, чтобы сделать это. Кроме этого, те эдры, что были побольше, требовали значительных усилий для воссоздания.
Так что пришлось найти более простой способ, лежащий вне Миропостроителя. Любые вещи, с которыми работает Миропостроитель, сохраняются в .json файлах в текстовом виде. Поэтому я решил подправить задним числом текстовое содержимое фабриката. Чтобы проиллюстрировать действенность метода, вот картинка, составленная из снимков дерева Nyuudles'а до и после преобразования:
Ниже приведён снимок простенького .json файла с моими эдрами в текстовом редакторе AkelPad.
В этом файле представлены:
1. Метаданные
2. Данные строения объекта
3. Размер объекта
4. Начальная точка объекта
Пойдём разбираться снизу вверх.
Размер и начальная точка
Размер менять вряд ли кому-то понадобится. Почему не рекомендую этого делать, я расскажу ниже.Если же вы измените начальную точку, весь экземпляр фабриката сместится в соответствующее место. Это очень полезно, если вы делаете одинаковые объекты на разной высоте. Здесь их можно сместить одной цифрой, а не перерисовывать заново.
Данные строения объекта
Здесь разобраться сложнее.Данные представлены в формате "блоков такого-то материала столько-то". По сути это одна строка, и чтобы из неё получился объект, необходим его размер. Как я понимаю, Миропостроитель раскладывает данные в ряд блоков, а затем этот ряд начинает делить до указанного размера. Сначала Миропостроитель выкладывает снизу вверх столбец по координатам (0, 0), затем, достигнув потолка, так же выкладывает соседний столбец по координатам (1, 0). Когда достигнута ширина объекта, следующий столбец появится в (0, 1) и процесс продолжится до заполнения всего объёма объекта. Измените размер фабриката - развёртка в объёмную структуру слетит.
Эти буквы и цифры идут группами по 4 знака. Каждая группа кодирует ряд блоков. Хотя это не совсем верно, проще всего воспринимать это так: первые три знака означают материал, последний - количество.
Проще всего с количеством, но здесь есть одна хитрость.
A = 1, B = 2, C = 3, ... Z = 26,
a = 27, b = 28, c = 29, ... z = 52,
0 = 53, 1 = 54, ... 9 = 62, + = 63, / = 64.
А вот если количество блоков становится больше 64, то тогда меняется предпоследний знак на следующий по порядку: kA = 1, lA = 65, mA = 129, nA = 193. Это правило перестаёт действовать после 256 блоков. Вероятно, после этого просто начинается новая последовательность, хотя проверить не довелось.
Обратите внимание, что предпоследний знак может отличаться: "k" для блоков, "o" для объектов. Для пустого блока - воздуха - и трёх базовых блоков с травой используются другие символы.
BAA - Verdant Grass Block
BAM - Barbed Grass Block
BAY - Gnarled Grass Block
oQk - Ancient Corruption
mwk - Ash
mQk - Gleam
1Ak - Gleam Lantern
Ggo - Refined Gleam
Gwo - Refined Gleam ...
DQo - Natural Crystal
0gk - Dark Glass
dwk - Dark Glass ...
/z8 - DEBUG DELETECHUNK
8gk - Door Piece
9Ak - Trapdoor Piece
8wk - Windowed Door Piece
CQo - Flower 1
Cgo - Flower 2
Cwo - Flower 3
DAo - Flower 4
Bwo - Fibrous Plant
CAo - Inky Plant
Mwo - Amantia Fungus
NAo - Bracket Fungus
NQo - Coral Fungus
Nwo - Dripping Fungus
OAo - Glowing Fungus
Ngo - Scatter Fungus
+wk - Chair
+gk - Table
tAk - Compact Ametyst ...
tQk - Compact Diamond ...
tgk - Compact Emerald ...
uAk - Compact Ruby ...
uQk - Compact Sapphire ...
twk - Compact Topaz ...
0Qk - Glass
jgk - Gravel
oAk - Growth
mAk - Ice
Bwk - Glacier
BQo - Ladder
0wk - Lantern
FAo - Amethyst Torch
9wk - Basic Torch
FQo - Diamond Torch
Fgo - Emerald Torch
Ewo - Torch
GAo - Ruby Torch
GQo - Sapphire Torch
Fwo - Topaz Torch
cgk - Compact Copper ...
bQk - Refined Copper ...
dQk - Compact Gold Alloy ...
cAk - Refined Gold Alloy ...
cwk - Compact Iron ...
bgk - Refined Iron ...
dAk - Compact Silver Alloy ...
bwk - Refined Silver Alloy ...
dgk - Compact Titanium Alloy ...
cQk - Refined Titanium Alloy ...
nwk - Mould
mgk - Mud
1wk - Slide
1gk - Trampoline
Kgo - Aloe Plant
KQo - Cactus Plant
LAo - Fiddlehead Plant
Jwo - Lotus Plant
Kwo - Snowdrop Plant
KAo - Yucca Plant
LQo - Boulder
ggk - Alphabet Brick
qwk - Glyph Brick
BQk - Igneous Rock
Ygk - Igneous Rock ...
gQk - Igneous Brick ...
iAk - Decorative Igneous Rock 1
iwk - Decorative Igneous Rock 2
hQk - Refined Igneous Rock
ZQk - Refined Igneous Rock ...
fQk - Igneous Stone
EAo - Igneous Stone ...
BAk - Metamorphic Rock
YQk - Metamorphic Rock ...
gAk - Metamorphic Brick ...
hwk - Decorative Metamorphic Rock 1
igk - Decorative Metamorphic Rock 2
hAk - Refined Metamorphic Rock
ZAk - Refined Metamorphic Rock ...
fAk - Metamorphic Stone
Dwo - Metamorphic Stone ...
MAo - Rock Ring
Bgk - Sedimentary Rock
Ywk - Sedimentary Rock ...
fwk - Sedimentary Brick ...
iQk - Decorative Sedimentary Rock 1
jAk - Decorative Sedimentary Rock 2
hgk - Refined Sedimentary Rock
Zgk - Refined Sedimentary Rock ...
fgk - Sedimentary Stone
EQo - Sedimentary Stone ...
MQo - Rock Shard
Lwo - Rock Stack
Mgo - Stalagmite
Lgo - Tall Rock
jQk - Sand
AgA - Clay Soil
egk - Compact Clay
AwA - Peaty Soil
ewk - Compact Peat
AQA - Silty Soil
eQk - Compact Silt
wwk - Compact Blink ...
xAk - Compact Dark Matter ...
xQk - Compact Oort Stone ...
wgk - Compact Rift ...
nAk - Sponge
nQk - Tangle
ngk - Thorns
lgk - Ancient Wood Timber
awk - Ancient Wood Timber ...
kgk - Ancient Wood Trunk
aAk - Ancient Wood Trunk ...
kAk - Exotic Leaves
jwk - Lush Leaves
lwk - Lustrous Wood Timber
bAk - Lustrous Wood Timber ...
lAk - Lustrous Wood Trunk
aQk - Lustrous Wood Trunk ...
lQk - Twisted Wood Timber
agk - Twisted Wood Timber ...
kwk - Twisted Wood Trunk
Zwk - Twisted Wood Trunk ...
Теперь вы знаете, что "mAkT" - это двадцать блоков льда. Если аккуратно заменить в данных фабриката коды одного материала на коды другого, то вы сможете буквально превратить свинец в золото! Ну, разве что в Безграничности нет свинца :)
Вот как выглядит фабрикат, текстовое описание которого было приведено выше:
Метаданные
С метаданными всё значительно сложнее. В основном они описывают скошенные блоки, но не только.Там, где в списке кодов стоит "..." это означает, что кодируется не сам блок, а его производные - ступени, плиты или стены. Конфигурация конкретного блока описывается метаданными.
Вот примеры метаданных нецелых блоков:
• BAA - Slab (нижний полублок)
• DAA - Slab x2 (два полублока)
• UAA - Step (ступени)
• IAA - Wall (стенка)
• yAA - фрагмент двери
• QAA - фрагмент люка
Остальные варианты ещё предстоит изучить подробнее.
Однако, кроме скосов и нецелых блоков метаданные кодируют ещё ориентацию блоков, наличие травы и бог весть что ещё. У меня возникло ощущение, что их надо считывать группами по три, а не по четыре. Но эту гипотезу ещё предстоит проверять, поскольку структура метаданных значительно сложнее структуры блоков и, возможно, попросту нелинейна.
Заключение
Разбираясь с деревом на картинке в начале статьи, я столкнулся со множеством сложностей. Будьте предельно осторожны, меняя материалы в текстовом редакторе.Помните, что:
• не все материалы поддерживают скосы;
• не все имеют нецелые производные вроде ступеней;
• заменяемые последовательности символов могут обнаружиться вне группы, особенно если в них есть повторяющиеся символы вроде "kQk";
• всегда нужно оставлять запасную копию файла.
Ко всему прочему, ситуацию осложняет то, что у нескашиваемых блоков нецелые производные могут кодироваться тем же кодом, а у скашиваемых - другим.
Но если вам необходимо просто сменить горную породу, тип древесины или листвы, то этот метод должен отлично сработать.
- Комментов пока нет.
2014
3D
Экшен
Мультяшная / Cartoon
Игры для всех / Casual game
Прокачка персонажа / Character leveling
Строительство / Constraction
Кооператив
Крафт
Кроссплатформенная сетевая игра / Cross-platform network game
Смена дня и ночи / Day / night change
Разрушаемое окружение / Destructible environment
Цифровая доставка
Исследование мира / Exploration
Фантастика / Fantastic
Фэнтези / Fantasy
♀ / Female
Вымышленные планеты / Fictional planets
Вымышленный мир / Fictional universe
Вид от 1-го лица
Геймпад
Инди
Клавиатура + мышь
Mac OS X
♂ / Male
Редактор карт / Map editor
Механизмы
MMO
Нелинейный / Nonlinear storyline
Статья
Нет определенной цели
Открытый мир / Open World
Частичная случайная генерация / Partial random generation
Порталы / Portals
Процедурная генерация / Procedural generation
PlayStation 4
PvP
Квест, приключения
Всегда реал-тайм
Ролевая игра (RPG)
Песочница
Steam
Steam Early Access
Выживание (Survival)
Деформируемый ландшафт / Terrain deformation
Вид от 3-го лица
Turbulenz Limited
Прокачка / Upgrades
Воксели / Voxels
Воксвелл / Voxwell
Погода / Weather
Windows
Wonderstruck
Вы были успешно зарегистрированы с логином .
Вы можете указать логин и почтовый ящик прямо сейчас, а можете сделать это позже, нажав кнопку "пропустить этот шаг".