воскресенье, 28 февраля 2010 г.

И вместо кода - пламенный мотор, или как мы выбирали 3D движок

 Сегодня мы немного (в стиле путевых заметок) поговорим про наш опыт с инструментами для создания современных компьютерных игр, и как мы пришли к осознанному выбору.

Ну во первых, нужно сказать вообще несколько слов о том, что позволяют современные пакеты.  В них создаются трехмерные игры, презентации и подобные вещи. Созданные творения могут работать на разных платформах: Windows PC, iPhone и Mac. Кроме того, если речь об игре, то там можно сделать мультиплеер.


Опыт - сын ошибок трудных... Игроподобные "продукты со смыслом" мы хотели делать давно, но реальные подвижки в этой области начались года полтора назад, с того, как решили сделать одну казуальную игрушку про похождения некоего безымянного героя, саму по себе не смешную и не серьезную. Делать мы ее хотели для того, чтобы попробовать свои силы и ради возможной прибыли.

Сначала мы хотели сделать point-n-click 2D. Для чего поставили себе Torque 2D. И вроде бы все ничего, но постепенно начали "опускаться руки" в том плане, что 3D позволяет гораздо больше.

Torque 3D нас не впечатлила, уж не помню почему (хотя вроде движок сам по себе неплохой за те деньги, что они просили), и поиски движка продолжились. На бесплатные движки мы не смотрели по причине того, что у них у всех проблемы с консистентностью - то звуковую либу прикручивать нужно, то еще что-то, ну а production pipeline у них у всех не очень. Грубо говоря, представьте, что лепите и анимируете вы в одном пакете, раскрашиваете в другом, а потом импортируете в третий и все это должно сразу появляться и еще и работать как нужно :) Так вот с современным состоянием опенсорца такой гладкости без напильника достичь просто невозможно.

Ну вот, а затем наткнулись на Shiva, пакет для создания игр производства французской компании Stonetrip (смешно, но запомнил: их сайт был сделан на Джумле). Почему они  решили так назвать пакет - вопрос к авторам.

Поскольку это был наш первый опыт с подобными 3d пакетами, мы сначала  было обрадовались предоставляемым возможостям, но ...Потом начали вылезать очевидные недостатки. (на момент использования, у нас была версия 1.7).

Во-первых, из любого пакета "торчат уши" философии его создателей. Не была исключением и Shiva. Сложилось впечатление, что многие вещи нужно делать самому: готовых скриптов было мало (например, first person walker там был не очень хороший, "камерных" скриптов, кажется, тоже не было). Сам скриптовый язык, который использовался там, был своебразным и скорее напоминал Basic. В документации было не очень много примеров (я про код). Импорт форматов там был, но откровенно недоделанный в плане поддержки industry standards. Работа со светом там была сделана плохо. Интерфейс пакета был тоже своеобразен. То, что оставило приятное впечатление - это что поддержка и сообщество в виде форума были на уровне. И еще - немаловажная фишка - там был GUI editor.

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

Самое интересное, что Shiv'у мы таки-купили и так она у нас до сих пор и лежит где-то, лицензированная, в бездонных глубинах жестких дисков :)

Недавно ради любопытства посмотрел, что у них нового. Сейчас уже версия 1.8, и судя по всему они себя позиционируют больше как инструмент для бизнес-ориентированных разработок. Но это поверхностное впечатление. Подробнее не вникал.

После этого разработка была отложена на некоторое время, а потом нашли Unity 3D. Называется "почувствуйте разницу": разработка не тормозилась, а наоборот , было такое ощущение, что ребята из этой команды сами прекрасно понимают, где нужно экономить время разработчиков. То, что на поверхности: "врожденное" понимание форматов "взрослых" пакетов типа Maya и Photoshop, удобный интерфейс программы, возможность использования C#, javascript (точнее, ECMA262) или Boo на выбор разработчика (и даже их смесь), наличие хорошего форума и многие другие достоинства привели к тому, что на текущий день мы используем именно ее.

В последнее время появилась тенденция делать 3D-движки бесплатными. Не стала исключением и полулегендарная UDK от Epic Games, на которой была сделаны игры серии Unreal. Посмотреть его пока не получилось. Складывается впечатление, что он все-таки для средних и больших студий, которые делают игры если уж не уровня AAA, то по меньшей мере к этому стремятся. Длительность обучения грозит быть слишком большой, да и лицензионные условия отталкивают....

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

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