Добрый день!
Коллеги из Defold, игрового движка для веба и мобильных игр, взяли интервью у разработчика OpenMyGame.
Ниже мы перевели статью на русский язык. Оригинал можно прочитать тут.
Иногда можно услышать мнение, что эпоха расцвета браузерных игр давно позади, а уж долгая и мучительная кончина Flash и вовсе положит им конец. К счастью, эта точка зрения далека от истины!
Браузерные игры продемонстрировали ошеломляющий рост благодаря технологическим достижениям разработчиков браузеров. JavaScript сегодня работает невероятно быстро — , а на смену Flash пришли современные веб-технологии, которые поддерживают все ведущие браузеры. Этот новый набор стандартизированных API-интерфейсов для браузеров часто называют HTML5. API-интерфейсы HTML5 поддерживают аппаратное ускорение графики, воспроизведение звука с низкой задержкой, геймпады и полноэкранность в играх.
Параллельно с развитием браузерных технологий становится все больше игровых движков — в особенности тех, которые используются при кросс-платформенной разработке игр и позволяют оптимизировать работу онлайн-игр благодаря новым технологиям.
Также по всему миру наблюдается мощная тенденция к демократизации игровой разработки, а также повышению доступности технологий для разработчиков. На фоне повсеместного распространения браузеров совсем неудивительно, что открытые игровые движки HTML5, такие как Phaser и Pico-8, делят сегодня ведущие позиции популярными кросс-платформенными игровыми движками, также основанными на открытом исходном коде.
Ну, и наконец, давайте не будем забывать об игроках! Цифры показывают, что игроки сегодня все больше и больше играют в браузерные игры, при этом число популярных игровых порталов постоянно растет: там можно встретить не только хорошо проработанные игры высокого качества, но и забавные прикольные игры, созданные во время геймджемов.
В этом кейсе мы поговорим о том, как белорусский разработчик игр OpenMyGame использует кросс-платформенный игровой движок Defold с доступным исходным кодом для создания игр на Яндекс.Играх — одной из ведущих платформ для высококачественных онлайн-игр. Мы поговорили с Генеральным директором компании OpenMyGame Владимиром Тимошковым, вот что он нам рассказал.
Бьёрн: Владимир, не могли бы вы рассказать нам об истории OpenMyGame и играх, которые вы создаете?
Владимир: Проект OpenMyGame был запущен тремя мобильными разработчиками — во время учебы в университете мы были в одной команде на проводимых ACM ICPC соревнованиях по программированию. Мы хотели создавать свои собственные проекты и остановились на играх. Мы сами очень любим играть в игры — поэтому для нас так важно, чтобы игры не были скучными, — но и писать такие игры непросто.
В 2011 году быстро рос рынок мобильных телефонов, поэтому мы решили, что это хороший момент для старта. Мы сделали около 20 одноэкранных игр-головоломок просто ради прикола. Мы использовали движок Andengine и публиковали игры на Android Market (старожилы помнят это название). Мы заработали свои первые деньги на рекламе, однако заработка было не достаточно, чтобы уйти с наемной работы.
В то время рынок переходил на игры более высокого качества, и мы решили воспользоваться этой возможностью! В 2012 году мы разработали игру, которая стала для нашей команды самым большим вызовом — Draw & Guess Online. Проект включал нативную разработку под Android и iOS, нативную веб-разработку, — а также большую серверную часть, написанную на Java. И все равно это был просто хобби-проект троих ребят, которые работали на полную ставку в областях, совсем не связанных с разработкой игр!
В течение трех последующих лет мы изо всех сил старались добиться, чтобы наши игры зарабатывали достаточно много денег. Потребовалось много усилий — как в области игрового дизайна, так и в деловом плане, — однако у нас по-прежнему не было средств на наращивание отдачи от игры.
В начале 2016 года каждый из нас решил уволиться с наемной работы просто потому, что нам надоело говорить себе «нет времени». Мы просто хотели проверить свой лотерейный билет — сможем ли мы стать прибыльными на рынке, где у нас так много опыта, если будем использовать всю нашу энергию и время? И через три месяца мы получили ответ. И, к счастью, ответ оказался утвердительным!
Наша компания OpenMyGame разрабатывает игры для казуальной аудитории, — в первую очередь, тех людей, которые стремятся использовать в играх свой интеллект. Для них мы разрабатываем всевозможные словесные игры, викторины, головоломки.
Бьёрн: Когда вы впервые услышали о Defold?
Владимир: На конференции разработчиков игр в Беларуси в 2018 году я познакомился с Алексеем Гулевым. Мы нашли много общих тем для разговора, среди которых были игровые движки. Он рассказал, что экспериментирует с новым движком от компании King и описал преимущества движка Defold по сравнению с Unity (он остается среди наших основных инструментов разработки). То есть это был своего рода спор, в котором я, в основном, выступал на стороне Unity по бизнес-соображениям — легкость найма, крупное сообщество разработчиков, наличие плагинов. Важно сказать, что мы обсуждали именно мобильную разработку.
Бьёрн: Почему ваша студия выбрала именно Defold для разработки ряда игр?
Владимир: Я следил за постами Алексея в Твиттере и в какой-то момент заметил, что он начал экспериментировать с Defold. Он постоянно рассказывал о каких-то новых фишках Defold — это оказалось очень полезно и постепенно располагало меня к Defold.
«Мы можем с уверенностью сказать, что основной функционал Defold можно очень легко освоить, особенно если у разработчика есть уже хотя бы одна сделанная игра».
Поэтому, когда в 2019 году мы решили перенести нашу лучшую игру Море Слов на новую платформу Facebook Instant, мы выбрали Defold благодаря мощной поддержке HTML5. Вскоре после этого к нашей команде присоединился очень опытный разработчик. У него был огромный опыт работы на нескольких движках (но не на Defold) — и через три месяца игра была перенесена. Мы можем с уверенностью сказать, что основной функционал Defold можно очень легко освоить, особенно если у разработчика есть уже хотя бы одна сделанная игра.
К сожалению, опыт с Facebook оказался негативным — нам не удалось привлечь органический трафик, доход от платных пользователей оказался далек от уровня окупаемости. Однако, несмотря на это, мы смогли извлечь урок и подготовили игру для публикации на другой онлайн-площадке.
Так мы и открыли для себя Яндекс.Игры.
Бьёрн: Можете поделиться своим опытом выпуска игр на Яндекс.Играх?
Владимир: Разумеется. После того, как наш опыт с Facebook оказался весьма кислым, мы попытались приготовить лимонад (опубликоваться на других HTML5-платформах). У нас было несколько возможностей: в первую очередь, это крупнейшие российские социальные сети — Одноклассники и VK. Публиковаться в каждой из этих соцсетей оказалось не очень легко, потому что нужен был сервер для хранения пользовательских и платежных данных. Также сама игра должна была работать на статическом сервере разработчика.
«И наша игра взлетела! Она вошла в топ-5 на платформе по количеству загрузок».
Мы начали искать альтернативы, — и совершенно случайно я обнаружил, что есть молодая, но перспективная платформа под названием Яндекс.Игры. Нам потребовалось 2 недели, чтобы добавить поддержку их API — и дело в шляпе — потому что хранение пользовательских данных и хостинг игр являются частью платформы, предоставляемой Яндекс.Играми.
И наша игра взлетела! Она вошла в топ-5 на платформе по количеству загрузок. Наша первая и все последующие игры получили значок «Наш Выбор»!
«Наше главное правило: если надо объяснять, как работает фича, — то это плохая фича».
Бьёрн: Как вы подходите к дизайну ваших игр? Вы прорабатываете множество разных концепций, создавая для них прототипы — а потом с каждым прототипом работает небольшая группа тестировщиков? Как вы делаете так, чтобы ваша игра выделилась на фоне конкурентов?
Владимир: Нам потребовалось некоторое время, чтобы понять, как добиться эффективности в нише словесных игр и викторин. Главная идея в том, чтобы не концентрироваться на функционале для продвинутых или регулярных игроков. Не стоит стремиться впечатлить коллег (например, других игровых разработчиков) какой-то редкой или сложной механикой. Поэтому наше главное правило: если надо объяснять, как работает фича, то это плохая фича. Все должно усваиваться в процессе игры — мы считаем, что для казуальных игр это идеальная модель. Поэтому прислушивайтесь к своей целевой аудитории и старайтесь сделать игру именно для нее, а не для себя лично.
Поскольку команда у нас не очень большая, мы особо не увлекаемся прототипированием. Однако, мы оказались достаточно удачливыми, чтобы практически все наши игры приобрели мировую популярность и начали приносить деньги.
Бьёрн: Яндекс.Игры предлагают несколько вариантов монетизации. Какую стратегию монетизации вы используете для ваших игр?
Владимир: На данный момент, Яндекс.Игры поддерживают покупки в приложении и разные виды рекламного инвентаря (баннеры, видео в приложениях, видео с вознаграждением). Мы поддерживаем не только рекламу, но и покупки в приложениях. Однако реклама для нас наиболее важна — это обусловлено игровым жанром, в котором мы работаем.
Бьёрн: Как проходит процесс публикации на Яндекс.Играх? Я имею в виду такие вещи, как период модерации, контроль качества и аналитика.
Владимир: Время отгрузки для нас измеряется минутами, поскольку мы умеем выбирать время для отправки игр на модерацию — важно успеть, пока в России не закончился рабочий день. А также у нас сформировались хорошие отношения с командой Яндекс.Игр. Мы обычно заранее говорим им, что собираемся выпустить новую интересную фичу — и они с нетерпением ждут, потому что им хочется поскорее ее попробовать.
Простейший контроль качества выполняется командой платформы при каждом обновлении: только после этого они одобряют новую версию игры. Поскольку Яндекс.Игры считают себя площадкой для игр высокого качества, они обязательно проверяют, что игра по-прежнему соответствует описанию и поддерживает все необходимые технические требования. Продуктовый контроль качества обеспечивается на стороне издателя.
Аналитические инструменты могут быть использованы на усмотрение издателя. Мы используем Яндекс.Метрику в качестве основного инструмента, а также систему GameAnalytics, т. к. она идеально подходит для игр.
Бьёрн: Как вы оцениваете перспективы браузерных игр на ближайшие несколько лет?
Владимир: Будущее светло и прекрасно, по крайней мере, для нашей целевой ниши — интеллектуальных казуальных игр. Мне бы хотелось, чтобы интеграция со стороны мобильных операционных систем была чуть лучше — добавление значка на экран, поддержка уведомлений и другие платформенные функции.
Бьёрн: Какие три главных аргумента вы бы привели в пользу использования Defold для создания ваших HTML5-игр?
Владимир:
- Малый размер сборки.
- Быстрое и стабильное время выполнения.
- Удобный редактор.
«С моей точки зрения, — а также с позиций нашего сценария использования движка, — я не вижу каких-то критичных проблем или недостающих фич».
Бьёрн: А какую бы новую фичу вы бы хотели увидеть на движке Defold?
Владимир: Мне сложно сказать, поскольку я не отвечаю за разработку, но я знаю, что даже если и будет какая-то проблема, наша команда сможет с ней справиться. С моей точки зрения, , а также с позиций нашего сценария использования движка, я не вижу каких-то критичных проблем или недостающих фич.
Бьёрн: Как выглядит сообщество разработчиков игр в Беларуси?
Владимир: Профессиональное gamedev-сообщество не особенно большое и не слишком активное. У нас проводится несколько мероприятий в год, но они обычно организуются за пределами страны. Так что на данный момент gamedev в Беларуси — это яркая часть большого российского сообщества gamedev.
«Мы решили запустить довольно глубоко проработанную программу стажировки в нашем городе»
Бьёрн: Я слышал, что у вас есть серьезные договоренности по найму с вашей собственной внутренней академией разработчиков игр. Можете рассказать нам о процессе найма? Что помогает вам открывать новые перспективные таланты?
Владимир: Да, мы столкнулись с проблемой найма разработчиков Defold, их не так много, и большая часть из них независимые разработчики, которые хотят создавать собственные игры и либо не хотят работать по найму, либо не могут пройти наше техническое собеседование. Поэтому мы решили запустить довольно глубоко проработанную программу стажировки в нашем городе.
Сначала мы отправляем задание с просьбой написать пять небольших программных функций на любом языке. Если задание выполнено правильно, мы приглашаем кандидата на собеседование, чтобы глубже проверить его технические навыки. Затем мы приглашаем тройку лучших кандидатов на 2-месячную стажировку.
В течение первых двух недель студенты решают алгоритмические задачи, подобранные на сайте HackerRank. Для нас очень важна эффективность кода, поэтому мы всегда призываем разработчиков думать о производительности.
Следующие две недели отводятся под первый проект на Defold. В качестве основы мы используем алгоритм игры Fruit Ninja. Основная задача — создать полноценный проект при помощи нового инструмента.
Последний месяц отводится под «дипломный» проект, в ходе которого мы уделяем большое внимание структуре проекта, ООП и расширяемости.
Бьёрн: Вы в настоящее время принимаете на работу?
Владимир: Да, мы нанимаем удаленно, так что не стесняйтесь, пишите нам.
Бьёрн: Спасибо! Как может сообщество познакомиться с текущими разработками OpenMyGame, например, вашими новыми играми?
Владимир: Большое вам спасибо за беседу. Следите за нами в Instagram @openmygame.
Автор: Бьёрн Ритцль, 15 марта 2021 года
Подписывайтесь на наши каналы:
Канал разработчиков Яндекс.Игр в Дзене
Сообщество разработчиков игр в Telegram
Форма обратной связи