Девлог #3: я выбросил свою игру через шесть дней после её рождения
В прошлом посте я обещал честно пройти гейт этапа 1: сыграть пять забегов в собственный прототип и спросить себя — «а это вообще интересно?». Спойлер: я сыграл. И ответ был — нет.
Этот пост про то, как за один вечер умерла петля Loop Hero и родился бункер, а также про то, зачем вообще нужны гейты в roadmap, если они делают так больно.
Гейт сработал. К сожалению. К счастью.
Напомню контекст: прототип был «Loop Hero + стихии + волны» — герой сам ходит по петле, а ты выкладываешь тайлы. Я поиграл несколько сессий и поймал себя на двух мыслях:
- - Мне не настолько нравится Loop Hero, чтобы делать его клон.
- - Механика «поставь кладбище, чтобы спавнить врагов и усиливать их ради своего роста» — это какой-то мазохизм. Я строю проблемы сам себе, чтобы потом их героически решать. В оригинале это работает, но лично меня не цепляет.
Тут важно, что гейт в roadmap был сформулирован заранее, ещё до строчки кода: «сыграть 5 забегов самому; если скучно — итерировать здесь, дальше не идти». Когда стало скучно, у меня уже лежала инструкция самому себе, что с этим делать. Не появилось соблазна «дотянуть до стихий, вдруг заиграет» — правило было написано мной-трезвым для меня-влюблённого-в-свой-код.
Вечер брейншторма вместо вечера кода
Дальше был честный разговор с самим собой (и с Claude Code в роли психотерапевта с деревом вопросов): что мне на самом деле нравится в играх, на которые я смотрел? Получился такой список источников:
- - Сериал Silo — бункер с уровнями, который построен давно и до конца не изучен
- - Oxygen Not Included — копать вниз и вбок, расширяя базу
- - Heroes of Might and Magic / They Are Billions — исследование карты с туманом войны
- - Wartales — тактический бой отрядом с расстановкой, где рельеф имеет значение
- - NordHold — экономика, караваны, торговля
Из этого собралась концепция: постапокалиптический colony-sim + экспедиции. Ты — мэр уцелевшего бункера. Внутри — уровни, энергия, население. Снаружи — карта под туманом, соседние бункеры, торговля, разбойники. Стычки — тактика отрядом 3–6 с расстановкой. Дальний манок — легендарный подземный город DeepWell. Рабочее название соответствующее: Silo: DeepWell.
Что пережило pivot (и почему это главный урок)
Самое интересное для инженеров: весь фундамент переехал без единой правки. Тиковое ядро (10 тик/с, пауза, x1/x2/x3), seeded RNG, шина сигналов, паттерн «контент — это данные», headless-тесты воспроизводимости — всё это оказалось жанронезависимым. Выбросился только геймплейный слой: сцены петли, тайлы, скелеты. Старый срез похоронен с почестями в ветке loop-hero-slice.
Это ретроспективно оправдывает решение из первого поста: строить сначала скучный детерминированный фундамент, а не геймплей. Геймплей я сегодня выбросил. Фундамент — нет.
Что построилось за вечер
Дальше — конвейер, знакомый по прошлому посту (я формулирую и проверяю, Claude Code пишет), только теперь с обязательными headless-смоуками после каждого шага, потому что урок с Godot 4.7 усвоен. По коммитам:
- - Бункер v1: разрез, копка, комнаты, цикл «скважина → вода → ферма → еда → жители едят», смерть колонии от голода
- - Отрядный бой: чистый класс без Node — расстановка 3–6 бойцов, автобой по тикам, рельеф-модификаторы (лес = укрытие, камни = стена, река = замедление). Тест воспроизводимости поймал два бага ещё до появления UI — вечный бой в тупике из камней и неверную проверку укрытия
- - Поверхность: карта 30×20 с туманом войны, отряд, засады разбойников, торговый пост соседнего Silo
- - Гейт против гейта: я поиграл в три контура и выбрал — бункер интереснее всего. Этап 2 = глубина бункера
- - Бункер v2: бункер теперь ПОСТРОЕН изначально — 10 уровней вокруг ствола лифта, нижние завалены. Энергия от реакторов, живое население (жильё, пары, рождения через госпиталь), казармы тренируют бойцов
- - Наследие основателей: главный реактор погребён на глубине (наверху — слабый аварийный генератор), в завалах прячутся уцелевшие мастерские и тайники. Плюс рамка истории: «Бункер №N. Вы — новый мэр»
- - Склады и лимиты: у ресурсов появились потолки хранения, склады и батареи генераторов их расширяют
Отдельное удовольствие дня: идея «мэра разрушенного бункера» родилась из случайной реплики во время плейтеста («словно что-то случилось и меня назначили мэром») — и легла в игру за один коммит, потому что завалы уже были механикой, оставалось навесить нарратив и находки.
Инсайт дня
В прошлый раз узким местом была проверка «код выглядит правильным vs код работает». Сегодня — другое: узкое место — вкус. Агент одинаково бодро построит и клон Loop Hero, и бункер мечты; он не скажет «слушай, тебе же самому не нравится». Единственный детектор скуки — живой человек, который играет в собственный прототип и честно себе признаётся. Гейты в roadmap — это способ заставить себя это признание произнести вслух.
Дешевизна генерации кода меняет цену pivot'а: выбросить шесть дней работы было бы мучительно, если бы код писался руками шесть дней. А так — жалко только идею, а идею как раз не жалко, она была не моя, а Loop Hero.
Что дальше
Этап 2 «Глубина бункера»: производственные цепочки посложнее, события, может быть — приказы по ходам в бою. В ideas.md уже паркуются идеи следующего горизонта: живой мир (банды воюют между собой без игрока), транспорт и грузоподъёмность, кислородные баллоны как таймер вылазок, терраформинг с дилеммой «цвести или прятаться». Правило прежнее: идеи — в файл, в код — только текущий этап.
Гейт этапа 2 сформулирован: «сессия 30+ минут без скуки; население растёт и умирает осмысленно». Отчитаюсь честно, как в этот раз.
Подписывайтесь
Если вам интересно, как выбрасывают игры и что из этого вырастает, — подписывайтесь. Следующий пост либо про баланс энергии и населения, либо про второй pivot, но в это мне пока не хочется верить.
#agenticGameDev
Метрики (честно, из git log)
- - Коммитов за день: 12 (первый 19:31, последний 21:25)
- - Из них выброшено строк: ~1000 (петля целиком, ветка
loop-hero-slice) - - Размер кодовой базы: 2124 строки GDScript (было 1329 до pivot'а)
- - Headless-тестов: 3 (бой 1v1, колония, отрядный бой) — все зелёные, тест отрядного боя поймал 2 бага до появления UI
- - Гейтов пройдено за день: 2 (этап 1 закрыт с вердиктом «не зашло», выбор контура этапа 2 — бункер)