Интервью с Unity. Эксклюзивно для App2Top
На днях у нас состоялась интересная беседа с Олегом Придюком (Oleg Pridiuk), техническим евангелистом из Unity Technologies. Говорили о преимуществах движка Unity и мифах о нем, о компании в целом и ее стратегических планах, а также о том, почему именно Петербург можно назвать сердцем российского геймдева.
В каком году и где была основана компания?
Все случилось в Копенгагене. Конкретные цифры: где, как, и по годам, и по именам, и по основным майлстонам можно посмотреть на официальном сайте.
Наверное, самое интересное в том, что ребята начали все с игры. Они делали игру, и им пришлось писать свой движок. Тогда было модно писать свои движки, все тогда это делали. И ребята осознали, что это им нравится больше, чем создание самой игры. И решили сфокусироваться на самой технологии.
Сколько сейчас разработчиков используют Unity?
Это смотря как считать. Скачавших — более миллиона. Постоянных пользователей — более 300 тысяч.
Сколько всего игр сделано на Unity?
Мы не шпионим за пользователями :) Поэтому не могу сказать.
А если предположить?
Уверен, что много. Это реально тысячи игр. Даже если исходить из того, что у нас очень много пользователей бесплатных версий, где нулевой порог вхождения. Скачал, что-то сделал, и выложил на сайте.
Чем отличается бесплатная версия от платной? Почему нельзя постоянно пользоваться бесплатной версией?
Можно.
А зачем тогда платную версию покупать? Что она дает разработчику?
Платная версия не дает, а забирает у разработчика 3 тысячи долларов (смеется).
То есть, что за это получает разработчик?
Открывается доступ к разным фичам. В первую очередь, это отключение сплэш-скрина — пусть банально, но для многих необходимо. Второе — это различные девелоперские тонкости, которые наглядно проиллюстрированы здесь (http://unity3d.com/unity/licenses.html). Основная идея различия платной и бесплатной версий заключается в том, что базовой лицензией пользоваться вполне возможно, но ровным счетом до тех пор, пока, допустим, не понадобится подключать плагины.
То есть получается, что сделать что-то простенькое начинающим разработчикам можно и на бесплатной версии, а если хочешь заниматься разработкой всерьез и надолго, то нужна платная?
По сути, самое серьезное ограничение бесплатной версии состоит в том, что нельзя использовать плагины. Если их не подключать, то все, в принципе, работает. Единственное, да, нет красивых теней и других именно high-end фичей. Но все работает. Наверное, зависит от того, что конкретно называть простенькой игрой.
iFart, например?
Ну, допустим, iFart можно сделать и с бесплатной версией, и с платной. Я видел реально крутые игры, которые сделаны на бесплатной версии Unity. В этом плане, она интересна, в первую очередь, для инди-команд. Объясню, почему. Когда ты только приступаешь к разработке игры, ты еще не знаешь, получится у тебя что-то или нет. И чтобы получить деньги, тебе нужен рабочий прототип игры. Садишься командой, зачастую собранной из друзей, и клепаешь этот проект по субботам или вечерам вторников. Кстати, в бесплатной версии поддерживается version control, то есть можно делать один проект впятером, вшестером, вдесятером. И когда этот прототип обретает какой-то вид, в котором его можно показать инвестору, богатому соседу и еще кому-то, собрав деньги, можно выпустить его на Android, iPhone или на flash.
То есть молодым разработчикам, которые только начинают, ты бы порекомендовал Unity? Они без проблем смогут разобраться?
Да, практика показывает, что именно с Unity им разобраться проще всего. Им не нужно изучать особенности железа, платформ, не нужно задумываться о том, что в какой Android-версии поддерживается, а что не поддерживается, и какое разрешение экрана в том или ином телефоне. Основную часть сложной работы мы уже сделали за разработчиков. Таким образом, со стороны Unity решается очень много проблем.
В чем преимущество Unity перед другими движками для разработки мобильных игр? Давай попробуем сравнить Unity с Cocos 2D и Marmalade.
Первое — наш движок не заточен под один определенный кейс, он достаточно универсален. Второе – ты видишь то, что ты разрабатываешь. Эта фишка значит очень многое. Игра сразу видна в окошке, есть редактор, за счет чего можно работать намного быстрее. Не нужно представлять, как это все будет выглядеть, не нужен девайс.
То есть, получается, очень хорошая наглядность, сразу видно, что ты делаешь?
Как сказать, в Visual Studio тоже сразу видно, что ты делаешь. Вопрос в том, что в Unity виден сразу именно конечный результат. То есть не то, что ты делаешь, а именно финальный вариант. И это очень важно, потому что игра состоит из многих элементов. И одно дело видеть, как выглядит конкретно твой маленький кусочек, а другое дело, видеть, как вся игра выглядит целиком, включая твой маленький кусочек. Это важно.
Еще что-то назовешь навскидку?
По сути, все остальное – это тоже есть наше преимущество. Хорошая команда, связи. Нет, я шучу, конечно, но в идеале преимущество зависит, во-первых, от типа игры, которую ты делаешь, а во-вторых, от платформы.
А вот если пофантазировать: для какой игры и на какой платформе Unity будет идеален?
Для этого надо продолжать задавать себе вопросы. Я не пытаюсь уйти от ответа, просто мы стараемся быть универсальными. Это и преимущество, и проблема. Преимущество в том, что один раз заплатив, условно, 3 тысячи долларов за pro-версию, ты можешь делать игры любого типа: и casual, и social, и MMO, и что угодно, и 2D, и 3D. Потом можно перенести это и на мобильные платформы, и на flash, на консоль и так далее.
Тот код, который написан внутри Unity, — тот, который ты не подключаешь через плагины, а тот, который ты пишешь сам и можешь сам скомпилировать, Unity может перевести на язык, понятный другой платформе. То есть, скажем, такой кейс: игру для iOS, написанную на Unity, можно моментально перенести на Android, потому что оно переконвертируется в формат, понятный Android’у. И это все. Чтобы игра запустилась, ничего больше делать не нужно. Конечно, тут есть оговорки: типа «запускается» и «работает хорошо» – это разные вещи. Но факт в том, что игра для iOS, сделанная на Unity, легко запустится на Android и будет работать.
Есть мнение о том, что Unity — слишком тяжелый движок для двухмерных игр. Это так или нет?
Скажу честно, проблема Юнити лишь в том, что в стандартной поставке в нем нет 2D фреймворка. То есть он не помогает в разработке 2D-игр. Он как не помогает, так и не мешает. Это значит, что для 2D-шника голый Unity – это просто рендерер, а спрайты и прочие необходимые движки для 2D нужно писать самому, ну или искать чужие бесплатные, или покупать.
По поводу тяжести. Голый Unity-плеер, он же runtime, занимает, в зависимости от настроек, в среднем, 5-7 Мб памяти. Это тяжело или нет? Я думаю, что базовую 2D-игру, если писать ее, к примеру, на Android API, можно уместить в 2 Мб. А у нас только runtime 7 Мб. Конечно, если рассматривать более сложные игры, тогда эта цифра будет больше, чем 2 Мб. Но главное не в этом. Основная ценность Unity в том, что он экономит время. То есть, если игра делается не с той целью, чтобы стать самой маленькой или 2D-шной, а есть желание быстро получить продукт, который может возглавить топы и стать успешным, а значит появляется необходимость портирования его на другие платформы — тогда стоит пользоваться Unity. А если кому интересно играться, писать свой рендерер, мучиться с багами платформ, когда на одном iPhone игра работает, а на другом нет, один Android глючит, крэшится, — то, пожалуйста. А в Unity мы пытаемся все решить со своей стороны.
И, да, мы напрямую работаем с производителями платформ. При этом, если мы говорим, что у нас есть партнерство с Apple, это означает, что связываются между собой именно разработчики. В чем преимущество? Логично, что таким образом осуществляется более быстрая коммуникация. Но главное в том, что нужные люди слышат нужные вопросы и получают нужные ответы. Проблема с производителем будущего крутого девайса решается моментально. А значит, у нас есть вход в нужные двери, чтобы решить нужные вопросы крайне быстро.
Недавно проходила информация о том, что Unity будет поддерживать Wii U.
Более того, Unity является основной средой разработки игр для Wii U. И этот инструмент будет распространяться через канал Nintendo.
А насколько в принципе сложно или просто будет разработчикам портировать свои мобильные игры, сделанные на Unity, на Wii U?
Редактор Unity, который сможет портировать на Wii U, будет в отдельной версии. То есть, допустим, в Unity Pro у разработчика есть купленный iOS, он покупает еще Android. После чего сразу становится активной кнопка Deploy to Android. В версии для Wii U будет только одна кнопка Deploy to Wii U. Это значит, что для нее будет отдельный редактор, распространяемый, как я уже говорил, каналом Nintendo. Он будет открывать проекты Unity. То есть, в нем можно будет открыть свой проект для iPhone или Android и сконвертировать его под Wii U. И наоборот.
А другие консоли вы будете поддерживать? Вот Ouya вы уже поддерживаете, а что-нибудь еще?
Да, Ouya мы поддерживаем. Сейчас ребята работают с Union — это наше издательское подразделение. Когда уже появится железо, можно будет говорить о его программной поддержке. Пока же, как всем известно, у ребят есть хорошие идеи и много денег на их реализацию. Что касается поддержки. Это слово многозначительно. Можно поддерживать морально, а можно физически.
В общем, все хорошо. А недостатки есть у Unity?
Есть. У всего есть недостатки. Unity не создана богами.
Ну вот, открылась тайна создания Unity!
(смеемся)
Unity сделала пара умных ребят, через некоторое время к ним добавилась еще пара. И сейчас всего нас 203 человека. Это если учитывать всех наших девелоперов, менеджеров по продажам, маркетологов. По всему миру, во всех офисах: и в Сеуле, и Шанхае, и Токио, и Сиэтле, и Сан-Франциско, в Стокгольме и Копенгагене — всего нас 203.
Но мы говорили о недостатках.
Если ты вдруг не вспомнишь, я тебе могу из Википедии подсказать.
Кстати, давай зачитаем, я с удовольствием прокомментирую.
В русской Википедии есть такой столбик: достоинства / недостатки. Недостатка два, один из которых очень смешной. Написано, что Unity не поддерживает Symbian 3 и Windows Mobile. Похоже, что это самый страшный недостаток, который только может быть.
Да. Но проблема в том, что мы поддерживаем.
Поддерживаете? Вот видишь, а Википедия не знает.
Может быть Википедия не читала наши анонсы? Фишка в том, что были инициативы со стороны Nokia (это было много лет назад, когда Nokia была большая, а Apple был совсем маленькой) по поддержке игровых проектов, и в том числе Unity на Symbian. У нас были прототипы, которые работали и на которые можно было портировать. Но проблема заключалась в том, что внутри Nokia многие элементарно не могли договориться между собой. Они, своего рода, строили вавилонскую башню и у них постоянно что-то не получалось. Поэтому и мы, в свою очередь, не проявляли большого интереса со своей стороны, потому что приблизительно представляли, что там творится.
Но одну из инициатив Nokia все-таки довела до конца. Через Union можно запаблишить на их Meego.
А Windows 8 вы поддерживаете?
И Windows 8, и Windows Phone 8.
А кто у вас занимается Россией?
Россией? Вопрос достаточно философский. Что значит заниматься Россией? То есть покорять? Смотря чем покорять: продажами, саппортом, маркетингом, чем? В России сидят девелоперы, юзеры, они тоже хотят делать игры, и в этом плане они ничем не отличаются ни от китайцев, ни от американцев, ни от кого бы то ни было.
Может быть, действительно, есть какие-то особенности у пользователей?
Даже не знаю. Допустим, если посмотреть на график, то Москва седьмая по количеству пользователей Unity. В Москве у нас всего около одного процента всех пользователей — в мировом масштабе это прилично.
А Питер? В Питере не пользуются Unity?
А в Питере находятся инди-разработчики. Вот я недавно одному крупному инвестору рассказывал о том, что в Петербурге в этом плане все очень круто. Да, в Москве есть большие конторы, много денег, скучное производство, условия труда такие, что мне, как человеку европейскому, они кажутся, мягко говоря, странными. А в Петербурге люди делают действительно интересные проекты, делают что-то крутое, то, что принято называть словом «инновации». Так вот, инновации рождаются именно в Петербурге. Как минимум в плане гейм-девелопмента. Что лично мне очень близко.
Помогаете ли вы как-то разработчикам? Могут ли они рассчитывать на помощь с вашей стороны?
Да.
То есть, если разработчик решает пользоваться Unity, то он пишет вам, а вы помогаете ему, отвечаете на его вопросы?
И да, и нет. Смотря о чем идет речь. Если надеяться, что после покупки Unity кто-то будет делать игру за вас, то это совсем не так. А вот если вы считаете, что что-то не работает в самом движке, то конечно, мы решим проблему. Кроме того, у нас есть огромный популярный форум с сотней тысяч пользователей, где разработчики общаются и помогают друг другу.
Своего рода сообщество?
Да, так называемая экосистема вокруг Unity, которая достаточно сильно развита, что важно как для инди, так и больших команд.
Вот, к примеру, одна из самых интересных фич: Asset Store — это наш магазин, где можно купить различные элементы для игры. Вот представим, что в команде есть художник, который получает условно 2-3 тысячи долларов в месяц, то есть один его рабочий день, приблизительно стоит порядка 300 долларов. Он будет рисовать, например, какую-то модель автомобиля, ну пусть, полдня, итого это обойдется в 150 долларов. А так, в Asset Store можно купить автомобиль, дерево, шкаф и много чего другого за 5-10 долларов. Сколько денег можно сэкономить? Да, то же самое дерево, тот же автомобиль может появиться в другой игре, в том числе и у конкурентов. Но в игре сотни тысяч ассетов, и если совпадет одно дерево или любой другой элемент, то на общем фоне это останется без внимания.
Что касается скриптов. Их покупка может не решить полностью твою проблему, но если с их помощью ты решишь ее на 30%, то разработчики на основе готового скрипта смогут намного быстрее написать решение, которое на все 100 подойдет под текущие задачи. То есть проще писать не с нуля под какую-то сложную систему, а заплатить 50 долларов и дописать, условно, половину. Даже если все 70%, все равно это будет значительно быстрее. В итоге минимальными суммами можно ускорить процесс разработки и одновременно сэкономить.
А какую-то маркетинговую поддержку проектам на Unity вы оказываете?
У нас есть галерея, где мы выкладываем игры, рассылка, где мы хвастаемся проектами, которые нам понравились. И если попросить нас пропиарить хороший проект, то мы пропиарим его бесплатно. Для этого есть Facebook, Twitter и, самое интересное, есть Union. Это ребята, у которых есть каталог игр, с ними подписываются договоры, после чего они добавляют вашу игру в свой каталог и продают проект, к примеру, производителям телевизоров, новых платформ, в том числе и Ouya, о которой мы уже говорили сегодня, Blackberry, Nokia, в какие-то китайские магазины приложений, где порог вхождения очень высокий.
Но паблишинг или пиар какой-либо игры – это не наша основная задача. Да, мы много общаемся с тем же Google, который часто спрашивает, какую игру пофичерить. Конечно, мы делимся своими личными соображениями, которые не является маркетинговым инструментом. Вот почему к нам обращается с этим вопросом Google. Мы честно отвечаем, какие игры нравятся нам: вот эта игра скоро выйдет, в это играли, за это зачет, вот контакт этих ребят. А заказать у нас такую рекомендацию нельзя.
Но реально имеет смысл писать нам и рассказывать о себе. Это может оказаться письмом в никуда, потому что мы, действительно, получаем очень много писем, а может выстрелить.
Как планируете развиваться? Может, у вас есть какие-то грандиозные планы по захвату Вселенной?
Да, мы думаем захватить Вселенную, почему бы и нет :)
Но конкретного плана еще нет?
На самом деле, есть ключевые моменты, где мы откровенно чувствуем себя слабо, и сейчас мы решаем эти вопросы. Один из них – это 2D и GUI. А то, как конкретно мы решаем эти вопросы, мы уже рассказывали. Это уже на стадии почти готового прототипа.
А вообще, одна из основных фич, за которую любят Unity – это мультиплатформенность. Добавлять ли новые платформы – конечно, только если они хорошие. Если появится стандарт Web GL и он выстрелит, почему бы не создать Unity Web GL. И вдруг все предыдущие игры, которые были сделаны на Unity, можно сразу без проблем портировать в Web GL. Ну или допустим, новая Ouya выстрелит — а Unity уже сделала порт. Если проще, то мы хотим помочь разработчикам зарабатывать деньги без каких-либо огромных усилий с их стороны. Если появляется новая перспективная платформа, необязательно делать под нее новую игру, можно легко портировать уже имеющуюся с помощью Unity.
Так мы стараемся быть ближе к разработчикам – слушать их, учитывать их мнения. Даже если это стоит нам денег. Огромное количество людей нам доверяют, и вся эта неиспорченная карма гораздо важнее чего бы то ни было.