Совсем недавно одним из трендов в IT было создание сайтов, затем появилась мода на разработку приложений, сейчас получают распространение боты. Но неизменным остается интерес к играм, меняются только популярные жанры и форматы. Акмаль Салихов, сооснователь и геймдизайнер игровой студии Koozmeech, поделился опытом разработки игр и основными тенденциями в этой области.
– Игры – это элемент детской мечты. До этого я пять лет занимался мобильными приложениями, попробовал себя во многих сферах: работал со звуком и видео, занимался менеджментом и продвижением. И этот рынок не такой дружелюбный, как кажется на первый взгляд. Но я всегда думал, что в играх все показатели гораздо лучше – сколько людей их скачивает, как долго они играют. Приложения, мне кажется, по своей сути скучные, у них нет цели вовлечь пользователя – человек вытащил программу, решил с помощью нее свою проблему и все. И вы можете потратить десятки тысяч долларов, два года времени, но если не угадали с проблемой, или решили ее невовремя, то велик риск оказаться в пролете. С играми в этом плане чуть проще. Здесь как с фильмами – на каждую найдется своя аудитория. Особенно, если ты заранее чувствуешь, чего не хватает рынку. Однако игры дороже приложений.
– Именно по этой причине многие предпочитают создавать приложения? Дело только в цене?
– Да. Главный довод всех, кто создает приложения, – игры дороже. Я согласен, что самое примитивное приложение, например, фонарик, сделать легче, чем самую примитивную игру. Но в целом наша команда доказала, что игры не так дороги, как кажутся. Мы создали игру, которая оказалась дешевле, чем приложение, создаваемое мной раньше и не являющееся примитивным.
Я разрабатывал детские развивающие книги. Вроде бы это еще и не игра, но и не приложение типа файл-менеджера. В книгах надо рисовать персонажей, делать озвучку, поэтому работы в таких контентных приложениях почти столько же, сколько и в обычных играх. И они не особо дешевле игры. Стоит отметить, что ребята порой умудряются делать очень простые игры, например, просто точка на белом фоне. И люди в это играют, находя в этом свой интерес.
– В какую сумму, хотя бы примерно, обходится создание игр и приложений?
– Российская студия оценила разработку игры «Кузьмич» в 20 000 долларов. Думаю, что простое приложение вроде файл-менеджера стоит раза в два дешевле, может, даже в три. Но как только начинает создаваться что-то вроде «Маскарада», то на разработку тратятся миллионы долларов. И вряд ли кто-то сделает нормальное приложение меньше, чем за 5000 долларов. А игру, если быть хитрее и напрячь смекалку на 200%, можно сделать дешевле. Например, в тетрисе мы складываем одни и те же фигуры, и нам нравится. В мобильных играх очень неплохо ведут себя игры с минимальным контентом и геймплеем, например, как у Ketchapp. В итоге всегда можно что-то сообразить с минимальным бюджетом, «прикрутить» рекламу и зарабатывать.
В случае с компьютерными и консольными играми это практически нереально, потому что очень трудно выделиться на фоне крутых игр ААА-класса (высококачественные игры с высоким бюджетом). Это связано с тем, что компьютерные игроки – зачастую реальные геймеры. Когда вы садитесь за компьютер, вы хотите получить крутой игровой опыт. Конечно, есть простые игры вроде Zuma, но большая часть компьютерных игроков ожидает хорошей графики, эффектов. А люди, которые играют с телефонов, хотят просто убить время, пока они едут в транспорте, ждут в очереди. Их цель –сделать что-то быстро. И в этом кроется проблема – средняя игровая сессия в мобильных играх составляет где-то две-три минуты, а в компьютерных играх – сорок минут, а то и час. А раз в игры играют дольше, от них хотят большего. Поэтому среди компьютерно-консольных игроков сейчас популярны «Ведьмак», Fallout и другие игры с огромным открытым миром. Когда вы создаете мобильную игру, в ней изначально задуманы короткие игровые сессии: не нужны сюжет, история, персонажи, ничего сложного.
– Сейчас много платформ для разработки мобильных игр. Какая из них самая удобная?
– Эталоном уже является Unity 3D, на которой созданы миллионы игр. Ее преимущество в том, что очень легко начать разрабатывать. Есть огромное сообщество, в котором на любой вопрос можно найти ответ: Stackoverflow, Unity 3D forum. И если даже в Google вы с первого раза не найдете нужного ответа, в первом же релевантном топике будут подсказки по вашему вопросу, так как почти все игровые механики, которые вы задумали сделать, уже когда-то создавались.
Второе преимущество Unity – это Asset Store, магазин моделей, плагинов и прочего. Вы можете найти там арт, иконки, готовое решение физики автомобиля. Многие вещи вам не придется создавать с нуля. Unity создала довольно открытый рынок, нет жесткой ценовой политики, для каждого имеется «свое место под солнцем». Конечно, Unity зарабатывает с продаж этих асетов, но это также прекрасное место, где вы как разработчик можете найти готовое решение, чтобы облегчить свою жизнь разработчика. В выигрыше остаются все. К примеру, год-два назад для создания онлайн-мультиплеер-игры вроде Lineage только полгода требовалось на написание веб-части. Сейчас можно скачать ассет Photon c Asset Store и платить за серверное место в месяц, если игроков стало больше. А если их мало, то даже и платить не надо.
Много хорошего слышал про Cocos2d-x. Насколько знаю, его основное преимущество – минимальное потребление ресурсов. На нем получаются более легкие игры. Если мы берем два одинаковых телефона, то игры на Cocos2d-x дают лучшую работоспособность. Такая игра запустится даже на самом старом телефоне. Может, это и не столь актуально, сейчас уже мало смартфонов, которые имеют меньше 1 Гб оперативной памяти, но если кому-то это важно, то Cocos2d-x в этом плане будет лучше. Однако он подходит только для 2D-игр.
– Какие дополнительные инструменты используются для работы с 3D помимо Unity?
– В Unity вы только собираете 3D уровень/мир и программируете. Создавать 3D-модели в нем нельзя. Конечно, есть пара ассетов, например, Mesh Tools, но сделать что-то серьезное в них не получится, необходимы уже другие программы. Для создания 3D есть отличный бесплатный инструмент Blender. Сейчас очень популярны Substance Designer, Painter – здесь делают текстуры. Вообще 3D – это отдельная долгая история. С 2D-проектов все-таки проще начинать, и телефонам легче. Но если у вас хороший опыт по 3D, почему бы нет.
– С чего стоит начать создание приложения программисту-новичку?
–Сначала необходимо выбрать язык программирования. У нас есть три мобильные платформы – Windows Phone, Android и iOS. Для iOS это Objective-C, сейчас еще появился Swift. У Android это Java, а у Windows Phone –C#. Многие знают C#, но в Windows Phone рынок небольшой. Это то, что касается приложений.
С играми проще – в Unity вы пишете на одном языке, а он публикует это на все платформы. Практически ничего не надо адаптировать. Cocos2d-x такой же. Но это актуально для игр, а если вы создаете файловый менеджер или музыкальный плеер, эти инструменты вам не подойдут. Для игр используются кросс-платформенные движки, а приложения пишутся нативно. Во-первых, они не должны быть тяжелыми, поскольку на телефоне одновременно запускается 20 – 30 программ. Во-вторых, приложения почти всегда работают с операционной системой: файлами, контактами, фото, документами. Возьмите тот же «Телеграмм», он постоянно берет данные из ваших контактов, документов. И все это требует именно нативной реализации. А игры – это отдельный мир, работающий автономно. Но стоит отметить, что сейчас появился такой инструмент, как Xamarin. Это что-то вроде Unity, только для приложений. Но многие говорят о его нестабильности, поэтому легче писать в нативной среде.
На начальном этапе важно изучить, какие игры вообще есть на этой платформе. И, исходя из этого, выбрать жанр своей разработки. Я, к примеру, всегда хотел сделать аркаду. Мы смотрели все игры в этом жанре, выбирали самые интересные и из этого делали что-то свое.
У разработчика должно быть общее представление о создаваемой им игре и о том, что будет мотивировать игроков «зависать» в ней. Ведь чем больше пользователь играет, тем выше шанс вашего заработка.
Советую для первого проекта не использовать помощь иллюстратора и других специалистов. Лучше делать что-нибудь простое – пятнашки, крестики-нолики, но своими руками. Потому что это все дополнительные расходы. И очень велик риск того, что человек не доведет разработку до конца. Я бы даже сказал, что шанс, что вы доведете свою первую игру до конца (выпустите ее на рынок) крайне мал, и чем сложнее проект, тем меньше шансов. Поэтому не усложняйте свою жизнь, цель первой игры – никогда не быть законченной. Цель второй игры – сделать ее и выложить на мобильный рынок. Лучше иметь одни «крестики-нолики» в Google Play, чем три незаконченные гонки, шутеры, стратегии на вашем ноутбуке. Это главная проблема новичков, переоценивающих свои силы: они часто наивно полагают, что сделают игру за пару недель, а это затягивается на пару месяцев, а то и более.