Pull to refresh

«Легкий» и «тяжелый» игрострой: опыт Дмитрия Дегтярева, COO Inventain

Reading time 4 min
Views 2.6K
Сфера гейм-дизайна на сегодняшний день является одной из самых быстроразвивающихся в мире. Среднегодовые темпы роста игровой индустрии составляют 4,8%, и ожидается, что к 2020 году стоимость рынка достигнет 90 млрд долларов.

В значительной степени этот рынок «подпитывают» мобильные проекты. Количество пользователей мобильных устройств увеличивается — по данным statista.com, в 2017 году их число достигнет 2,32 млрд — поэтому растет и стоимость рынка мобильных игр.

Не так давно я заинтересовался этой темой, но пока до полноценного подкаста по игрострою мне далеко. Начать знакомство с этой индустрией я решил на примере одного из реально действующих и успешных проектов — своими подходами для работы с технологиями со мной поделился Дмитрий Дегтярев, COO компании Inventain.

Disclaimer: с учетом того, что мы говорим о примере отдельной компании, я решил поместить этот материал в хаб «Я пиарюсь».

/ фото офиса компании

Inventain — маленькая и мобильная компания с узким и профессиональным кругом специалистов. Это позволяет не отвлекаться на рутину и полностью концентрироваться на создании продуктов.

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

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

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

Разработка и инфраструктура


В компании Inventain разработка приложений ведется с применением языка программирования Swift и движка Unity. Unity 3D используется для создания игровых проектов и был выбран благодаря своей простоте, функциональности и доступности. Также на момент выбора, его цена была более лояльная, нежели у Unreal Engine. Игровой движок Unity гораздо популярнее среди разработчиков, чем любое другое программное обеспечение. Например, 34% из топ-1000 бесплатных мобильных игр разработаны на Unity.

Что касается Swift, то он был выбран для «неигровых» проектов. Популярность Swift, как и Unity 3D, также постоянно растет — в 2017 году он впервые вошел в десятку самых используемых языков программирования, согласно индексу Tiobe. В данном случае Swift пришел на смену Objective C из-за его функциональных преимуществ (короткий синтаксис и производительность).

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

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

— Дмитрий Дегтярев, COO Inventain

Для Unity есть собственная площадка Asset Store, на которой собраны тысячи готовых решений и ресурсов. Для Swift можно использовать открытые решения, которые есть на площадках вроде Github. При этом, внедрение не стоит производить в формате «один в один» — любые общедоступные решения не могут учитывать все особенности вашего продукта, их нужно дорабатывать для конкретного приложения.

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

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

Если говорить о тестировании, то в масштабах такой компании как Inventain (и аналогичных проектах) нет смысла создавать целое подразделение. Здесь достаточно одного специалиста по QA, который будет задавать вектор. Реализацию этой задачи стоит отдать разработчикам, которые постараются добиться сбалансированного покрытия кода тестами. Приоритет — уход от временных затрат на рутинные действия тестировщика и устранение его потенциальных «промахов» за счет автоматизации. Таким образом, огромное количество сценариев и возможные ошибки в «далеких углах» приложения будут всегда под контролем.

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

«Тяжелой» должна быть только специфика


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

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

Подобная «кастомизация» невозможна исключительно благодаря поиску открытых проектов и «быстрых» решений, но именно она является «ядром» продукта и оправдывает значительные временные инвестиции.
Only registered users can participate in poll. Log in, please.
На что следует «делать ставку», чтобы создать достойный игровой продукт?
76.47% Геймификация / продуманный сюжет и история 26
23.53% Уникальные технологические решения / их новое применение 8
11.76% Скорость разработки за счет использования открытых решений 4
14.71% Весь секрет в работе с ожиданиями и инвестиациях в PR-составляющую 5
35.29% Каждая мелочь должна быть уникальной — не стоит экономить время 12
34 users voted. 11 users abstained.
Tags:
Hubs:
+6
Comments 4
Comments Comments 4

Articles