Разработка в одиночку: опыт Сергея Носкова — автора Hail to the Rainbow
А также The Light, 35ММ и 7th Sector.
Иллюстрация: игра Hail to the Rainbow / Сергей Носков / Colowgee для Skillbox Media
Все игры Сергея Носкова меланхоличны. Они про одиночество в той или иной степени. Все они кинематографичны, стильны и красивы. Игры Сергей разрабатывает один — если не считать композитора и актёров озвучивания, конечно.
Сейчас он завершает работу над Hail to the Rainbow — игрой о мальчике, пытающемся выжить в мрачном мире постапокалиптической России, населённом жуткими роботами. Сеттинг можно описать как постсоветский киберпанк: в нём есть что-то от Half-Life, но при этом Hail to the Rainbow сильно давит на ностальгию детей 1990-х.
Вот эта вот специфическая «думерская» атмосфера — мрачный брутализм, старенькая «Нива» в качестве средства передвижения, шапка-петушок, стикер с Бартом Симпсоном на рюкзаке, плакат «Хочу верить» из X-Files над столом, аудиокассеты с музыкой в духе группы «Молчат дома» и непреодолимая густая тоска по несбыточному. По умершей мечте.
Нужного эффекта в плане атмосферы Hail to the Rainbow помогает достичь и жанр — это задумчивая приключенческая игра с головоломками и исследованием мира. И раскрыть тайны этого мира хочется — игра очень хорошо создаёт загадку. Экшен здесь тоже есть (и он зрелищный), но, судя по демоверсии, которая не так давно вышла в Steam, он здесь не главное. Куда важнее окружение, в которое автор вложил столько труда, что даже страшно представить.
Мы пообщались с Сергеем Носковым, чтобы узнать, каково это — делать игры в одиночку.
— Ты писал, что работаешь один, потому что тебе нравится погружаться в разные сферы разработки, ты смакуешь этот процесс. Но неужели все эти сферы тебе одинаково интересны? И нарратив, и моделирование, и скрипты? Может, от чего-то уже тошнит? А что-то, наоборот, нравится всё сильнее?
— Удивительно, но практически все сферы разработки мне искренне нравятся, в каждой есть моменты, доставляющие уникальное удовольствие.
Наиболее приятной частью для меня является работа с графикой, с кодом самой игры и графическими шейдерами. С графикой всё понятно, с ней у меня достаточно большой стаж взаимодействия, в общем-то весь мой творческий путь начинался с изобразительного искусства. Работа со светом, моделями, текстурами, композицией — всё это для меня теперь уже родная среда. А работа с кодом и шейдерами стала для меня новой фантастической вселенной. Крайне интересно наблюдать за тем, как строчки кода превращаются в механику, оживляют локацию или создают удивительные визуальные эффекты в кадре. Область кода интересна ещё и тем, что она каждый раз представляет собой набор конкретных задач, и решение каждой из них доставляет особое удовлетворение. Я бы даже сравнил это с пазлами в самих играх, решая которые ты искренне радуешься.
Нравится также и сфера анимации, но, пожалуй, для меня она представляет одно из самых сложных направлений. По крайней мере, если речь идёт об анимации персонажей.
Конечно, есть и менее излюбленные области: например, работа со звуком и текстом — это достаточно рутинные процессы, в них много однообразных механических действий, если говорить именно о подготовке, нарезке и интеграции материала в игру. Хотя само продумывание историй для вселенной мне нравится, интересно связывать воедино разные части задумки и сюжетных линий.
— Какие навыки были у тебя изначально, когда ты только начал работу над первыми играми? Знаешь, как когда персонажа в RPG создаёшь и определяешь ему первые скиллы. Что ты умел сразу, а чему пришлось учиться?
— Как я отметил выше, до вхождения в геймдев у меня был некоторый опыт работы с визуальным рядом в разных областях, я практиковался в области реальной живописи, работал с 3D-графикой и рендерами, занимался созданием видеороликов. Поэтому у меня было примерное понимание того, как работает графика в играх и как вообще ориентироваться в игровом движке. Принципы и понятия вроде «сцена», «камера», «светильники» во всех программах практически идентичны. По этой причине первые мои наработки представляли собой по большей части визуальные демонстрации.
Самым важным и сложным для меня было оживить эти демонстрации, придать им интерактивности и превратить во что-то, что могло бы по праву называться игрой. Так что основной целью для меня было освоение программирования, я скачивал сторонние функциональные демки, изучал примеры кода, дополнял их и редактировал на свой лад.
— Как ты обучался и обучаешься новому? Есть какой-то метод, как делать это быстро и максимально эффективно?
— Особенность моей работы — нет никакого метода. Это я говорю не с какой-то гордостью, скорее даже, наоборот, я понимаю, что этот подход не очень верный. Но так уж повелось, что вся моя работа и обучение выстроены хаотично.
Я люблю творческий процесс, свободу, люблю делать что-то по настроению и когда посещает муза. Я просто изучаю что-то, если интересно, разбираю какие-то примеры. Завтра интерес может пропасть, и я перемещу фокус внимания на что-то другое.
Часто я вдохновляюсь чем-то, что увидел в Сети, играми или чьими-то работами. Иногда встречаешь новые методы и хочешь их освоить. Но, как правило, я стараюсь не тратить время на изучение чего-то просто ради накопления базы и навыков, стараюсь осваивать именно то, что непосредственно необходимо мне для текущей работы. С этим всегда выручает интернет: мне кажется, найти ответ на любой вопрос сейчас не составляет никакой проблемы. А особенно полезна сейчас помощь ИИ, того же ChatGPT. Для меня он стал незаменимым ассистентом, и я практически перестал обращаться к обычному поиску в Сети, хотя к его ответам всё равно стоит присматриваться: иногда врёт.
— Ты когда-нибудь обращался за помощью к другим разработчикам? Может, совета спрашивал или опирался на чей-нибудь опыт?
— Да, бывало, обращался, были вопросы по коду и шейдерам. Хотя такое происходит редко, люблю сам находить ответы.
— Я кое-что понимаю в нарративе, но полез изучать моделирование, потому что не уверен, что хочу искать команду: слишком большая ответственность. Но мотивации ужасно не хватает, приходится себя заставлять. То есть, чтобы сделать игру, нужно освоить сразу несколько сфер, но душа к некоторым из них будто бы не лежит. Что ты мог бы посоветовать тем, кто оказался в такой ситуации? Может, это хандра просто и само пройдёт?
— Мне кажется, что желание и мотивация — очень мощная сила. Искреннее стремление к чему-то вполне может открыть новые способности и возможности, научиться можно и тем вещам, что всегда казались недоступными. Именно такой недоступной сферой мне всегда казалось программирование. Но если мотивации нет и действительно к какой-то теме душа не лежит, то, наверное, лучше всё же поискать кого-то, кто сможет взять на себя эти задачи. Принуждение вряд ли даст ожидаемые результаты, к тому же, напротив, может вызвать отторжение и выгорание. Но бывает так, что с первого раза просто не удаётся распробовать это дело и проникнуться. Иногда после определённого числа попыток просыпается интерес.
— Как ты начинал? Откуда деньги брал? Надо же самому себе зарплату платить.
— Когда я начинал, то совмещал инди-геймдев с официальной работой. Она тоже была связана с играми, но особого погружения и ответственных задач не было. Скорее, была рутина, которая позволяла мне сохранять силы и по вечерам после работы заниматься своими задумками. Поэтому на старте была возможность содержать себя и развиваться в направлении соло-разработки.
— Сколько в среднем приносят твои игры? Хватает на безбедную жизнь?
— По месяцам суммы дохода имеют большой разброс, но в среднем это 1,5–3 тысячи долларов со всех игр на текущий момент. Steam-релизы со временем приносят совсем мало, поэтому основная часть приходится на консоли. Вообще, однопользовательская сюжетная игра — весьма скоропортящийся продукт, и с каждым годом суммы сокращаются, поэтому всегда приходится думать о будущем. Наверное, можно сказать, что это не очень стабильная история, но мне всё равно нравится такое положение, есть свобода действий и независимость.
— Поправь, если ошибаюсь, но ты не сотрудничаешь с издателями и агентствами. А почему? Они же могли бы взять на себя, как минимум, перевод и продвижение. Трафик бы закупили. Да и меньше мороки, нет? Мне кажется, тебя с руками оторвали бы.
— Не могу похвастать тем, что мне поступало много предложений от издателей. А из тех, что поступали, немногие вызывали доверие. Это тема, в которой нужно самому неплохо разбираться, и просто полагаться на обещания и контракты, на мой взгляд, не стоит. К тому же мне в принципе не очень хочется с кем-то сотрудничать без острой необходимости, поскольку мне нравится осознавать, что моя работа является именно моей работой от начала и до конца.
Мне нравятся все процессы в моём собственном мире разработки и не очень нравится коммуникация с людьми, договорённости, обсуждения и так далее. Исключением стало только издательство игры на консолях, поскольку там для меня действительно много неизученного и непонятного, в этой области мы сотрудничаем с издателем.
— Как ты продвигаешь игры и какие методы в твоём случае работают лучше всего? Гифки на Reddit? Субботний скриншотник в «Твиттере»? Фестивали? Дискорд-сервер?
— Набор инструментов для продвижения, наверное, стандартный в наше время: посты в Twitter (я до сих пор его так называю, иначе не выходит), «Инстаграм»*, веду группу в VK и телеграм-канал. Веду также ютуб-канал, но контент для него бывает нечасто. Reddit тоже использую, но успех постов очень разный: иногда залетает, иногда не особо. Из перечисленного пока что самым эффективным оказалось участие в небольших флешмобах, если можно это так назвать, в Twitter, когда разработчики постят свои работы, делая цитаты и репосты друг друга. Обычно это очень хорошо расходится и приносит много просмотров.Но самым эффективным пока что стало участие в фестивале Steam с демоверсией. Это событие, пожалуй, принесло наибольшее число вишлистов за всё время существования страницы игры.
— Сколько у Hail to the Rainbow вишлистов, если не секрет? Больше, чем у предыдущих игр было?
— Я бы не хотел сейчас раскрывать конкретное число вишей, чтобы не сглазить (хотя не суеверный). Скажу лишь, что за время феста набралось около 30 тысяч. В моей практике такое впервые. На самом деле в предыдущих релизах я даже не следил за количеством вишлистов, казалось, что тогда это и не было столь важно, как сейчас. Помню, что у The Light Remake перед самым выпуском было чуть более тысячи.
— Я прошёл демку Hail to the Rainbow. Очень атмосферно. Важнейшую роль, мне кажется, играет вот эта специфическая «думерская» атмосфера 1990-х. Что для тебя значат 1990-е и почему ты ими вдохновляешься?
— Сейчас в сегменте отечественных игр я вижу очень много проектов в этой стилистике и с подобным настроением. Многие стали продвигать наши родные вайбы, и, конечно, советская эпоха и период 1990-х — это наиболее подходящая тема, знакомая многим. Поскольку я начинал разработку Hail to the Rainbow лет пять назад (сейчас уже счёт движется к шести годам), тогда столь активного использования этой тематики ещё не было, но потребность в ощущении ностальгии у людей была всегда. Многим приятно вспомнить свою юность, времена, когда что-то было мрачнее, а что-то и зеленее.
Погружение в атмосферу прошлого — это очень хороший инструмент для разговора с игроком или зрителем. Можно затронуть многие струны души человека. Ну и конечно же, создавая такую работу, я затрагиваю струны своей души тоже.
Когда я работаю над игрой, я проживаю её от начала до конца, проживаю с героем все события и также касаюсь своих ностальгических воспоминаний и настроений. Мне это нравится, нравится иногда просто вспоминать прошлое, события, людей.
— Как твои игры принимают за рубежом? И как там себя показала демка? 1990-е у них всё-таки были немного другие.
— Насколько я понял, для зарубежного игрока или зрителя наша эстетика прошлого, а конкретно 1990-х, — это особая экзотика. Думаю, это так же интересно, как многим, например, интересна эпоха итало-американской мафии в каких-нибудь 1950-х годах. Эстетика архитектуры, автомобилей, строгих плащей и шляп.
Иностранцам, в свою очередь, интересна советская и постсоветская стилистика, и это очень хорошо заметно в кейсах крупных проектов, таких как, например, «Метро 2033», «Сталкер», Atomic Heart. По своему опыту я вижу, что и мои работы привлекают некоторое зарубежное внимание. Хоть стилистика окружения и является для многих непривычной и незнакомой, по отзывам заметно, что людям всё равно удаётся проникнуться атмосферой.
— Ты писал, что Hail to the Rainbow разрабатывается уже пять лет (и, как я понимаю, она почти готова), но раньше времени на игры у тебя уходило значительно меньше. Что изменилось?
— Сроки разработки — это занятный парадокс. Первый свой крупный проект, 35ММ, я разрабатывал чуть более двух лет. И мне всегда казалось, что по мере накопления навыков и знаний сроки будут сокращаться и дело пойдёт быстрее. Но на практике оказалось, что вместе с навыком растут и запросы, появляется более скрупулёзная оценка результата, придирчивость. Хочется сделать больше и лучше, некоторые подходы к работе усложняются, вещи, на которые раньше можно было бы закрыть глаза, сейчас не дают покоя. И выходит так, что последующие проекты требуют больше времени и сил.
— Я заметил, что тебе очень хорошо удаётся кинематографичность. На какой опыт ты опираешься в работе с камерой и сценой? Кино? Игры?
— Скорее, даже на кино в большей степени. Мне нравится воспринимать игры как визуальное искусство, они могут быть невероятно красивыми и визуально выразительными. И один из инструментов, как и в кино, — это работа с камерой, светом, постановкой сцен. Сейчас я особенно стараюсь уделять этому внимание, доводить до ума каждый кадр, слежу за глубиной, акцентами с помощью контрастов и так далее. В кат-сценах я использую эффект на камере, имитирующий мелкую раскачку, как при ручной съёмке. На мой взгляд, это придаёт особую живость.
Вообще, когда я думаю о визуальной стороне кадра, первое, что вспоминается, — это работа со светом Стивена Спилберга и потрясающе поставленные кадры Дени Вильнёва.
— Кажется, что Unreal Engine больше подходит для кинематографичных игр — со всеми его модными фичами. Не собираешься переходить с Unity на него?
— Давно думаю о работе с Unreal, но это, возможно, случится только после завершения текущих задач. Сложно заставить себя переходить на новый инструмент после стольких лет работы в каком-либо софте. Привычка — штука стойкая. Накоплен большой опыт, ты понимаешь многие нюансы того, как работает движок, есть уже понятный и отработанный инструментарий и методики. Тяжело отмести всё это в сторону.
— В чём секрет вот этой вот вязкой, глубокой атмосферы в Hail to the Rainbow? Как ты её нагнетаешь? Из чего она состоит?
— Думаю, главной фишкой в моих проектах становится атмосфера одиночества, опасности, а также пугающей загадочности. В сочетании с мрачными пейзажами это неплохо работает.
В той же демке первая локация представляет собой довольно странное место, здание необычной формы с непонятным назначением. Никто не знает, что там было раньше и какие события происходили. Это напрягает, но в то же время вызывает интерес. Главным инструментом является визуальный ряд, цветовая гамма, глубина тумана и дымки. Ну и, конечно же, звук, без него никуда: тревожный эмбиент, какие-то шорохи, непонятные шумы из труб и ситуативная музыка. Местами она расслабляет и даже звучит лирично. Но в какой-то момент меняет настрой и начинает давить.На днях я переигрывал в некоторые пройденные ранее проекты, именно в наушниках, и удивился тому, как иначе они звучат, какая в них глубина и погружение.
— Даже боюсь представить, из чего у тебя состоит пайплайн. Какими инструментами ты пользуешься при планировании работы и как определяешь, что за чем следует?
— Мой пайплайн действительно страшен. Его почти нет — точнее есть, но он крайне хаотичен. У меня никогда не было чёткого планирования задач и структуры проекта, многое делается методом импровизации. Даже по сценарию — примерно до середины разработки я могу не знать, чем вообще закончится игра. Я часто чередую работу, могу неделю заниматься выстраиванием локации, а потом переключиться на механики.
Тем не менее в работе над Hail to the Rainbow некоторая системность всё-таки была. Я бы не назвал это диздоком, но у меня было несколько тетрадей, куда в самом начале разработки я заносил разнообразные заметки, зарисовки, схемы уровней и записи по сценарию. Я не использую для планирования и списка задач какого-то специального софта, просто записываю в тетрадях или в Word-документах.
Если вкратце, непосредственно работу в самом движке я начинал с испытательных полигонов, блокинга уровней и создания структуры меню, загрузки уровней, настроек и сейвов. Параллельно занимался созданием контента, персонажей. Далее выстраивал уровни сперва в черновом варианте, настраивая логику, диалоги, основные звуки. Затем в несколько итераций пробегался заново по всем локациям, прорабатывая новые элементы, расставляя коллайдеры, предметы, настраивая свет для лайтмаппинга и реалтайм-освещение.
Таких циклов до финального вида локации очень много, сложно даже всё это описать. В общем-то процесс этот продолжается до сих пор, постоянно находится что-то, что можно исправить и дополнить.
— Ты пользуешься ассетами? Если да, то какими и в каких объёмах?
— Иногда покупаю модельки объектов, чтобы сэкономить время. Это небольшой процент, может быть, 2–4 от всего объёма. Процесс моделинга мне нравится, но на какие-то универсальные предметы вроде раковины, железной бочки или дивана в квартире тратить время и силы бывает жалко.
Помимо моделей, есть несколько купленных ассетов из области инструментария и шейдеров. Например, Bakery для запекания лайтмап и NGSS Soft shadows для создания мягкой и более правильной тени при солнечном освещении.
— Ты используешь нейросети? И что в целом думаешь о них? Насколько полезными или, наоборот, вредными они могут быть в случае разработки игры?
— Да, в последний год я стал достаточно активно пользоваться нейросетями. Как я писал ранее, ChatGPT стал незаменимым ассистентом, помогающим находить ответы на практически любые вопросы. В плане создания контента — немного использую нейросети для генерации изображений: для концептов, или, например, для оформления в самой игре — это некоторые плакаты, фотографии, мозаики. При этом я обычно стараюсь значительно дополнять полученные изображения вручную, редактирую. Стилистика нейронки всё-таки очень выделяется и бросается в глаза.
Ещё одна сфера применения — озвучка роботов. В моём случае вполне логично использование искусственного голоса для искусственных существ. Это сильно экономит время и деньги, к тому же всегда можно внести изменения. Под несколькими электронными фильтрами голоса звучат вполне неплохо. Это позволило мне даже заняться английской версией озвучки роботов.
В целом к нейросетям я отношусь настороженно, я во многом консервативен и всегда больше ценю ручной труд. Немного вызывают отторжение ситуации, когда вместо продуманного художником, кропотливо созданного контента используют генерации нейронок в чистом виде. Но я понимаю, что от прогресса никуда не деться — с ним лучше сдружиться и научиться использовать с умом.
— Как соло-разработка сочетается с личной жизнью?
— Первое время я успешно совмещал разработку и простую жизнь, досуг, встречи с друзьями, прогулки и поездки с супругой. Но в случае с Hail to the Rainbow на третьем году работы начался очень тяжкий период. Стал появляться свой внутренний дедлайн, началась спешка, работа стала отнимать практически всё время. По сути вся жизнь превратилась в работу, стало сложно отвлекаться на что-то стороннее, сложно отдыхать, но и бесконечно работать тоже. Здесь стоит отметить терпение моей супруги Насти, она очень стойко переживает и пережидает этот период, понимает всю важность происходящего, за что ей большое спасибо.
— Опиши один рабочий день из жизни Сергея Носкова.
— Увлекательной истории здесь не будет. В данный момент образ жизни представляет собой «День сурка». Поскольку у меня в основном ночная активность, просыпаюсь я в 12-13 часов. Сажусь за рабочее место, вспоминаю, на чём остановился ранее. Сейчас стало сложнее держать всё в голове, поэтому приходится записывать какие-то пункты.
В процессе работы стараюсь прерываться каждые полчаса-час, делать разминку, чтобы здоровье не сказало: «Давай, до свидания»; думаю, многие на себе хорошо ощущают, как сидячая работа сказывается на организме. Завтракаю, обедаю и так далее также за монитором — привычка и экономия времени. Вечером стараюсь на что-то отвлечься на пару часов: с супругой либо смотрим фильм, либо играем на консоли. Иногда подключаются бытовые дела.
Работа обычно продолжается до 4–5 утра, график таким образом у меня сместился уже давно: ночью легче сконцентрироваться, меньше мешающих факторов, шума и прочего. Хотя в ходе работы я обычно параллельно прослушиваю что-то на YouTube: летсплеи, обзоры кино, музыка и прочее, это немного разгружает напряжение.
— Стоит ли человеку, который только начинает свой путь в разработке, собирать команду и пытаться делать первую игру вместе с кем-то? Или лучше всё-таки посвятить время изучению разных аспектов разработки и пытаться по максимуму делать всё самому?
— Я в этом вопросе не могу давать никаких советов. Это сугубо индивидуальный выбор каждого, и аргументов «за» и «против» слишком много. Люди разные, навыки и способности разные, нацеленность на коммуникацию разная. Например, в моём случае, скорее всего, стиль работы соло в первую очередь определило не особо ярое стремление к коммуникациям. Мне нравится быть одному (или с очень ограниченным кругом близких), нравится работать одному, принимать решения самостоятельно и так далее. Поэтому за годы выработалась такая специфика.
К тому же для работы в команде, на мой взгляд, требуются организаторские способности, если человек планирует сохранять руководящее положение и вести проект. Мне это не очень близко.
— У тебя нет ощущения, что с командой ты смог бы достигнуть большего? Соло-разработка же всё равно накладывает некоторые ограничения.
— Да, безусловно, работа в одиночку накладывает большие ограничения. Но меня это не сильно беспокоит: работа должна доставлять удовольствие, а формат команды для меня всё значительно поменяет.
— Получается ли у тебя реализовывать всё задуманное, или от чего-то порой приходится отказываться в процессе?
— Помню, как читал статьи с историей разработки некоторых известных игр, и там часто упоминались кейсы, когда от первоначальных задумок авторам приходилось отказываться. Иногда на это влияет сложность идеи, иногда — ограниченное время. В моей работе тоже есть такие ситуации. Часто подобное происходит ближе к финалу разработки. Некоторые вещи, фишки не были обязательными, а должны были дополнить что-то, лор или механику. Но когда понимаешь, что время начинает поджимать, приходится оценивать важность идей и сосредотачиваться на более приоритетных.
Для примера, в Hail to the Rainbow есть спутник, беседующий с нами по радиосвязи. Изначально у меня была задумка применить систему диалога с ним, чтобы по ходу всей игры можно было самостоятельно выбирать ответы. Это могло в финале привести к разным концовкам. В итоге от идеи пришлось отказаться по причине нехватки времени и некоторых технических и геймплейных нюансов.
— Каких правил стоит придерживаться разработчику, который решил делать игры один? Советы и рекомендации в этом нелёгком деле точно пригодятся!
— Я бы посоветовал в большей степени структурировать свою работу: творческий беспорядок нестрашен, но порядок позволит избежать многих проблем в будущем. Стоит более тщательно взвешивать свои силы и не пытаться откусить крупный кусок: иначе в случае неуспеха это может очень сильно деморализовать.
Ну и главное: очень рекомендую соблюдать режим труда и отдыха. Переработки и трудоголизм действительно пагубно влияют и на физическое, и на моральное состояние. За пару лет работы этого можно не ощутить, но длительное ведение проекта открывает новые грани, скажем так. Всем здоровья, мотивации и крутых игр!
* Решением суда запрещена «деятельность компании Meta Platforms Inc. по реализации продуктов — социальных сетей Facebook и Instagram на территории Российской Федерации по основаниям осуществления экстремистской деятельности».