Новый сбор Unity называется Runtime Fee. Свое имя он получил в честь набора библиотек Unity Runtime. Компания считает, что раз библиотеки устанавливаются на устройства пользователей вместе с игрой, то разработчик должен за это платить. О том, что такое Unity Runtime, — мы и поговорили с Кириллом Шабординым, основателем Yerevan Cowboys Games, и Алексеем Печениным, основателем Infinite Art Solutions.

Что такое Unity Runtime?

Кирилл Шабордин

Это некоторое количество библиотек и исполняемых файлов, включающихся в любую игру, сделанную на движке Unity. Очень упрощенно говоря, любая игра на Unity — это фреймворк и плеер, которые производится компанией Unity Technologies, а также пользовательский код и ресурсы. Ничего нового в этом нет и со скидкой на технические подробности все другие игровые движки имеют похожую компоновку.

Алексей Печенин

Unity состоит из двух основных частей: Unity Editor и Unity Runtime. Если Unity Editor используется для разработки игр, то Unity Runtime обеспечивает их работу на устройствах. Он отвечает за отрисовку графики, физические расчеты, звук и другие функции. Когда вы экспортируете проект из Unity, Runtime помогает ему работать на разных платформах, включая Windows, macOS, Linux, Android, iOS, консоли и даже веб-браузеры через WebAssembly и WebGL.

Справедливо ли утверждение Unity, что каждая игра ставит Unity Runtime?

Кирилл Шабордин

Безусловно, это так. Если быть пуристом, то не «ставит», а «включает в себя», «содержит». Достаточно очевидно, что Unity Technologies интереснее себя считать поставщиком продукта конечному пользователю, поэтому они пытаются относиться к своему инструментарию как к отдельному b2c-продукту. Но с точки зрения этой логики любая программная библиотека является b2c-продуктом, но это же не так, по крайней мере, в современном мире.

Алексей Печенин

Unity Runtime автоматически ставится на любое устройство игрока при установке или запуске игры, разработанной на Unity. Без него игра попросту не запустится.

При использовании игрой Unity Runtime идет ли обращение к серверам Unity?

Кирилл Шабордин

Насколько я знаю, нет.

Для функционирования фреймворков Unity нет необходимости в обращениях к каким-либо внешним ресурсам.

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

Алексей Печенин

Все зависит от целей разработчиков. В стандартной конфигурации Unity Runtime не обращается к серверам Unity, когда игра запущена. Он работает локально на устройстве пользователя.

Но, если вы используете Unity Analytics или Unity Ads, то для выполнения их функций может потребоваться обращение к серверам Unity.

Когда обращение к серверам все-таки идет (как в случае с LiveOps-играми, например), то можно ли говорить, что для Unity эти обращения несут дополнительные затраты?

Кирилл Шабордин

Структура затрат Unity Technologies, хотя это и публичная компания, — достаточно сложная штука. Я за пару дней толком не понял, куда они дели, к примеру, $2 млрд 2022 год.

Говоря о LiveOps, то эти сервисы Unity — платные, они имеют свои тарифы, которые вполне себе на уровне конкурентов. То есть, это не бесплатное приложение к движку.

Алексей Печенин

Если в игре на Unity используются сервисы, которые требуют обращения к серверам, например, Unity Analytics, Unity Ads или Unity Networking, то, конечно, будет идти сетевое взаимодействие. Но не всем играм они нужны. Только те игры, которые работают с этими сервисами, будут взаимодействовать с серверами Unity.

Что касается LiveOps-игр, которые постоянно обновляются после релиза, то они будут обращаться к серверам, но это будут не обязательно сервера Unity. Это зависит от того, как разработчики настроят игру.

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

Есть ли в политике Unity какие-либо требования, обязывающие при установке подтягивать данные с серверов Unity при загрузке игры? Если да, то можно ли говорить, что Unity сама обязала каждую игру, сделанную на своем движке, использовать для различных необязательных формальностей свои сервера, а затем захотела собирать с этого налог?

Кирилл Шабордин

Нет. По описанным выше причинам: вы никак не обязаны использовать сервисы Unity, вас никто к этому не принуждает. У всех этих сервисов есть свои тарифы и они спокойно существовали и до текущего кризиса.

Алексей Печенин

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

Как много стороне инструментов и сервисов имеют свой Runtime, работающий по аналогичному принципу? И на чьей стороне обычно в этом случае затраты?

Кирилл Шабордин

Любой движок скомпонован примерно так же, это никак не изобретение Unity Technologies. То, что они назвали стандартный рантайм — фреймворк штукой, которая «поставляется» пользователю — чисто политический ход для более простого объяснения решений по монетизации: «Раз мы ставим рантайм на каждой загрузке, то и с каждой загрузки хотим получить».

Собственно, любой производитель любой программной библиотеки может сейчас рассуждать так же: «Раз вы используете мою библиотеку, то я ее поставляю не вам как разработчику, а конечному пользователю. Это значит, что я имею право на долю с установки».

Вот — опасный путь, способный изменить ландшафт разработки в целом, а вовсе не смерть и без того умирающих гиперказуальных заводов или необходимость заплатить 20 центов с премиум-игры, с которой Steam уже получил 30% выручки.

Алексей Печенин

Другие современные движки, например, Unreal Engine, CryEngine или Godot также имеют свою среду Runtime. Она отвечает за то, чтобы скомпилированный код работал на различных платформах.

Godot, например, движок с открытым исходным кодом. Разработчики платят только за сервера, если они нужны. Я думаю, что это здравое решение. Если бы Unity предложили разработчиком платить за, условный, Unity Analytics, то это было бы понятным решением. Пользуешься сервисами, зарабатываешь благодаря им, – платишь разработчикам. Это понятная концепция.

Мы, в Infinite Art Solutions были бы рады платить Unity за их сервисы, если бы они решали наши задачи. Какая компания откажется от того, чтобы пользоваться встроенными сервисами, которые не перегружают проекты?

Это то же самое, если бы Microsoft обязывала бы платить всех пользователей за наличие на их PC предустановленного браузера Edge, хотя ты им и не пользуешься.


Подписывайтесь на App2Top.ru в Telegram и во «ВКонтакте»

Есть новость? Поделитесь с нами, напишите на [email protected]

Теги:

Комментарии

Оставлять комментарии могут только зарегистрированные пользователи.