Scrap & Pressure
Scrapyard OS · Station #04 — пакуй плотно, жми жёстко.
Независимая игровая студия
Mercy Noise — независимая игровая студия. Делаем небольшие игры о тихих, тёплых вещах и показываем разработку открыто — день за днём, обновление за обновлением.
Что мы делаем прямо сейчас
Scrapyard OS · Station #04 — пакуй плотно, жми жёстко.
Уютный incremental про костёр в холодном лесу — согрей духов, пока не наступила Великая Буря.

Уютный реверс-стелс про домового, который делает добрые дела по ночам.
Принцесса в тёмном мире стреляет добром — лечит врагов ценой своего Света.
Маленькая студия, большие планы
Живой дневник разработки — обновления, решения, находки
Я сел делать игру на джем High Score Chasers. Папка на диске до сих пор называется `bet-survivors` — так проект звался, пока не сдох. То, что уехало, — Scrap & Pressure: scrapyard OS, Station #04, pack tight, press hard. Вот реальный путь от одного к другому.
Рефлексия после релиза. 21 июня 2026, 4 утра — игра вышла. 23:35 того же дня — пишу это. Трейлер: Watch Video At: https://youtu.be/ouI2J_3FD-s
На первой ночи максимум четыре духа. Сложность нарастает. Каждая правка — пройти вручную. Нужны автоматические прогоны и веб-UI, чтобы крутить темп спавна.
Заменили плоский спрайт леса на Main на скриптовый слоёный пирог из bonfire-пака. Холмы и ближний/дальний лес получили спокойное синусоидальное покачивание; туман реагировал на старт и конец кризисов. Когда показалось, что это слишком много для релиза, дважды уменьшили амплитуду — после «от этого меня укачивает».
Над огнём была строка из шести угольных точек. Они показывали, сколько духов ты согрел за ночь. В игре это ощущалось как условие победы: набери шесть — и всё. Это конфликтовало с тем, как ночь на самом деле заканчивается — ты переживаешь до рассвета по таймеру, а не по квоте духов.
После #12 поляна могла держать больше духов — но bench2.py всё ещё жил в старой экономике. Условие победы — «шесть согретых одновременно». Раздувание моделировалось кликами, а не удержанием. Не было нарастания между ночами, трат в лавке, пятиночного забега.
Духи жили в фиксированной очереди: шесть жёстко прошитых слотов, максимум четыре ждущих. Раньше это казалось нормальным, но мы чувствовали потолок каждый раз, когда ночь становилась оживлённой. Задача сессии была простой — убрать SLOTS и MAX_WAITING_SPIRITS и дать толпе дышать.
Пятиночному демо нужен был финал — не бесконечный цикл меню. К пятой ночи игрок уже почувствовал мета-силу: улучшения, может быть саламандра, поляна, которая наконец зеленеет. В этом и суть. Демо не должно затухать на экране победы.
Цикл уже таил за кадром мета-прогресс — подарки, улучшения, ночи, наслаивающиеся одна на другую — но поляна визуально оставалась мёртвой. Нам нужен был прогресс, который видно глазами, без превращения луга в экран строительства базы. Грибы и трава, не постройки.
Мы не форкнули духа в новый тип сцены. Флаг на существующем духе помечает его как сюжетного; он меняет спрайт на Emberkit и более тёплый оттенок. Одна саламандра на третью ночь, ставится в очередь, когда начинается туман.
После тумана, который бил по информации, следующая механика должна была бить по времени. Третьей ночи нужна была механика, которая наказывает за то, что духов оставляют в холоде, не отменяя всё уже построенное: ???-цены тумана, отбрасывание и повторное замораживание от морозного ветра, ледяной дождь и оттепель на ночах…
После тумана из #6 — спрятать цифры, заставить играть вслепую — мы хотели, чтобы набор кризисов продолжал бить по разным ресурсным петлям, а не «всё больно бьёт по огню одинаково». GDD §4.5 предусматривает ледяной дождь (экономика топлива) и оттепель (редкое облегчение).
После пятого девлога у нас был data-driven слой кризисов: типы, таблица по ночам, общие константы тайминга, сигналы start/end — и морозный ветер всё ещё ведёт себя ровно как раньше.
Морозный ветер делал своё — нагнетал давление, утроил расход огня, замораживал духов, приглушал музыку — но жил в одном месте как отдельный самописный цикл. Для одного кризиса сгодилось. Для того, что игре реально нужно — нет.
Новых фич в этой сессии не было. Остановились и проаудировали весь прототип против design doc и плана пятиночного демо — что в билде, что только на бумаге, и в каком порядке браться дальше.
Два devlog'а мы называли это «уютный incremental про костёр». Это была удобная ложь. На этот раз признали, чем игра на самом деле хочет быть — Cozy-Frostpunk — и снять пластырь означало удалить тот самый экран, который раньше значил «ты победил».
Один костёр. Холодный лес. Замёрзшие духи плывут к свету.
Я не геймдев по профессии — занимаюсь маркетингом. Но последние несколько месяцев я зарывался в геймдизайн: книги, доклады, разбор механик — и в итоге решил просто что-то сделать, а не бесконечно теоретизировать.
Нарисовал первый этаж — квартиру 47. Полностью ручная отрисовка комнаты, по которой дальше строится вся сцена и расстановка мебели.
Собрал отдельную HTML-песочницу, чтобы пощупать все 12 уровней, и написал симулятор на Python, который честно измеряет длину прохождения. Цифры показали: игра проходится слишком быстро. Пересобрал прогрессию и выбрал Scope B — цельная короткая cozy-история на ~1.1 часа: одна ночь, 24 квартиры, дух спускается с крыши до земли.
Плейтесты показали: новички не проходят даже первый уровень. Ввёл прогрессию на 5 уровней (учим по одному врагу/типу), убрал пассивный тик, добавил рампу урона по уровням, а L5 сделал настоящей стеной. Симулятор подтвердил кривую.
Собрал симулятор экономики Света (~4000 забегов на конфиг) — данные вместо ощущений. Диагноз: ядро слишком прощающее. Добавил «пакет челленджа» и заменил непонятный пассивный слив на «скверна сосёт Свет» с понятными телеграфами.
Большая таблица баланса: статы врагов, экономика Света, пороги каскада. Главный фикс — плата за Свет теперь только при попадании (cost-on-hit), а не за промахи. Переработал «Отрицание» из тупика в позиционную угрозу.
Признал: механика классная, но челлендж провален — каскад исцелений это положительная обратная связь, которая снимает напряжение. Ввёл «4 столпа сложности», чтобы вернуть давление.
Нарративный флип: тёмный урон — это подавление чувств, лечение — принятие. Героиня — балерина Аврора, мир игры — её внутренний мир. Сменил перспективу на 2D top-down twin-stick рогалайт, чтобы каскад исцелений читался сверху, и собрал graybox-прототип.
Нарисовал коту 4 листа анимаций — idle, вперёд, назад и вбок, чтобы он живо двигался в любую сторону.
Проанализировал выгрузку SteamDB, чтобы выбрать жизнеспособный для соло жанр, и родилась кор-идея: принцесса «стреляет добром» — лечит врагов ценой собственного Света. Свет = патроны = жизнь. Стартовал GDD.
Завёл репозиторий и решил уйти от ленивой прогрессии «1 кот → 2 → 3». Придумал 12 уникальных котов с характерами и статами и разные задачи на каждом этаже.
Нарисовал нового духа с усами — компактнее и пропорциональнее старого, с плавной hover-анимацией. Подогнал кадры под общий стиль игры.
Записал первый запуск прототипа прямо из редактора Godot — на бесплатных и временных спрайтах. Дух ходит по квартире, кот реагирует, работает сплеш-экран и базовый HUD. Уже чувствуется, как это будет играться.
Игра не запускалась из-за строгой типизации (weakref возвращал Variant). Убрал weakref, прошёлся по похожим местам и проставил явные типы — сборка снова зелёная.
Понял, что несколько систем сломаны: уборка следов раздражала, кот на жёстких точках убивал жизнь, шкала подозрения держала в тревоге 24/7. Переделал: следы — тактический ресурс, кот реагирует на звук и свет, подозрение растёт только когда кот наступает на след. Добавил три уровня с нарастающей сложностью.
Переименовал проект из рабочего названия в «Shush, Little Spirit!» — звучит как детская сказка и сразу задаёт тон.
Взял Godot 4 и пиксельный тайлсет интерьеров. Поднял autoload-ы, собрал первую комнату прямо из кода и расставил мебель. Поборол первые визуальные баги — полосы на полу и фон комнаты.
Придумал игру про домового: ночью делаешь добрые дела, но оставляешь следы и убираешь их до рассвета. Любопытный кот — не враг, но всё видит. Жанр — «уютный реверс-стелс». Написал первый GDD.
Партнёрство, пресса, вопросы — напишите, мы ответим