Советы основателя. Егор Гурьев — об опыте создания сервиса для стриминга компьютерных игр
Почти два года назад был запущен первый в России облачный сервис для стриминга компьютерных игр — PlayKey. Он позволяет играть в игры через интернет, не скачивая и не устанавливая их. Кроме того, не все пользователи имеют возможность постоянно обновлять свои ПК для того, чтобы «потянуть» системные требования современных игр.
Основатель PlayKey Егор Гурьев рассказал «Хабру» о том, как создавался сервис, какие проблемы стояли и стоят на пути его развития. Он также дал советы начинающим и всем тем, кто хотел бы самостоятельно создать ИТ-проект.
Егор, ты единственный основатель компании?
Я сооснователь компании. Есть еще два: Алексей Лыков занимает должность технического директора. Вадим Андреев занимается взаимодействием с правообладателями.
Мы раньше втроем работали в компании Enaza, занимались игровыми проектами, цифровой дистрибуцией, разрабатывали сайты, в том числе «Забава.ру»
Как долго существует PlayKey? Какие у вас результаты на сегодняшний день? В каком направлении вы развиваетесь?
Мы начали заниматься этим проектом в мае 2012 года, то есть, достаточно давно. Первый коммерческий продукт у нас появился в конце 2014 года – 23 декабря. Получается, до конца 2012 года мы занимались разработкой платформы и потратили очень много времени. Технология, сама по себе, наукоемкая, очень сложная, там куча подводных камней. Это связано с тем, что необходимо обеспечивать работу разных игр на нашей платформе. А продукт для стриминга одной игры можно сделать и за полгода.
Каким образом у вас реализован стриминг?
Игра запускается на удаленных мощных серверах Playkey, обрабатывается там же. Пользователю не нужно ни скачивать игру, ни устанавливать ее на своем ПК. Только играть в свое удовольствие даже на устаревшим по сегодняшним меркам компьютере или ноутбуке.
Отдаете вы это все как?
Мы делаем захват изображения из игры и транслируем это видеопотоком конечному пользователю. Это как онлайн-видео, которым легко можно управлять в реальном времени.
Через какой протокол?
У нас собственный протокол для передачи. А для кодирования мы используем модификацию H264. Поэтому пользователю необходимо скачать наш Playkey клиент.
Вы отдельный сервер разворачиваете для каждой новой игры?
У нас есть несколько физических серверов. Мы используем два варианта: на одном сервере мы просто запускаем Windows без виртуальных машин, и в рамках этой ОС мы на одной системе запускаем десять игр; второй вариант – виртуализация: разбиваем сервер на виртуальные машины VMware, на каждой из которых так же запускаем по несколько игр.
Вы существуете два года. Сколько у вас пользователей сейчас? Какова ваша основная метрика на текущий момент?
Сейчас у нас 27 тысяч человек, которые заплатили нам хотя бы раз: кто-то из них стал подписчиком, а кто-то просто оплатил час игры. Для нас это важная метрика.
Какие главные уроки можно извлечь из истории компании, ее развития к текущему моменту времени?
Самый важный момент, на котором я хотел бы заострить внимание – не торопиться делать продукт, а выделить два-три месяца на то, чтобы получше разобраться с проблемой, которую должен решить проект.
Я видел много стартапов. Все они воодушевлены своей идеей, верят, что она изменит мир. Как только она приходит в голову, они сразу начинают ее реализовывать. Окрыленные желанием изменить мир, они недостаточно прорабатывают варианты решения проблем пользователей, которые может решить их проект.
У нас такая ошибка тоже была. Из-за этого в середине 2015 года нам пришлось изменить направление развития и много времени потратили на переосмысление продукта.
У вас был полноценный пивот? Или это касалось каких-то вещей вокруг продукта?
Это было концептуальное переосмысление. С точки зрения технологий, возможно, было не так много изменений. С точки зрения позиционирования продукта изменения были колоссальные.
Что конкретно изменилось в этой точке? Сейчас я вижу возможность поиграть в игру, которая не пойдет у меня из-за системных и аппаратных требований. Чем это было до 2015 года?
До этого мы разрабатывали собственный игровой сервис, который должен был агрегировать всевозможные игры – хорошие и плохие, старые и новые – и дал бы возможность пользователю играть на любых устройствах. Мы хотели сделать свой steam, который бы работал на всех платформах. Изменения расставили приоритет в сторону игровых новинок, технические характеристики которых не под силу большинству обычных домашних ПК.
Концептуальное переосмысление и последующие модификации отразились на стоимости услуги, на бизнес-модели, на экономике нашего проекта (это пошло ей на пользу), на маркетинге – да на всем практически. Но технология в этом случае была второстепенна.
Поэтому не стоит торопиться, чтобы не совершать подобных ошибок.
Какие еще уроки вы вынесли?
Не делать идеальный продукт и сфокусировать только на самых ценных фичах. Не стоит фантазировать и придумывать функциональность, которая выглядит интересно, но не решает главные проблемы в реальности. Если у клиентов нет острой необходимости в этих фичах, делать их не нужно. Затраты на каждую из них примерно одинаковы, а ценность той или иной функциональности для клиента очень разная.
Можешь выделить наиболее трудную задачу, которую приходилось решать?
Сейчас самый основной challenge – при ограниченных ресурсов выбрать те задачи, которые важны для клиента. Если в год мы делаем условно десять фич, а идей у команды — на сто, нужно как-то выбрать десять самых ценных для пользователя.
Как это сделать? Что используете вы, чтобы понять, какие фичи первичны, какие вторичны? Спрашиваете у пользователей или пытаетесь сами ориентироваться?
Мы все спрашиваем у пользователей. Лично мне приходит от них около пятидесяти сообщений в неделю. У нас есть группа во «ВКонтакте», которую мы активно ведем, там уже больше 25 000 подписчиков. Мы используем ее не для привлечения клиентов, для оперативного информирования, для обратной связи — выяснения того, что хотят пользователи. 50% фич мы делаем только после одобрения пользователей. Мы проводим опросы: например, о том, какие игры запускать в первую очередь…
Конечно, есть и другие задачи, связанные с безопасностью, масштабированием, автоматизацией, рефакторингом и так далее. Об этом у пользователей мы спросить не можем. Тут в силу более глубоких профкомпетенций ответственность полностью на нас. То есть, получается некий «микс».
Какой совет бы ты дал начинающему (может быть, еще ребенку) человеку, который планирует двигаться по тому же пути, что и ты?
Научить людей не совершать ошибки – практически не выполнимая задача. Есть ряд вещей, которые человек понимает только тогда, когда он уже совершил ошибку. Поэтому самый правильный совет, наверное, в том, чтобы совершить больше ошибок. И побыстрее, потому что вопрос времени здесь критичный. Тогда человек поймет и научится. Жизнь короткая, часов в сутках мало, поэтому нужно стараться быстрее эти ошибки совершать. Не стоит пытаться избегать их. Главное — делать из них правильные выводы и двигаться дальше.
Автор: