воскресенье, 23 июня 2013 г.

Почему Unity?

Меня попросили написать короткую статью о том, зачем нужен unity3d и почему я пользуюсь именно им. Решил поделиться своими мыслями здесь, в блоге и постраться не создать очередной холливарной статьи :)

Рынок мобильных приложений, в частности, мобильного гейм-дева, такой, как сейчас, появился совсем недавно - в 2008-2009 году, почти сразу после появления революционного по тем меркам гаджета под названием iphone. А поскольку игры на мобильных начали пользоваться бешенным спросом, то программисты начали делать все, чтобы этот спрос удовлетворить. Совсем скоро начали появляться движки для создания мобильных игр, такие как shiva3d, cocos2d, airplay sdk(сейчас marmalade), corona sdk, unreal engine для мобилок(ограниченный udk), unity3d и так далее. У меня был совсем маленький опыт разработки под marmalade, немножко поигрался с udk, но больше всего мне понравился unity3d.

Чем же привлекателен лично для меня unity3d:


  • огромные возможности. Действительно, у unity, как у любого высокоуровнего движка, огромный потенциал: графический, физический движок, звуковая система, использование нативных плагинов, импорт моделей, текстур в два клика - и все это работает из-под коробки. Те, кто перешли на темную сторону силы юньку с низкоуровневых движков, отмечают, что много функционала уже написано за них и надо написать только логику;
  • сама экосистема unity3d. У юнити огромное общество, сидящее на форумах и
    стэковерфловах, помогающее тебе при проблемах. Также хитрые юнитеки сделали очень важную фичу - запилили удобные инструмены для создания собственных плагинов. Более того, они сделали Asset Store - это магазин плагинов, созданные пользователями. Хочешь добавить оплату - ищи in-app purchases в ассет сторе, нужно быстро сделать поддержку жестов, 2d, плейлистов музыки - обязательно найдется нужный плагин. Теперь создание игры представляет собой некий конструктор, где ты собираешь из мелких деталей одну большую игру. Использование плагинов в подавляющем большинстве оправдывает себя, несмотря на то, что ты можешь реализовать все это сам: плагин за 20 баксов вполне заменит день твоей разработки. "К сожалению, слишком много компаний отказываются потратить 500 долларов на инструмент, способный устранить противную ошибку за несколько минут, но с легкостью тратят тысячи долларов, платя разработчикам за барахтанье в коде в течение нескольких недель в попытках решить ту же проблему." (с)Джон Роббинс, отладка приложений для Microsoft.Net. Советую прочитать, годная книжка

  • ну и конечно же удобство разработки. Тут можно провести аналогию между wysiwyg
    редакторами и чистым текстом.  Первые хороши тем, что ты видишь результат непосредственно в процессе редактирования и ты получаешь фидбек почти мгновенно и на основе этого можешь получать потрясающие результаты(более красиво эту мысль раскрыл Брет Виктор - inventing on principle). Вторые рулят там, где нужна экстрафункциональность (естественно, при должном уровне знаний). Те, кто пользовались tex-ом, понимают о чем я говорю. unity примечателен тем, что в нем есть редактор, позволяющий человеку, совершенно незнакомому с программированием, визуально создавать невообразимые фичи, в  то же время ты можешь переключиться на уровень "хард-кодинг" и сделать свой собственный лунапарк(c). И конечно, все кроссплатформенно.

В разработке больше всего важен результат, нежели процесс. Конечно, unity имеет свою область применимости и всегда можно сделать производительнее или красивее. Но функцию  сделать качественно и с минимальными временными затратами unity выполняет безукоризненно.


Комментариев нет:

Отправить комментарий