Вайбкодинг: как я написал игру, почти не умея программировать. Честный разбор от дилетанта

Вайбкодинг: как я написал игру, почти не умея программировать. Честный разбор от дилетанта

Сразу к делу: за три месяца я в одиночку собрал игру в Telegram — рекламный тайкун с кланами, батл-пассом на 100 уровней, кейсами и медиа-войнами. Это примерно 100 000 строк кода. Да, я использовал вайбкодинг. Но нет, нейросеть не написала это за меня. Это был симбиоз: я — голова, руки и здравый смысл, нейросеть — реактивный двигатель и терпеливый напарник в 3 часа ночи. Расскажу, как это реально устроено. Без мифов в обе стороны.

«Ниша занята, бро»

Первое, что мне сказали, когда я заикнулся об идее: «Тапалок в Телеге как грязи. Хомяки, коты, пиццы. Куда ты лезешь?»И человек был прав. Я зашёл в каталог Telegram Mini Apps и утонул в сотнях игр. Кликеры, фермы, гонки. Казалось, всё уже придумано до меня. Но чем дольше я смотрел, тем яснее видел одно: 95% этих тапалок — «нажми кнопку, получи цифру». Ни глубины, ни удержания. Игрок заходит на 5 минут и уходит навсегда. Мне хотелось другого. Не «нажми на хомяка», а «построй бизнес и доминируй». Так родилась концепция игры SYNTREMIA AD Idle Tycoon:

  • 3 города с 18 типами рекламы (кафе, вывески, билборды, такси, метро, стадионы, LED-экраны).
  • Экономика и износ рекламных предметов.
  • Кланы с медиа-войнами — 6-часовые раунды, топ-3 забирают награды
  • Батл-пасс на 100 уровней с эксклюзивными наградами
  • Арена — PvP с лигами и сезонами
  • Кейсы 5 типов, от обычных до мифических

Это уже не кликер. Это тайкун с экономикой, который хочется не бросать.

Так кто тут пишет код?

Вот это ключевой момент, и я хочу, чтобы было понятно сразу.Я пишу сам. Архитектуру, экономику, баланс, логику кланов, формулы дохода, монетизацию, обработку платежей. Всё, что определяет, КАК работает игра и ПОЧЕМУ она работает именно так — это моя голова и мои руки.Вайбкодинг — мой усилитель. Он берёт на себя рутину, шаблонный код, объяснение ошибок и черновую работу. То, на что раньше уходили часы, теперь занимает минуты. Я — архитектор и прораб, нейросеть — бригада, которая кладёт кирпичи в пять раз быстрее. Но чертёж — мой. И если бригада положит кирпич криво, замечу и поправлю это я. Это принципиально отличается от мифа «вайбкодинг пишет всё за тебя». Он не пишет. Он ускоряет того, кто понимает, что строит.

Что я делаю руками

Давайте конкретнее, чтобы не было абстракции. Экономика. Все цифры в игре — моя работа. У меня в бэкенде объект ECONOMY с налоговыми ставками, инфляцией, износом баннеров, арендой офиса. Если я ошибусь в этих цифрах — игра развалится. Либо станет слишком легко (и игроки уйдут от скуки), либо слишком тяжело (и уйдут от злости). Нейросеть может предложить формулу, но решение, какой баланс правильный, — только моё. Логика кланов. Система кланов с медиа-войнами — моя разработка. Я придумал: раунд длится 6 часов, у каждого игрока лимит 1000 очков и кулдаун 10 минут, топ-3 клана получают бриллианты и кейсы, репутация копится между раундами. Это игровая дизайн-работа, её не сгенерируешь. Хранение данных. Я сам решил, что буду хранить игроков в одной таблице Supabase с JSON-колонкой, а кланы — в той же таблице, но с отрицательными ID. Решение спорное, но моё. И все последствия этого решения — тоже мои. Монетизация. Telegram Stars, инвойсы, вебхук на оплату, паки бриллиантов — я собирал это сам, сверяясь с документацией. Нейросеть помогла с синтаксисом запросов, но схема платежей — моя.

Где вайбкодинг реально спасает

Теперь про помощь. И она огромная — этого нельзя отрицать.Рутинные компоненты. У меня десятки модалок: кейсы, кланы, батл-пасс, города, рамки, аватары. Каждая — это повторяющаяся структура: шапка, контент, кнопки, стили. Описать нейросети «сделай модалку с двумя дорожками наград и горизонтальным скроллом» — и получить основу за минуту. Дальше я дорабатываю под себя: правлю дизайн, логику, крайние случаи. Но старт мгновенный.Объяснение ошибок. Кидаю лог ошибки — получаю разбор. Это как иметь рядом терпеливого сеньора, который не закатывает глаза, когда ты в десятый раз спрашиваешь «почему оно не работает».Рефакторинг. «Перепиши эту функцию чище», «разбей этот огромный компонент на части» — отлично работает.Генерация идей. «Предложи 3 варианта архитектуры для системы клановых войн» — получаешь разные подходы и выбираешь. Нейросеть тут как спарринг-партнёр для мозга.

А теперь честная часть: баги и боль

Если бы вайбкодинг решал всё, у меня не было бы этих историй. Но они были. Много. Дубли роутов. В какой-то момент нейросеть добавила новый функционал кланов, но не удалила старый. У меня оказалось два /api/clans/list, два /api/clan/create, два /api/clan/leave. Сервер падал при старте с ошибкой FST_ERR_DUPLICATED_ROUTE. Я искал эти дубли вручную, в файле на 4000 строк. Нейросеть не могла их найти, потому что не видела картину целиком. Нашёл сам. Кланы не сохранялись. Оказалось, строковые ID вида clan_xxx не лезли в числовую колонку базы. Пришлось самому понять, что колонка telegram_id — это bigint, и перевести всё на числовые ID. Это была моя диагностика и моё решение. Бесконечная загрузка модалки. Фронтенд запрашивал клан, бэкенд возвращал { ok: true, clan: null }, а фронтенд не проверял null и ждал данные, которых нет. Полдня ушло на поиск. Решение — одна строчка if (infoRes.ok && infoRes.clan). Одна. Строчка. Которую придумал я. Мерцание модалки батл-пасса. Функция setLoading(true) в обработчике клика перекрывала всю модалку лоадером на каждое действие. Я сам додумался разделить состояния: отдельный actionLoading для действий и основной loading только для первой загрузки. Заметьте паттерн: простые вещи нейросеть делает быстро, а сложные баги, требующие понимания всей системы, я чиню сам. Потому что контекст всей игры — в моей голове, а не в её.

Главный инсайт про вайбкодинг

После трёх месяцев могу сформулировать так: Вайбкодинг не заменяет навык. Он умножает его. Если ты понимаешь, что строишь — ты летишь. Нейросеть снимает с тебя рутину, и ты успеваешь в одиночку делать то, на что раньше нужна была команда. Если не понимаешь — ты застрянешь. Потому что не сможешь ни объяснить ей, что сломалось, ни проверить, правильно ли она написала. Что вайбкодинг даёт:

  • Скорость х5-10 на шаблонном коде
  • Терпеливое объяснение ошибок
  • Быстрый старт для новых компонентов
  • Идеи архитектуры на выбор

Чего он не даёт:

  • Понимания твоего продукта
  • Правильных продуктовых решений
  • Отладки сложных, системных багов
  • Ответственности за результат

Всё, что во втором списке, — на мне. И я это принял с самого начала.

Что получилось в итоге

Через три месяца у меня живая игра:

  • 100 000+ строк кода (фронтенд + бэкенд)
  • 3 города, 18 типов рекламы
  • Кланы с медиа-войнами и наградами топ-3
  • Батл-пасс на 100 уровней
  • Арена с лигами и сезонами
  • Кейсы 5 типов в стиле CS:GO
  • 6 работников с уникальными бонусами
  • Контракты, квесты, колесо, календарь входов
  • Монетизация через Telegram Stars

И главное — чтобы в неё играли люди. Настоящие. Не те, кого я попросил. Они писали мне: «Когда апдейт?»

Зачем я прикручиваю к игре благотворительность

Это не маркетинговый ход. Мне правда всегда было некомфортно просто зарабатывать. Не то чтобы я святой — я обычный человек, который иногда кидает пару сотен рублей в сборы, иногда репостит чью-то беду, а иногда просто проходит мимо. Знаете, это чувство, когда помогать хочется, но получается как-то... нерегулярно. Случайно. Без системы. Я подумал: а что если сделать помощь частью механики? Не «нажми кнопку — пожертвуй», а чтобы оно происходило само, фоном, как побочный эффект игры. Так родилась идея, которую я сейчас прикручиваю: 10% дохода от рекламы внутри игры идёт на добрые дела. Игрок смотрит рекламу, получает свои бонусы, а маленький процент капает в общий пул. Ему даже не нужно ничего решать и ничего жертвовать из своего кармана. Просто играешь — и параллельно копеечка идёт на благо. Но самое интересное — я не выбираю, куда эти деньги пойдут. Это решает само комьюнити. У меня будет ТГ-группа, где игроки сами предлагают, кому помочь, и голосуют. Собрался пул — выносим варианты на обсуждение — голосуем — отправляем туда, за что проголосовало большинство. Без привязки к конкретным фондам, без «админ решил за всех». Куда игроки скажут — туда и пойдёт. Благотворительность, которую тебе навязали сверху, не вызывает доверия. А когда ты сам участвовал в решении — это уже не «кто-то там кому-то отправил», а наше общее дело. В коде это пока выглядит примитивно: 12 Механика голосования в группе ещё в работе. Но принцип уже зафиксирован: копилка общая, решение — за игроками, отчёт — публичный, и да, я буду публиковать, куда ушли деньги. Скриншоты переводов, суммы, получатель. Прозрачность — единственное, что делает это не лицемерием.

Честные выводы

1. Ниша занята, но не перекрыта. Тапалок тысячи, но почти все — пустышки. Глубина, экономика и социалка сразу выделяют тебя.2. Вайбкодинг — рычаг, а не замена. Один человек с нейросетью делает работу команды из 3-4 человек. Но продуктовое мышление, баланс и отладку сложных багов никто за тебя не сделает.3. Пиши сам то, что понимаешь. Экономика, архитектура, логика — это твой фундамент. Генерируй то, что рутина. Это правильный баланс.4. Баги будут. Дубли роутов, бесконечные загрузки, мерцания. Вопрос не в том, появятся ли они, а хватит ли тебе терпения их чинить.5. Благотворительность не должна быть подвигом. Она должна быть привычкой. А привычка формируется, когда механизм работает сам — и когда решение принимаешь ты сам.6. Игроки — лучшая мотивация. Когда тебе пишут «когда апдейт», ты понимаешь, что все бессонные ночи были не зря.

Что дальше

Сейчас готовлю старт сезона батл-пасса, докручиваю клановые войны и механику благотворительности с голосованием, ищу каталоги для листинга — Telegram Apps Center, FindMini, Reddit.И да, продолжаю писать сам и ускоряться вайбкодингом. Потому что эта связка работает. Не «или-или», а «и-и». Если у вас есть вопросы по стеку, по балансу, по тому как я храню данные или монетизирую — спрашивайте в комментариях. Отвечу честно, а если вы тоже пилите что-то в Telegram Mini Apps — напишите. Интересно, кто ещё в этом варится, и как вы балансируете между «пишу сам» и «генерирую». Игра: