Как я делал САМОСБОР ВЕБ: от идеи до релиза в VK

Привет, DTF. Хочу подробно рассказать, как я сделал игру САМОСБОР ВЕБ — браузерный survival horror про бесконечную панельку, голод, NPC и, конечно, Самосбор. Без команды, без бюджета, без опыта в геймдеве. Только идея, ноутбук и AI-инструменты.

Как я делал САМОСБОР ВЕБ: от идеи до релиза в VK

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

Часть 1. Откуда взялась идея

Самосбор — это интернет-феномен. Гигахрущ, панельки, бесконечные этажи, странные соседи. Тема живая, у неё есть аудитория, и она идеально ложится на сеттинг хоррора.

Я не придумывал вселенную с нуля — я взял готовый культурный контекст и спросил себя: какой жанр сюда просится?

Вариантов было несколько:

  1. Хоррор с прятками. Классика: ходишь по этажам, тебя ищут, ты прячешься. Но это уже было.
  2. Симулятор выживания. Готовишься к Самосбору, спускаешься вниз, торгуешься.
  3. Roguelike с процедурной генерацией. Каждый заход — новый лабиринт, новая смерть.

Я выбрал второй вариант, но с элементами третьего. Не чистый выживач, а цикл подготовки и спуска, где каждый этаж — это риск, а смерть — часть процесса.

Как я делал САМОСБОР ВЕБ: от идеи до релиза в VK

Почему не мобильная игра

Мобильная разработка — это отдельная вселенная. Unity, билды, публикация в RuStore и Google Play, обновления. У меня не было ни времени, ни желания разбираться с этим.

Браузерная игра — другое дело. HTML, CSS, JavaScript. Работает везде. Не нужны установки. И главное — VK Mini Apps даёт доступ к аудитории ВКонтакте напрямую.

Почему именно VK

Самосбор — это в первую очередь аудитория ВКонтакте. Тематические паблики, мемы, обсуждения. Люди там уже знают, что такое Гигахрущ. Мне не нужно объяснять контекст — нужно просто дать им игру.

Как я делал САМОСБОР ВЕБ: от идеи до релиза в VK

Часть 2. Вайб-кодинг: как это работает

Вайб-кодинг — это подход, при котором ты не пишешь код руками, а описываешь, что хочешь получить, и AI генерирует реализацию. Ты выступаешь в роли архитектора, режиссёра и тестировщика.

Стек

  • Frontend: чистый JavaScript + Canvas для рендера игрового поля
  • Состояние игры: объект в памяти + localStorage для сохранений
  • Сборка: Vite (быстро, просто, работает из коробки)
  • VK SDK: VK Bridge для интеграции с платформой

Никаких React, Vue или тяжёлых движков. Для игры такого масштаба они не нужны.

Как выглядел процесс

Я описывал AI-инструменту (в моём случае — Google Gemini) конкретные задачи:

«Сделай функцию генерации этажа. Этаж — это сетка 20x20. Игрок стартует в центре. В случайных клетках размещаются: 2 NPC, 3 предмета, 1 выход на следующий этаж. Стены — по периметру.»

AI генерировал код. Я запускал, смотрел, что не работает, и просил исправить:

«Игрок застревает в стенах при движении вправо. Проверь коллизии.»

И так по кругу. Не «напиши мне игру», а «сделай вот эту конкретную вещь». Это ключевое отличие работающего вайб-кодинга от фантазий.

Где вайб-кодинг ломается

AI не понимает контекст всего проекта. Он видит только тот кусок, который ты ему показал. Поэтому:

  • Функции дублируются, если не следить
  • Переменные называются по-разному в разных местах
  • Логика расползается, если не держать архитектуру в голове

Я вёл простой файл NOTES.md, где записывал структуру проекта и ключевые решения. Это спасало.

Часть 3. Механики: что вошло в игру

Ядро геймплея

Игрок находится на этаже. У него есть голод, запас еды и талоны (внутриигровая валюта). Цель — спуститься как можно глубже.

Каждый спуск — это риск. Чем глубже, тем опаснее NPC, но тем ценнее лут. Смерть обнуляет прогресс, но сохраняет часть талонов — это мягкая рогалик-механика, которая не бесит.

NPC и торговля

На этажах встречаются NPC. С ними можно торговать: обменять еду на талоны, купить информацию о следующем этаже, получить предмет.

Торговля — это не просто «нажми кнопку». NPC могут обмануть, отказаться, предложить странную сделку. Это создаёт напряжение.

Самосбор как событие

Периодически на этаже случается Самосбор. Это не скриптовая сцена, а таймер. Игрок знает, что через N секунд начнётся движение, и должен решить: спрятаться, бежать к выходу или рискнуть и дособрать лут.

Это самая сильная механика в игре, потому что она создаёт истории. Игрок не просто проходит уровень — он переживает событие.

Что я вырезал

  • Крафт. Слишком сложно для браузерной игры, отвлекает от ядра.
  • Диалоговые деревья. Много контента, мало пользы. Заменил на короткие реплики.
  • Мультиплеер. Отдельный проект, не для одиночного разработчика.

Вырезать механики так же важно, как добавлять. Каждая лишняя система — это баг, который придётся ловить.

Часть 4. Разработка по этапам

Этап 1. Прототип на коленке

Первая версия — это HTML-файл на 300 строк. Игрок — квадрат. Стены — прямоугольники. NPC — другие квадраты. Никакой графики, только логика.

Цель прототипа — проверить, что ядро работает. Движение, коллизии, генерация этажа, спуск вниз. Всё остальное — потом.

Этап 2. Визуал

Когда логика заработала, я начал добавлять картинки. Спрайты рисовал сам в Aseprite — простые пиксельные модели. Это не AAA-графика, но она работает.

Важный момент: визуал не должен мешать геймплею. Если игрок не понимает, где выход — это плохой визуал. Поэтому выход всегда подсвечен, NPC всегда отличаются от стен.

Этап 3. Звук

Звук в хорроре — это 50% атмосферы. Я использовал бесплатные библиотеки и генерировал простые эффекты. Шаги, скрипы, шёпот — всё это создаёт напряжение.

Отдельная история — тишина. Иногда отсутствие звука пугает сильнее, чем скример.

Этап 4. Сохранения и прогресс

localStorage — простое решение. Игрок закрывает браузер, открывает — прогресс на месте. Никаких серверов, никаких баз данных.

Минус: если игрок чистит кэш, всё теряется. Но для бесплатной браузерной игры это приемлемо.

Этап 5. Интеграция с VK

Здесь началось самое интересное. VK Bridge, авторизация, платежи, модерация. Об этом — отдельный раздел ниже.

Часть 5. Интеграция с VK: что нужно знать

VK Bridge

VK Bridge — это мост между твоим приложением и платформой ВКонтакте. Через него ты:

  • Получаешь информацию о пользователе
  • Отправляешь уведомления
  • Инициируешь платежи
  • Управляешь жизненным циклом приложения

Инициализация простая:

javascriptimport bridge from'@vkontakte/vk-bridge';bridge.send('VKWebAppInit');

Но есть нюансы. Например, при сворачивании приложения нужно останавливать звук. Это требование модерации:

javascriptbridge.subscribe((e)=>{if(e.detail.type ==='VKWebAppViewHide'){pauseAudio();}if(e.detail.type ==='VKWebAppViewRestore'){resumeAudio();}});

Платежи

Платежи в VK — это отдельная головная боль. Нужно:

  1. Заполнить URL для платёжных уведомлений
  2. Создать товары в панели управления
  3. Настроить обработку платежей на сервере
  4. Указать тестировщиков

Я сделал 4 товара:

IDСтоимостьЧто даётdonate_1_vote1 голос50 талоновdonate_3_votes3 голоса200 талоновdonate_5_votes5 голосов450 талоновdonate_10_votes10 голосов1000 талонов

Важно: ID товаров должны точно совпадать с тем, что написано в коде. Одна лишняя буква — и оплата не сработает.

Модерация

Модерация VK — это не формальность. Модераторы реально тестируют приложение. Что они проверяют:

  • Обработка персональных данных. Нужны политика конфиденциальности и пользовательское соглашение. Игрок должен явно их принять.
  • Удаление аккаунта. По запросу — полное удаление данных.
  • Локализация. Все тексты на русском, включая ошибки.
  • Защита от нагрузки. Rate limiting, ограничение размера запросов.
  • VK Bridge. Корректная обработка событий жизненного цикла.

Срок проверки — 7-14 дней. Могут вернуть на доработку, это нормально.

Часть 6. Что я понял

1. Вайб-кодинг работает, но требует дисциплины.AI не заменит архитектора. Ты должен понимать, что строишь, и держать структуру в голове.

2. Вырезать важнее, чем добавлять.Каждая лишняя механика — это баг. Лучше сделать одну вещь хорошо, чем пять плохо.

3. Модерация — это фильтр качества.Требования VK заставляют писать код аккуратнее. Это больно, но полезно.

4. Аудитория важнее технологии.Я мог сделать игру на Unity и выложить в Google Play. Но аудитория Самосбора — во ВКонтакте. Идти туда, где люди, — правильное решение.

5. Игра — это истории.Самая сильная механика — не графика и не звук. Это момент, когда игрок переживает что-то, чего не ожидал. Самосбор даёт такие моменты.

Как я делал САМОСБОР ВЕБ: от идеи до релиза в VK

Что дальше

Сейчас САМОСБОР ВЕБ проходит модерацию для публикации в каталоге VK. Параллельно я работаю над:

  • Новыми типами NPC
  • Событиями на этажах
  • Системой достижений

Если у вас есть вопросы по технической части, вайб-кодингу или интеграции с VK — пишите в комментариях. Отвечу всем.

Игра доступна по ссылке: ссылка на приложение VK

Спасибо, что дочитали.

Как я делал САМОСБОР ВЕБ: от идеи до релиза в VK
22