Выпустил 5 игр в Steam одновременно. Создал генератор игр и заработал на этом.

Когда-то мне попалась интересная статья на Хабре про двух разработчиков, которые сделали генератор однотипных игр-слотов и смогли заработать на этом $50 000. Движок использовали Unity, а заливку в Google Play и добавление рекламы автоматизировали скриптом.

Выпустил 5 игр в Steam одновременно. Создал генератор игр и заработал на этом.

И вот, в начале этого года, когда в голове снова всплыла эта история на фоне скучной работы в офисе и желания заработать на чём угодно, кроме реальной работы, я решил: а почему бы не сделать что-то подобное, но для ПК-игр? Так и появился эксперимент с генератором компьютерных игр.

Ничего сложного

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

Таким образом, я помимо генерации игр еще смогу посмотреть, в каком ценовом сегменте окажутся лучше всего продажи (а мне есть с чем сравнивать — до этого было выпущено не мало игр низкого качества, которые продавались по завышенным ценам, о которых я писал в прошлых статьях).

Выпустил 5 игр в Steam одновременно. Создал генератор игр и заработал на этом.

Дополнительно интерес еще был посмотреть, как будут продаваться игры названные по популярным мемам или темам. Мне часто в магазине попадались игры пустышки или ассетфлипы, которые засчет удачно подобранного названия имели популярность и их покупали, что называется «по приколу».

К таким проектам можно отнести как бродилки, так и симуляторы чего угодно, где игрок просто наблюдает за процессом, бесцельно перемещаясь по локациям слушая аутентичную фоновую музыку, или же выполняет простейшие действия без какого-либо сценария.

Генератор игр

Первым делом я начал выбирать жанр, в котором будут создаваться игры. Он должен быть
а) простым, чтобы не усложнять генерацию;
б) популярным, поскольку игры выпускаются без маркетинга;
в) не требовать большого количества контента.
И таким жанром оказались симуляторы.

Типичный уровень Ragdoll-симулятора
Типичный уровень Ragdoll-симулятора

Я решил использовать одну из своих старых игр - симулятор падений с Ragdoll-физикой. Нашел исходники, откатился до нужной версии движка и начал распиливать проект на составляющие.

В игре геймплей выстраивался следующим образом: пользователь выбирал уровень(локацию), система случайным образом подбирала персонажа и загружала его на уровень, после чего можно было бегать по локации и используя настройки физики симулировать реалистичные падения или разрушения.

Уровни представляли собой полосы препятствий с динамическими объектами (карусели, вертушки, отбойники…), горы и обрывы для симуляции падений, или башенки и стены для симуляции разрушений.

Исходники разобрал на 3 части:

  • Уровни
  • Персонажи
  • Прочий контент (музыка, ui, иконки)
Выпустил 5 игр в Steam одновременно. Создал генератор игр и заработал на этом.

Уже на этом верхнеуровневом разделении стало понятно, что потребуется для генератора новых игр. Минимум два алгоритма — один создает локации, второй подбирает персонажа и какое-то решение, для определения музыки и иконок уровней. Объединять и сплетать алгоритмы в единую систему не стал, чтобы получился некий конструктор, дающий больше свободы, но менее автоматизированный.

Уровни

Я решил не менять концепции, оставив локации с полосами препятствий, горами и разрушаемыми объектами. Для полосы препятствий сделал простую систему подгружающую объекты по заданным параметрам на уровне. С разрушаемыми объектами поступил также. А для гор и ландшафтов использовал процедурную генерацию.

Процедурная генерация уровней (популярный актив в маркетплейсе, который ныне зовется fab)
Процедурная генерация уровней (популярный актив в маркетплейсе, который ныне зовется fab)

Персонажи

Для "тряпичных кукол" был сделан несложный скрипт, который при загрузке выбирал случайный mesh (сетка модели состоящая из полигонов) персонажа, а затем тоже случайно выбиралась окраска, так называемый скин.

На каждого персонажа продублировал материалы (подготовленные текстуры наносимые на mesh) в количестве 5-7 штук на каждого. Таким образом, игрок мог встретить одного персонажа то красным, то белым, то зеленым. Это помогало разнообразить и без того однообразный геймплей, при повторных прохождениях уровней или поражениях.

Заморачиваться, конечно же не стал. Просто рандомный выбор меша или материалов (в зависимости от используемого ассета).
Заморачиваться, конечно же не стал. Просто рандомный выбор меша или материалов (в зависимости от используемого ассета).

Прочий контент

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

Для иконок уровней использовал использовал один и тот же промпт, лишь изменяя стилизацию под каждую игру. Музыку взял из бесплатной библиотеки с YouTube, а также воспользовался переделенными через нейросети ремиксами популярных композиций.

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

В целом разработка игры с 5-6 уровнями таким образом, занимала менее 4-х часов. На один уровень в зависимости от его сложности уходило от 10 до 20 минут. На интеграцию персонажа и подготовку материалов в среднем тратил час времени. Музыка, иконки, подгонка интерфейса и всяческая полировка игры перед сборкой — еще 40 минут. Публикация в Steam.

Публикация в Steam

У многих инди-разработчиков, подготовка и публикация страницы в Steam занимает порядочное количество времени. И при хорошем подходе, это окупается сторицей на релизе игры.

Конвейер — это когда ты выпускаешь игры быстрее, чем игроки успевают написать отзыв «не работает».

Но стоит ли уделять столько внимания играм, которые создаются на потоке по 1-2 в день? Однозначно нет, просто не получиться успевать за игровым конвейером. И к тому же, в этом эксперименте с играми хотелось упростить этот процесс, а не растягивать его.

Оформление страницы

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

Выпустил 5 игр в Steam одновременно. Создал генератор игр и заработал на этом.

Метаданные

Самое быстрое, что можно сделать во время оформления страницы, это заполнить метаданные (основная информация об игре) и техническую информацию. Подробно расписывать здесь нечего, но остановлюсь на некоторых не всем очевидных моментах.

Для заполнения ключевых слов, по которым смогут найти игру нужно просто сфокусироваться на основных элементах игры и записать слова, с которыми она ассоциируется в первую очередь. Например для одной из моих эксперементальных игр про даунхилл, я использовал следующие ключевые слова: bike, extreme, downhill, freeride, mtb, physics, simulator.

Поддерживаемые платформы и системные требования игры, конечно, желательно проверять на реальном «железе», но не обязательно. Достаточно заполнить только рекомендуемые требования, указав те параметры, которые точно известны, например версия ОС, RAM, вес игры, параметры видеокарты и др.

Например, результаты опроса Steam за сентябрь 2025 года
Например, результаты опроса Steam за сентябрь 2025 года

Еще один способ, как быстро заполнить системные требования — посмотреть данные об используемом оборудовании пользователями Steam (https://store.steampowered.com/hwsurvey) и указать самое популярное "железо", под которое, кстати, и стоит оптимизировать игры.

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

Инструмент для подбора меток игры в Steam
Инструмент для подбора меток игры в Steam

Для поиска похожих игр использовал Steam Likes, но с недавних пор он перестал существовать и в качестве альтернативы нашел Steam Peek (https://steampeek.hu), где указывается игра по которой необходимо найти похожие, либо же метки (можно как включить метки, так и исключить, чтобы получить более точные результаты).

Описание

Я выработал простую структуру описания, которая достаточно лаконична и удобочитаема на страницах в магазине:

  • Краткое описание проекта в 100–300 символов.
  • Список особенностей игры.
  • Финальная фраза — мотивация.

Описание по этой, да и любой другой структуре легко сформировать нейросетью, времени на него много тратить не придется. Но если есть желание привлечь чуть больше внимания к игре, то стоит в начале текста добавить гифку с нарезками геймплея.

Пример, такого описания:

***какая-то динамичная гифка с геймплеем*** Это экстремальная динамичная игра с видом от первого и от третьего лица, где можно разгоняться с гор, выполнять трюки перелетая препятствия и осторожно прыгать по скалам. Самое главное не разбейся и не упади в пропасть во время скоростного спуска! Особенности игры: • Вид от первого и от третьего лица • Механика трюков выполняемых в воздухе • Достижения за каждый уровень и за скрытые задания на уровнях • Возможность игры до 4 игроков (в режиме SplitScreen) • Поддержка кооперативного прохождения уровней • Полная поддержка геймпада • Различные погодные условия и времена года • Реалистичные столкновения и падения с велосипеда • Динамичная лицензированная музыка • Режим фрирайда Стряхни пыль с велосипеда и вперед на встречу приключениям!

Обложки

Steam предлагает удобные шаблоны для всех необходимых обложек используемых на страницах магазина и в библиотеке пользователя. И достаточно сделать одну основную, а затем подогнать под размеры остальных. Сами изображения можно сгенерировать по описанию игры, либо взять главного героя / врага и поместить на фон-скриншот какого-нибудь уровня.

Выпустил 5 игр в Steam одновременно. Создал генератор игр и заработал на этом.

Трейлер

Делать кинематографический трейлер для каждого проекта не обязательно, да и не нужно, ведь игрокам важнее увидеть реальный игровой процесс. А для конвейерных проектов и вовсе, наличие трейлера — дело, чисто формальное.

20 секунд. А куда больше?
20 секунд. А куда больше?

Для экспериментальных проектов я снимал минуту геймплея под музыку и как есть загружал в Steam. А на странице либо скрывал его, либо перемещал в самый конец, после скриншотов.

Модерация, такая модерация

На подготовку одной страницы в Steam я тратил наверное, час времени. «Апрувы» (прохождение проверки сотрудниками Valve) страницы или билда занимали в среднем 2 дня.

А чтобы избежать ситуаций отклонения и отправки на доработки, которые оттягивают выпуск игры, набив на этом немало шишек, придумал нехитрую схему "обмана" Valve. Я просто заполнял страницу единым шаблоном, который соответствовал всем правилам, указывая лишь минимум необходимой информации. И уже после получения апрувов, редактировал страницу как угодно, загружая то, что изначально планировал.

Самые отвратительные обложки которые вы видели в Steam, проходили модерацию примерно таким образом
Самые отвратительные обложки которые вы видели в Steam, проходили модерацию примерно таким образом

Обложки загружал примитивные, которые не могли ничего нарушить. Например, белый фон и надпись с названием игры.

А билд загружал тот, который работал на 100% и не имел грубых косяков. Можно использовать даже прошлые версии сборок или вовсе от другой, похожей игры, которая уже проходила модерацию (если конечно, это не популярный проект, который модератор сразу выявит).

Описание добавлял максимально простое, в несколько предложений, которое бы не могло вызвать вопросы по наличию обещанного в игре. Например, можно указать, что в игре есть возможность бегать, прыгать, слушать фоновую музыку, выбирать уровни в меню, изменять настройки, а геймплей заключается в медитативном исследовании локаций и наслаждении прекрасными видами.

Кстати, заметил, многие задаются вопросом, как Valve реагирует на переименовывания проектов или названия компании-партнера (название юр. лица или ФИО физ. лица)?

В обоих случаях Valve идет на уступки и без проблем изменит названия по запросу разработчика. Например, я менял имя партнера 5 раз за последние 2 года, то добавляя приставки «IE» или «IP» перед ФИО, то убирая, либо вовсе меняя окончания имени с “Sergey” на “Sergei”. Valve также не ругается и на небольшие расхождения в имени партнера и владельца банковского счета.

Несколько слов о выпуске игр

Перед тем, как посчитать прибыль с игр, стоит отметить, что в отличии от моих прошлых экспериментов, здесь совершенно не было задействовано никакого продвижения. От публикации страниц до релиза прошло примерно две недели (раньше выпустить, вам просто не позволит Valve). А основной причиной отказа от маркетинга служила изначальная цель эксперимента — выпуск конвейерных игр, которые штампуются очень быстро и разработчик сосредоточен на количестве, а не качестве.

Разработчик с конвейерными играми перед захватом раздела новинок в Steam
Разработчик с конвейерными играми перед захватом раздела новинок в Steam

Но идея, как забрать больше трафика, у меня все же была. Я давно вынашивал идею, попробовать занять весь раздел «Новинок» в течении определенного времени. То есть сделать одновременно много релизов, чтобы среди новых игр были только мои. По отдельности каждая игра получит мало трафика, но в сумме он будет внушителен. Для этого потребовалось бы выпустить не менее 36 игр за раз.

Кстати, это дешевый и достаточно простой способ подпортить релиз небольшим конкурентам, которые вряд-ли ожидают, что после релиза сразу же пропадут с первой страницы под «давлением» 3-4 десятков непонятного мусора.

И чтобы убить двух зайцев, я решил помимо создания конвейера зарелизить всё в один день. Собрал я всего 5 игр на своем конструкторе-генераторе и на этом остановился. Да, количество игр недотягивает, чтобы заполнить весь раздел «Новинок», но небольшую часть трафика привлечет точно.

Деньги

Все 5 игр выпущены. Прошло несколько месяцев. Самое время посчитать прибыль и экономику эксперимента в целом.

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

Ценник у всех был одинаковый $0.99, поскольку мне хотелось убедиться в нецелесообразности устанавливать заниженные цены играм. По моему убеждению, шанс окупить такую игру, значительно ниже, чем у игры за условные $9.99.

И так, расходы:

• 5 мест в Steam — 60 000 руб. (их покупал у знакомых разработчиков, на тот момент 1 место стоило 12 000 руб.)

На этом расходы закончились

А теперь, прибыль NET (за ~5 месяцев продаж):

  • Banana Ragdoll (3350790) = $555

  • Nice Pro? (3350780) = $67

  • BOO! ARE YOU SCARED? (3350800) = $172

  • Skuf for altushki (3348600) = $125

  • I Am Quadrober! (3348590) = $122

Итого в Steam я заработал $1 041.

Не много, но есть еще один нереализованный актив – это ключи. Их с 5 игр у меня оказалось 25 000. Ключи за такие проекты можно продать по цене 2–2.5 рубля за ключ. Но как я понял из сообщений читателей, не всем удается выгодно договорится с оптовыми покупателями, поэтому здесь для расчета возьму цену в 1 рубль за ключ, чтобы учесть подобные риски.

А теперь переводим в рубли и вычитаем расходы. Курс покупки у банка на момент написания статьи был 78 рублей за 1 доллар. Следовательно, прибыль в Steam в рублях составит 1041 * 78 = 81198 р. А вместе с ключами 81198 + 25000 = 106198 р. Из общей прибыли вычитаем расходы на слоты в Steam 106198 - 60000 = 46198 р. Не забываем также про налог на УСН, который составляет 6%, соответственно 46198 * 0,94 = 43426,12 р.

Чистая прибыль с игр составила 43 426 рублей.

Выпустил 5 игр в Steam одновременно. Создал генератор игр и заработал на этом.

Мало? Да, результат значительно хуже прошлых экспериментов. При грубом подсчете, создавая и публикуя каждую игру за 5 часов, я потратил 25 часов времени на все 5 проектов. То есть ставка моя составляла ~1700 / час. Дальше уже каждый для себя может посчитать сколько можно заработать, если конвейер не останавливать и заниматься этим фултайм.

Что можно улучшить? Или как превратить это в настоящий конвейер

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

Вот, чтобы я сделал дальше:

  • Алгоритмически создавать локации, создав несколько базовых заготовок, на которых будут генерироваться как статические, так и динамические объекты.

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

  • Разделить персонажа на части, сделать множество их дублей отличающихся друг от друга и собирать его случайным образом для каждой игры. Скины для персонажа генерировать через один мастер-материал, рандомно выбирая текстуру и цвет.

  • Заполнять данные страницы в Steam через макрос. А графический и текстовый контент также генерировать через заранее заготовленные промпты.

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

Выводы

И в заключение этой истории хочется сказать, что <s>мои эксперименты засоряют Steam</s>, не стоит зацикливаться на точном следовании изначальной идеи и детальной реализации всех аспектов проекта. Куда практичнее начинать проверять гипотезы и интерес к продукту еще на стадии MVP, не дожидаясь релиза. На помощь этому приходят демоверсии / прологи и фестивали.

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

Заниматься долгостроем в слепую, не проверив спроса, бывает опасно. Будьте хитрее, сделайте несколько демок или даже страниц-пустышек (привет, PlayWay S.A.), и посмотрите куда больше пойдет органического трафика.

Выпустил 5 игр в Steam одновременно. Создал генератор игр и заработал на этом.

Заметил, что некоторые инди-энтузиасты в погоне за быстрым заработком, пробуют себя в разработке треш-игр, о которых писал в прошлых статьях. Но думаю, на этот раз они останутся разочарованными – больших доходов в этом эксперименте мусорные игры не принесли.

И касаемо ценообразования, я в который раз убеждаюсь, что дешевые игры, при равных условиях, приносят прибыли меньше, чем более дорогие. Проще сделать одну продажу за $9.99, чем десять продаж за $0.99.

Выпустил 5 игр в Steam одновременно. Создал генератор игр и заработал на этом.

Конечно, можно привести много примеров успешных дешевых игр, но это будет скорее систематическая ошибка выжившего, нежели повод устанавливать низкие цены. Да и распродажи с дорогими играми потенциально принесут больше, поскольку для покупателя привлекательнее покажется цена со скидкой в 90%, которая до распродажи стоила $9.9, а не $0.99.

Дальнейшие планы.

Идеи для проектов не приходят сами по себе.

Создавая игры для разных экспериментов и общаясь с другими разработчиками, понял, что в последнее время спрос на ключи «второсортных» игр значительно упал. И как следствие на рынке образовалось избыточное предложение от разработчиков, усиленно пытающихся сбыть свой товар по самым низким ценам.

Но радоваться игрокам и тем, кто качает уровни в Steam не стоит, цены для них остаются прежними, поскольку ключи от разработчиков крайне редко попадают напрямую в продажу. Обычно у инди сразу выкупают всю партию мелкие дистрибьюторы, а затем реализуют их уже по своим каналам, подробнее об этом расписывал в материале «Разработка игр, как генератор прибыли для равнодушных». А сейчас, даже по заниженным ценам (вплоть до 50 копеек за штуку) не все оптовики готовы выкупать ключи.

Хэппи энд делателей треша
Хэппи энд делателей треша

Разработчикам приходится выискивать магазины, реселлеров, сторонние бандлы, и др. пути реализации соглашаясь на самые невыгодные условия.Так родилась идея сделать торговую площадку для игроков и разработчиков. Начать решил с игровых ключей, постепенно добавляя новые категории. Ближайшие примеры таких площадок: Plati market, FunPay, Авито. А разместить решили в Телеграме в формате miniapp, поскольку это показалось наиболее удобным вариантом – без лишних регистраций, удобно совершать сделки и легко масштабируется в web-версию.

Выпустил 5 игр в Steam одновременно. Создал генератор игр и заработал на этом.

Таким образом мой фокус интересов немного сместился – с разработки игр, в разработку "маркетплейса" игр ;D

Возможно потому, что уже долгое время работаю в одном из них. Но подробнее, о площадке хочу рассказать отдельно, иначе эта статья не закончится никогда. Да и уже будет понятно как мы ее хотим по итогу сделать и возможно смогу поделиться макетами (которые ожидаю от дизайнеров).

Godspeed You! Indie Developer

42
19
11
5
3
1
1
35 комментариев