Границы дока
Подача карты акта: чем она нарисована, что на ней шевелится и что запланировано. Дизайн самой карты — области, зоны, формы — живёт в Run - Act Map: Regions & Zones; здесь только показ. Реализация и её готчи — за кодом и тех-журналом.
Заведён 2026-08-02 по заказу Макса: «закинь туда весь планируемые gamefeel / vfx по карте… Это потом, но тоже надо бы обсудить. Просто не забудь!»
Один канал — один владелец (2026-08-02)
Главная задача подачи: на одном листе живут два независимых слоя — чья это земля (зона фракции) и какой это рельеф (форма области), — и оба обязаны читаться. Решение взято у бумажной картографии: физическая карта показывает рельеф штриховкой и значками, политическая — принадлежность заливкой; веками лежат на одном листе и не спорят, потому что заняли разные каналы восприятия.
| Канал | Владелец | Почему он |
|---|---|---|
| Оттенок | фракция зоны | единственное, что читается боковым зрением на всей площади |
| Значки и штриховка (ахроматика) | рельеф области | другая размерность, с цветом не конкурирует |
| Форма графа и рисунок дорог | рельеф области | осыпь видна диагоналями, гребень — параллелями |
| Яркость и насыщенность | состояние узла | доступен / пройден / недоступен — только светлотой |
| Иконка внутри узла | тип узла | бой, лавка, «?» |
| Ободок узла | принадлежность зоне | правда, не зависящая от того, видно ли пятно |
| Толщина и фактура линии | вид дороги | тракт, тропа, привратник, заслон |
Отклонено до кода: давать рельефу собственное цветное пятно. Два цветных слоя в одном канале не расходятся никакими настройками прозрачности — на листе получаются четыре перекрывающиеся заливки, и не читается ни одна. Живьём оба варианта стоят рядом в Лаборатории, раздел Карта → Подача.
Словарь знаков рельефа
Знак картографический, а не иллюстрация: несколько крупных штрихов, читаемых на общем зуме карты. Рисуется процедурно тем же шейдером, что пятно зоны; спрайты не заводим. Плотность россыпи одинаковая у всех рельефов — иначе густота знаков начнёт спорить с плотностью узлов.
| Рельеф | Знак |
|---|---|
Долина (Vale) | травяные кочки, три пучка |
Чаща (Thicket) | плотный частокол стволов, за который не видно |
Тропа (Trail) | цепочка следов, уходящая вбок |
Гребень (Comb) | параллельные штрихи на общей оси |
Рукава (Forks) | ствол, расходящийся надвое |
Перевал (Muster) | две вершины и седловина между ними |
Осыпь (Scree) | камни, сползающие в одну сторону |
Логово (Lair) | тёмный зев под сводом |
У знаков свой тумблер map.relief (решение Макса 2026-08-02). Это ровно тот слой, который может
оказаться шумом, и проверяется он переключателем, а не спором.
Подземелье — дыра в бездну
Подземелье отделено от всего, и фракции сверху на него не влияют (Макс, 2026-08-02): «Выглядит будто “дырка в бездонную бездну”». Отсюда правила показа:
- пятно зоны обрывается на кромке и внутрь не заходит; знаки рельефа тоже;
- дверь не носит цвета ничьей земли — иначе фракция была бы известна до входа, а по замыслу её узнают только внутри;
- сама дыра — чернота с мягкой кромкой: свет уходит в неё и не возвращается. Кромка дышит очень медленно: дыра живая, но не мигает;
- единственная метка на краю — привратник.
Так подземелье читается как посторонний объект на карте, а не как ещё одна область чьей-то земли.
Карта — остров, поделённый зонами без остатка (2026-08-02)
Финальная на сегодня модель, после серии уточнений Макса.
- Карта не прямоугольник, а рандомный ОСТРОВ. Его форма выводится из зон влияния: суша там, куда достаёт влияние графа. Дословно: «лучше как раз на основе зон влияний создавать этакий “остров”, по которому идем… у нас карте на просто прямоугольник. а такой вот рандомный отсров».
- Ничейной земли НЕТ. Внутри острова каждая точка принадлежит какой-то зоне; зоны делят его между собой и ограничивают друг друга.
- Берег забирает атласные приёмы: ореол, тень по юго-восточной кромке, отмывка от северо-запада — те, что отрабатывались на отложенном прототипе «Земля и страна».
- Границы рваные, и сильно («мне нравится такая дикая рванность»): координаты гнутся фрактальным шумом до замера, поэтому граница у соседей ОДНА И ТА ЖЕ.
- Из подписей — только имя. Печатей и эмблем нет. Имя лежит целиком внутри своей зоны и не перекрывает узлы и дороги: втискивается в свободные участки. Кегль — по площади зоны.
- Цвет — из пресетов фракции. Около десяти родственных оттенков на фракцию (гоблины всегда зелёные, но разные), выбор случайный без повторов. Разброс светлоты узкий: широкий выцветает до бежевого, и разбойники перестают быть разбойниками (проверено рендером).
- Имя зоны = прилагательное + фракция («Взрывные Гоблины»).
- Переход между зонами — база, а не событие: никаких вспышек кромки при входе.
Лист под островом — обычный прямоугольник. Дословно: «у нас под островом “карта”. Наверное тот же прямоугольник. А наш остров читаеся как остров благодаря береговой линии и т.д.» То есть форму даёт берег, а не вырезанный лист.
Имя идёт ВДОЛЬ ОСИ зоны (принято 2026-08-02, «круто, сделаем»): наклон берётся от главной оси территории и клампится, чтобы подпись не вставала вертикально.
Требования к раскладке, без которых подача не работает
Проверено рендером акта в настоящих пропорциях (15 колонок, ширина до 9):
- Шаг между узлами заметно больше нынешнего — и по ширине, и по высоте. Дословно: «У нас должен быть намного больший сейс по высоте между точками. И по ширине между ними.» На тесной сетке территория превращается в лоскуты между дорогами.
- Пробел между разными областями обязателен: «опять, ты не добавила пробел между разными рельефами. Они должны читаться отдельно». Расстояние между областями и ЕСТЬ показ рельефа — отдельной картинки рельефу не нужно, и этим же закрывается вопрос «как показать форму области».
- Веер дорог ограничить (
proposed): из узкой колонки сейчас расходится пучок через полкарты. Веер режет территорию на ленты, съедает все свободные пятна под имена и сам по себе делает карту нечитаемой — ту же болезнь лечили в D7.
Открытая проблема, найденная рендером: имена не встают. На карте в настоящих пропорциях пять имён из шести не нашли места и алгоритм честно отказался их ставить (текст поверх дорог он не пишет). Кандидаты на лечение, по убыванию силы: увеличенный шаг и пробелы (пункты 1–2) · гарантия «пухлости» зоны при генерации · сокращённое имя как страховка («Проворные» вместо «Проворные Гоблины» — вид виден по цвету) · текст по дуге вместо прямой.
Как размещается подпись. Проверяется не точка, а весь прямоугольник надписи: каждая его клетка обязана принадлежать этой зоне, быть сушей и отстоять от узлов и дорог дальше зазора. Кандидаты перебираются по сетке, выигрывает позиция с наибольшим зазором; не влезло — кегль уменьшается.
Найдено рендером: узкая изрезанная зона может не иметь места под имя ни на каком кегле. Значит генерация обязана давать зонам минимальную «пухлость», либо подпись при нехватке места получает право лечь поверх дорог (но не узлов). Открыто.
ОТЛОЖЕНО: атласная модель и летающие острова (2026-08-02)
Решение Макса: «Местность мы пока что никак НЕ рисуем. Может это и не надо. Остаемся на карте. Просто делим и рисуем зоны влияния.» Всё, что ниже до конца раздела, — отложено и требует доработки; материал сохранён, потому что пригодится для облика второго акта.
Что делаем вместо: карта остаётся картой узлов и дорог, единственный территориальный слой — зона влияния фракции. Рельеф живёт как механика (форма области решает, как ходят дороги), но собственной картинки не имеет: его видно по рисунку графа. Варианты отрисовки зоны — в Лаборатории, раздел «Карта → Зоны влияния».
Атласная модель: рельеф — земля, фракция — страна на ней
Знаки-пиктограммы отклонены. Значок не создаёт места, он его подписывает: восемь иконок поверх бледных пятен — легенда, а не карта. Земля не нуждается в подписи «тут остров», если нарисована островом. Поэтому рельеф уезжает в форму суши, а знаки остаются только фактурой поверхности.
Карта — не архипелаг (уточнение Макса): области не плавают в воде отдельными кусками. Первый акт это Далёкий Тракт — сплошная местность, где области различаются покровом (лес, степь, холмы, болото, пашня, камни), а не тем, что между ними вода. Море и пропасть — редкий приём, и тогда через них перекинут гигантский мост, и мост этот — наша тропа.
Как генерируется земля
Метаболы дают круглые кляксы — материка из них не выйдет. Стандарт жанра другой и проверен временем (Amit Patel, polygonal map generation):
- Вороной по узлам + релаксация Ллойда — площадь карты нарезается на ячейки, каждая принадлежит ближайшему узлу.
- Ячейки области склеиваются в один полигон — это и есть её земля, она автоматически обнимает свои узлы и дороги.
- Контур сглаживается (Чайкин), потом ломается фрактальным смещением — берег обязан быть рваным на всех масштабах, гладких берегов в природе не бывает.
- Печём один раз в RT при генерации акта — дальше это просто картинка.
Вороной даёт то, чего не даст метабол: соседние земли делят общую границу, а не наползают друг на друга кругами.
В прототипе Лаборатории (#/map-terrain) шаг 1–3 заменён более дешёвым эквивалентом: поле расстояний
до узлов и дорог, у которого координаты гнутся фрактальным шумом до замера. Один этот приём ломает
берег на всех масштабах сразу. Тем же искажением гнётся и граница страны — иначе рваный берег
соседствует с линейкой.
Приёмы бумажной картографии, дающие красоту почти даром
- Ореол у берега — две-три линии, повторяющие контур снаружи, или точечная отсыпка. Один этот приём мгновенно превращает силуэт в «карту». Проверено рендером: градиентная полоса не работает, нужны чёткие линии на фиксированных отступах.
- Тень по юго-восточной кромке — земля приподнимается над листом, объём из ничего.
- Отмывка (hillshading) — свет всегда с верхнего левого угла, иначе горы читаются впадинами. Проверено рендером: на полной силе поле ломается вдоль медиальной оси и земля выглядит мятой фольгой; нужен сглаженный шаг градиента и втрое меньшая сила.
- Штриховка Лемана (hachures, 1799) — штрихи вдоль склона, гуще там, где круче. Изобретена ровно для нашей задачи: показать рельеф без цвета, потому что цвет занят другим. Идеальный язык для осыпи и гребня.
- Подписи по-картографически: земли — курсивом вдоль изогнутой оси области; страны — капителью в разрядку по центру владений. Разная типографика делает половину работы по разделению слоёв.
- Граница страны — тонкий пунктир поверх всего; он не спорит с берегом, потому что берег сплошной.
Живой референс всей связки «Вороной → берег → политические владения → подписи» — Azgaar’s Fantasy Map Generator.
Летающие острова — идея Макса 2026-08-02 (proposed)
«Берем базовые летающие острова. Каждый тип местности - свой остров все-таки… Между ними - натуральная пустота, мосты и т.д. Карта становится в 2 уровня. Верхний (обычная карта) и нижний (просто красивый “низ” острова”, т.е. смотрим не сверху вниз, а скорее сбоку… Мы все еще “карта на столе”, но это 3д карта островов на столе!»
Что идея решает по-настоящему: пробел между областями получает физический смысл. Пустота между островами не требует объяснений, тогда как пустое место на сплошной земле выглядит недоделкой.
Оценка и возражения (мои, proposed) — в журнале решений за 2026-08-02. Коротко: «остров на каждую
область» возвращает архипелаг, от которого мы ушли, и вместе с ним — полтора десятка мостов, отчего
«гигантский мост» перестаёт быть событием; плюс конфликтует с трактом как торговой дорогой.
Рекомендация: остров = крупная плита акта (3–4 на акт), а не каждая область, а полноценный
небесный архипелаг — облик ДРУГОГО акта.
Цена, если камера остаётся строго сверху: низ острова рисуется тем же контуром, вытянутым вниз с сужением и шумом (сталактит), водопад — шейдером по кромке. Это недорого. Дорого становится тогда, когда появляются наклон камеры, перекрытия островов и тени друг на друга.
Правила подачи
Три штуки, которые старше любого эффекта в таблицах ниже.
- С одного взгляда видно три вещи: куда я могу шагнуть, чья это земля (цвет зоны), что здесь особенного (одна метка на область). Всё остальное — по наведению. Пятый информационный слой ломает карту вернее, чем любой некрасивый эффект.
- Пятно — атмосфера, правду носит узел. Пятно зоны размывается, перекрывается и уходит под дымку; принадлежность держит ободок на самом узле. Прецедент — туман карты (D9): атмосфере нельзя доверять механику в одиночку.
- Области разделяются негативным пространством, а не вторым слоем пятен: пробел по горизонтали, одиночная длинная дорога вместо веера, тонкий процедурный шов на листе. Два накладывающихся слоя цветных пятен превращают карту в кашу.
Что уже в игре
| Эффект | Тумблер | Заметка |
|---|---|---|
| Лист пергамента с рваным краем | map.sheet | обтягивает граф с полями, рваность в шейдере по периметру |
| Стол под листом, тёплое пятно света | map.table | углы тонут, край стола в кадре = баг |
| Шторка перехода на шаг | — | выбор засчитывается на закрытом кадре, подмены не видно |
| Моргание доступных узлов | map.pulse | одна огибающая: два поля разъезжались |
| Бегущая волна по дорожкам | map.pathflow | доли такта, не секунды |
| Поездка фишки-шлема | map.travel | выключена, заменена шторкой |
| Туман карты | map.fog | выключен Максом: «не то, мб позже» |
| Локальная постобработка карты | post.map | свой Volume, арену не накрывает |
Запланировано
| Эффект | Зачем | Состояние |
|---|---|---|
| Значки рельефа | второй слой карты, не спорящий с цветом зоны | план |
| Grand Line — сквозная линия и три отметки наград | линия видна с начала акта, отметки капают по ходу | план |
| Дверь подземелья, привратник у входа | риск виден, начинка нет | план |
| Виды дорог линией (тракт, тропа, привратник, заслон, вслепую, режущая) | свойство дороги читается самой линией | план |
| Карточка области при наведении | имя, строка образа, строка правила | план |
| Пятно зоны: SDF-метабол по узлам + domain warp | органический «островной» край вместо полигонов | план, печётся в RT один раз на генерацию акта |
| Ободок зоны на узле | правда о принадлежности | план, см. правило 2 |
| Картуш с именем зоны + иконка эффекта | «Молниеносные Гоблины» читается сразу | план |
| Раскрытие зоны при входе | чернила расползаются от узла | план |
| Дверь подземелья и карточка награды | риск виден, начинка — нет | план |
| Обвал за спиной на входе в область | коммит должен ощущаться, а не только быть | план |
| Шов между областями | разделение без второго пятна | план |
| Подсветка достижимого на 1–2 шага | вместо подсветки ряда: игрок читает рёбра, а не вехи | план |
| Счётчик шагов до босса | ответ на вопрос, ради которого хотели вехи | план |
| Грейдинг карты по зоне | локальный Volume под фракцию | план, стык с Visual Direction |
| Ambient-партиклы под зону | споры, пепел, светлячки | план |
| Чернила дорисовываются за фишкой | тех-вектор вместо отвергнутого «листа на столе» | план |
| Роза ветров и сетка | процедурно на Shapes, не арт | план |
| Параллакс-дымка | слой над листом | план |
| Звук карты | шелест бумаги, перо | план, стык с аудио-контуром |
Связи
- Дизайн карты — Run - Act Map: Regions & Zones.
- Живые схемы форм и зон — раздел «Карта → Формы областей» в Лаборатории (
#/map-shapes). - Тактильный слой боя — Gamefeel-бэклог; боевой VFX — VFX-бэклог.
- Решения по карте — Meta - Decision Journal 2026-08-02.