Визуальный мод · Ale & Tale Tavern
Мне понравился игровой стиль Dark Fantasy: пререндеренная CGI-графика конца 90-х, ночь цвета индиго, свет из конкретных источников. Этот мод переносит его в Ale & Tale Tavern — без правки файлов игры и без изменений геймплея.
Трифон / WwolDEM — идея, арт-дирекшн, референсы, тесты в игре, солнце и луна.
Claude (Anthropic) — код плагина, процедурные текстуры, техническое исследование игры.
Unity 2022.3 · URP · BepInEx 5 · C# (~1 600 строк) · Python / NumPy (~1 000 строк генераторов) · рефлексия к URP Volume без Harmony
01 · Откуда стиль
Отправная точка — два коротких ролика .dark.reverie: луна с лицом над замком, гора, которая открывает глаз, светящаяся дорога к замку под спиралью звёзд.
Стиль разобран в двух документах: гайд Neon Dark Fantasy (10 страниц) и исследование визуального языка по двум роликам (26 страниц). Вывод исследования: слова «dark fantasy» мало — под ним уживаются и реалистичный хоррор, и руины, и сказка. Рабочее название точнее — гротескное ретро-CGI-фэнтези.
Ролики — чужие работы, поэтому здесь они описаны словами. Все изображения ниже созданы в проекте или сняты в игре с модом.
Вещи выглядят собранными из вещества: жирный рельеф, горячие блики, грязь в щелях.
Цвет — признак действующей магии: порталы, котлы, светящиеся тропы, фиолетовое небо.
У мира есть лица и взгляд: светила, вывески, входы. Но не у каждого камня — иначе это орнамент.
Опора взгляда впереди, главное действие в середине, огромное чудо вдали.
02 · Палитра из гайда
Три слоя: тёмная база, насыщенные материалы и узкий набор светящихся цветов, которые появляются только на источниках света и магии.
Нажми на цвет — HEX скопируется.
База и ночь
Материалы
Свечение — только для источников
Правило выведено на тестах: если светящегося больше 10%, кадр превращается в кашу и ничего не читается.
03 · Лаборатория текстур
Каждая текстура — Python-генератор: фрактальный шум, диаграммы Вороного и фальшивое бамп-освещение с горячим бликом дают тот самый «пластиковый» CGI-вид. Все поверхности бесшовные. У светящихся есть отдельная маска свечения — наведи на плитку со значком ◐, чтобы увидеть, что именно светится в игре.

маска свечения
маска свечения
маска свечения
маска свечения

маска свечения

Первая пачка. Реакция после первого просмотра была простой: «это прям оно».
03 · Таверна и мир
Первая версия второй пачки получилась слишком чистой и «новенькой». Отдельный проход добавил всем материалам грязь: копоть забивается в углубления, пятна и потёки воды, потёртости на выступах, мелкое зерно и лёгкая десатурация.














04 · Инженерия
Чтобы рисовать прицельно, нужно знать, из чего собрана игра. Для этого написан плагин-дампер: он ничего не меняет и только читает, какие материалы, текстуры и источники света загружены в каждой сцене.
загрузчик модов для Unity-игр на Mono
CSV материалов, текстур и света по сценам
шейдеры, слоты, атласы, раскладки
Первая версия дампера подвешивала игру: она сохраняла 3 000 картинок в одном кадре. Версия 1.1 раскладывает сохранение по кадрам, не больше 6 мс за кадр.
| Unity | 2022.3.62 · URP |
| Сцены | MMH (меню) · Playtest (весь мир) |
| Материалов в мире | 715 из 1 817 загруженных |
| Текстур | 3 275 |
| Источников света | ~140, почти все белые |
| Туман | серый, ExponentialSquared |
04 · Перекраска на лету
Столы, бочки, свечи нарисованы атласами: все детали предмета на одной картинке. Бесшовная текстура превратила бы их в кашу. Поэтому мод читает каждую текстуру с видеокарты, по имени определяет, что это (дерево, камень, металл, листва), и переводит её в палитру стиля через градиентную карту. Раскладка атласа сохраняется; около 250 текстур перекрашиваются за первые секунды после загрузки сейва, работа разложена по кадрам.

Оригинал игры → результат перекраски, 12 реальных текстур · нажми, чтобы открыть крупно
04 · Подмена
Двигай ползунок. Слева родные текстуры игры, справа текстуры мода, подключённые по точным игровым именам. Найти эти имена получилось только благодаря дампу: первая попытка подмены промахнулась мимо половины поверхностей.

играмодКаменная кладка · в 0.7 рельефный сланец

играмодДеревянный пол · сливовые доски

играмодШтукатурка · мох и зелёные швы

играмодЛуг · тёмная кислотная слизь

играмодЗемля · тропа из углей

играмодКора · корявая фиолетовая
Текстуры игры — собственность Scienart Games, показаны маленькими превью только для сравнения.
05 · Небо
Солнце и луну нарисовал Трифон. Мод почистил края, добавил ореол и маску свечения. Встроенные диски игры отключены: лица висят в небе всегда и не тонут в тумане у горизонта.


05 · Версия 0.6

Родная трава приглушена до 15%. По карте слоёв террейна мод расставляет светящиеся кусты чанками по 16 м вокруг игрока.

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

Каждые 7–20 секунд ночью: вспышка по рисунку из 8 кадров и короткая подсветка всего мира.

Медленно вращается над миром, ночью ярче. Облака заменены на грозовые.

маска свечения
маска свечения
06 · Итерации
Каждая версия — гипотеза, скриншоты из игры и разбор. Ошибки не скрыты: из них сложились правила стиля. Скриншоты открываются крупно по нажатию.
Текстуры, туман, свет и bloom заработали из одного плагина.
Сливовое дерево, янтарный свет и повышенная насыщенность сложились в одну красную кашу, а улица утонула в сиреневой дымке.
Оттенок света нельзя накладывать поверх цветных материалов вслепую.


Пол с циановыми швами и тропы с углями появились в игре.
Свечение не включалось, часть подмен ушла не по тем именам, постобработка упала с ошибкой.
Моддинг без точных имён из дампа — гадание. Отсюда дампер.







Мир впервые выглядит как другая игра: зелёные светящиеся стены, циановый пол в зале, лавовая кухня, тёплые фонари на улице.
Неоновые края на каждой доске и балке. Глаз цепляется за каркас, а не за место.
Когда светится всё, ничего не читается. Светиться должны только источники света, магия и тропы.




Свечение только у источников, «хрустящая» фактура, синяя ночь, сплит-тонинг. Пол на кухне стал любимым элементом.
Таверна внутри провалилась в темноту, свечи почти не давали света.
Светлее делать за счёт новых источников, а не за счёт приглушения пола.




Свечи ярче, 60 новых тёплых ламп у люстр и подсвечников, вернулись зелёные стены снаружи. Внутри: моховая кладка, циановый пол у ёлки, лавовый у бара.
Угли на тропе просвечивают сквозь синий слой, а не горят; трава и животные остаются чёрными силуэтами; грядки «загораются» с задержкой.
Всё это стало списком задач для 0.6.








Цветы вместо травы, угли на тропах, молнии, звёздный вихрь, луна и солнце всегда видны. Синий перебор убран.
Атмосфера всё ещё держится на свечении и цветной заливке.
Следующий шаг — фактура и направленный свет. Подробно — в разделе «Мир, который мод строит сам».

У материалов три карты: цвет без запечённого света, рельеф и глянец. Эмбиент ниже, луна — холодный ключевой свет, тёплые точки ярче.
Версия собрана, тест четырёх вариантов в игре ещё впереди. Вода не тронута.
Менять за раз одну группу признаков и записывать конкретную причину улучшения, а не «стало красивее».

Главный поворот. До версии 0.6 атмосферу пытались собрать из свечения и цветной заливки. Итог работы: атмосфера строится на фактуре и направленном свете и должна читаться даже в пустом кадре. Свечение и ожившие предметы — только приправа.
07 · Свет
| Параметр | Значение | Комментарий |
|---|---|---|
| Эмбиент ночью | 0.42, 0.40, 0.56 | Светлая лавандовая ночь |
| Эмбиент днём | 0.74, 0.70, 0.84 | Прохладный сиреневый день |
| Цвет тумана | 0.20, 0.07, 0.32 | Royal Violet, плотность ниже обычной |
| Лунный свет | 0.82, 0.76, 1.0 × 2.2 | Почти белый с лавандой |
| Свечи | 1.0, 0.68, 0.38 × 3.5 | Тёплый янтарь, увеличенный радиус |
| Bloom | 0.9 · порог 1.0 | Только яркие источники |
| Контраст / насыщенность | +22 / +12 | Сочно, но не кислотно |
| Сплит-тонинг | тени 0.55, 0.50, 1 | Холодные тени, тёплые света |
Исследование отдельно оговаривает: это сохранённые настройки конкретного подхода, а не универсальные эталонные значения для любой сцены.
08 · Версия 0.7
Раньше свет и блики были нарисованы прямо в картинке, поэтому настоящий свет игры ложился на камень и дерево одинаково плоско. В 0.7 у каждого материала три карты: цвет без запечённого света, рельеф и глянец. Камень — крупная неровная кладка, глубокие швы, короткие блики на выступах. Дерево — длинное текучее волокно и потёртый лак.



Камень



Дерево
Четыре варианта с одной камеры: угол таверны, где видно стену, балку и пол. Мод запоминает исходное состояние материалов и переключает его на лету, без перезапуска; режим подписывается в углу экрана, чтобы скриншоты не перепутались.
| Вариант | Текстуры · F6 | Свет · F7 |
|---|---|---|
| A | 0.6 | 0.6 |
| B | 0.7 рельеф | 0.6 |
| C | 0.6 | 0.7 направленный |
| D | 0.7 рельеф | 0.7 направленный |
09 · Правила, выведенные на тестах
09 · Дальше
Разобрать тест четырёх вариантов, вода с вытянутыми сиреневыми отражениями, одна доминанта у входа в таверну, своя музыка в главном меню.
Как приправа к атмосфере: луна и солнце изредка моргают, вывеска таверны приоткрывает глаз.
Брендбук стиля, 2D и 3D живые обои, интерактивный 3D-фон для сайта, бесплатный пак ассетов в эстетике Neon Dark Fantasy.
PDF · кейс
24 страницы: концепция, палитра, текстуры, инженерия, все версии со скриншотами и правила. Облегчённая версия для экрана, 2,7 МБ.
↓ Скачать PDF