В начале 2011 года начали несколько по-другому расставляться приоритеты. Во-первых, модифицировалось много конструкторов, к которым раньше нельзя было относиться серьезно. Во-вторых, большое внимание сейчас уделяется кроссплатформенности. Иногда можно встретиться с тем мнением, что на рынке конструкторов существует явное коммерческое разделение, а именно, большая часть бесплатных позволяет создавать игры только для платформы PC (Windows). Если же вы захотите перейти на более интересные в коммерческом плане и менее загруженные сегменты, такие как iOS и Android, то в большинстве случаев нужно заплатить. Это не совсем верно. В данном случае есть множество исключений. Например, для владеющих языком программирования Java есть бесплатный конструктор jMonkey, конкретно для Android имеет смысл воспользоваться Android SDK (выпускается для Windows, MasOS и Linux), для работы с которым необходимо иметь и Java Development Kit (JDK). Есть и неплохие эмуляторы Andoid для ПК, которые можно найти в Интернете. То есть некоторые выходы есть, но при этом не стоит забывать, что конструкторы и современные высокоуровневые движки -это уже готовые наборы для автоматизации и ускорения процесса разработки. И, конечно, главной новостью конца февраля стало обнародование бета-версии набора низкоуровневых API от Adobe - Molehill, благодаря чему мы уже можем говорить о чем-то более-менее серьезном в области интеграции ЗО-технологий во Flash.
Instead развивается
Существует конструктор Instead (http://instead.syscall.ru) от российских разработчиков, с помощью которого можно делать игры в стиле визуальных новелл, соответствующих кве-стов, и, как оказалось, не только. В настоящий момент он претерпел довольно большое количество изменений и исправлений, превратившись в более серьезный продукт. Instead позволяет создавать игры для множества платформ, включая Windows, Windows Mobile, Android и Mac OS X. Переносимость осуществляется за счет того, что сам конструктор разработан с использованием известной кроссплатформенной библиотеки Simple DirectMedia Layer (SDL), которая поддерживает большое количество операционных систем. То есть в недавней версии Instead 1.3.3 добавлена Android, в дальнейшем список платформ может только расширяться по усмотрению разработчиков. Начиная с 1.2.0 реализован автоматический модуль установки программ из сети Instead Launcher.
Работа со стороны пользователя производится на уровне несложного программирования на языке сценариев Lua, также используются 20-графика и музыка. Сам же конструктор одновременно является основной платформой исполнения.
Нужно отметить, что среди последних новинок в области готовых продуктов INSTEAD сейчас есть игры-квесты, перенесенные с ZX-Spectrum. А ведь во многом там все и зарождалось.
Единственный вопрос, которым я задался при первом ознакомлении с самой идеей, возможностями конструктора и примерами работ: чем он отличается от варианта создания подобных игр на статических или динамических HTML-страницах? Ведь мы знаем, что устройства в каждой из вышеперечисленных платформ имеют браузеры и т.п., а описания и скриншоты на сайте разработчиков Instead пока либо минималистичны, либо излишне запутаны. Это как раз тот случай, когда нужно скачивать и действовать.
Пасьянс, сделанный в Instead
На самом деле различия есть, то есть конструктор Instead является более игровым. В нем присутствует внятная структура представления, включающая сцены, объекты, таймер, реализацию диалогов, отслеживание событий мыши и клавиатуры. Lua в данном случае как раз кстати. Причем самими визуальными новеллами дело не ограничивается. Например, мне понравилась идея пасьянса, созданного в этом конструкторе. И, действительно, в нем можно
создавать любые карточные игры. А в целом непрофильное использование конструктора говорит о том, что он растет по возможностям. В принципе с одной стороны, хочется верить, что это только начало, с другой - для новичков Instead будет немного непонятен, поэтому настоятельная рекомендация для них - рассмотреть примеры. Также, если вы хотите качественно научиться работать с Lua в рамках реальных игровых проектов, данный конструктор будет одним из лучших помощников в этом деле.
Мощный 3D Had
3D Rad (www.3drad.com). Данный конструктор стоит выделить среди остальных в силу того, что он постоянно модифицируется, и среди бесплатных вариантов является одним из самых качественных по результатам. Впрочем, понятие «бесплатный» здесь довольно условно, поскольку пользователям предлагается дотировать проект пожертвованиями, и для тех, кто это сделал, все обновления становятся доступными в первую очередь. Например, на сайте доступна для скачивания версия 6.5, а для жертвователей уже разосланы анонсы 7.15, причем даже в 7-й версии было очень много ключевых обновлений.
3D Rad является довольно удобным средством для быстрого создания трехмерных игр, в основном гоночных симуляторов, хотя можно и изменить эту ситуацию на свое усмотрение. Интерфейс конструктора многие считают неудобным, хотя, в принципе, привыкнуть можно ко всему, особенно бесплатному или дешевому. Сложного программирования как такового фактически не требуется, используется скриптование на очень простом С++-подобном AngelScript.
В целом основная работа на начальном этапе происходит на уровне импортирования моделей и текстур с указанием настроек для них (координат, физики и т.п.). Причем тут стоит отметить, что готовиться они должны вами отдельно в любом из ЗО-пакетов, после чего экспортироваться в стандарт DirectX. С точки зрения текстур используются стандартный вариант, мультитекстурирование, бампмап-пинг, мипмаппинг (снижение детализации текстур при удалении объектов). Анимация может быть различных видов, скелетная также присутствует. Освещение сделано хорошо, может быть рассчитано по вершинам или пикселям, а также с использованием карт расстановки (Lightmapping), есть различные настройки для теней.
С точки зрения физики имеются все базовые настройки (NVidia PhysX), включая анализ столкновений (Collision Detection), упругость тел (Rigid Body), физику движения автомобилей/самолетов (Vehicle Physics: Fluid Dynamics). С точки зрения спецэффектов в арсенале конструктора имеется возможность редактирования окружения (Environment Mapping), система частиц (Particle System), эму-ляции неба, воды, огня, взрывов, дыма, тумана. Естественно, присутствуют все инструменты для создания сетевых приложений. Сточки зрения звука предусматриваются варианты 3D и стерео, при этом динамически локализуются источники.
На сайте разработчиков можно найти множество готовых игр различной направленности, которые можно использовать в качестве прототипов для создания своих.
Лицензия конструктора предусматривает его применение для создания коммерческих продуктов. В целом тем, кто хочет качественно разобраться на практике в том, как работают ЗО-игры, 3D Rad очень поможет. Поддерживаемые операционные системы - Windows 7/Vista/XP, также есть вариант создания веб-приложений (формат *.osa для плагина OSAKit).
В Интернете есть русскоязычный вариант версии 6.41. Что касается документации на русском, то в Интернете подробных обзоров немного, вполне возможно, что мы напишем небольшое практическое руководство. Дело в том, что я когда-то планировал сделать небольшую игру-гонку на трици-клах и в качестве основного конструктора для нее выбрал как раз 3D Rad. Пакет мне очень понравился за счет своей простоты и быстрых результатов, хотя конечный вариант этого проекта сейчас делается на другой основе. В общем самое трудное в освоении пакета - это привыкание к структуре интерфейса, а также создание взаимосвязей.
В ногу со временем -Alternativa3D и другие
Тема трехмерного интернет-контента сейчас очень актуальна,
ведь речь идет не только об играх, но и о рекламе, а в целом и будущем веб-дизайна. Если говорить вообще о качественном интернет-медиа, то ключевые позиции в нем занимают технологии компании Adobe. Мы уже привыкли к почти повсеместному распространению флеша, хотя следующие попытки улучшения ситуации со стороны компании развивались не так стремительно, как ей хотелось бы.
В то же время для Flash, который изначально подразумевал 2D, многие программисты начали писать специальные дополнения, позволяющие создавать и использовать полноценные ЗО-объекты. На сегодняшний момент наибольшей известностью пользуются пять таких движков - Alternativa3D, Away3D, Papervision3D, Sandy3D и Flare3D. Конечно, самыми многообещающими, на мой взгляд, около двух-трех лет назад были Away3D (на сегодня анонсируется его 4-я версия (бета)) и Papervision3D. Вместе с тем к началу 2011 года хорошо раскрутилась и Alternativa3D от российской компании AlternativaPlatform (http:// alternativaplatform.com). В данном случае мы говорим о более специализированном подходе, поскольку сама фирма занимается не только разработкой движка, но и созданием игр на его базе, наиболее популярная из которых на сегодня это браузерная «Танки Он-лайн».
Другими словами, обновления движка идут прямо с производственного конвейера. На данный момент в ходу седьмая версия продукта, которая предоставляется бесплатно.
По описанию самих разработчиков она обеспечивает:
* Быстрый и эффективный рендеринг На экран выводится до 12000 полигонов одновременно.
* Интуитивно понятный API. Иерархия и свойства трехмерных объектов аналогичны иерархии и свойствам displayObject'ob во Flash. Каждому трехмерному объекту можно назначить трансформацию, прозрачность, режим наложения и даже фильтры.
* Корректная сортировка. Возможность задавать полигональным объектам разные типы сортировки граней (по средним Z, динамическое BSP, статическое BSP). Контейнеры, сортирующие дочерние объекты разными способами (поудаленности, бинарное разделение, KD-дерево, BSP-дерево).
* Эффективная система отсечения. Иерархическое отсечение объектов по баундам, отсечение объектов по перекрытиям, отсечение гра-
ней по видимости и фрустуму, подрезка граней.
* Интерактивность. Система событий мыши, аналогичная системе событий мыши во FLash, учитывающая иерархию и настройки контейнеров.
* Мипмаппинг - снижение детализации текстур в зависимости от удаленности объекта. Улучшает качество изображения и повышает быстродействие.
* Система LOD - снижение детализации геометрии в зависимости от удаленности объекта. Сокращает количество отрисовываемых полигонов.
* Трехмерные спрайты - точечные объекты, всегда развернутые изображением к камере).
* Многокамерность. Возможность создавать сколько угодно камер и сколько угодно вьюпортов для них.
* Система отладки. Возможность отображать баунды объектов, кости, полигональную сетку.
* Система анимации. Скелетная анимация, блендинг анимаций, загрузка из Collada.
* Плагин к 3ds Мах. ЗЭ-сцена настраивается в редакторе и выгружается в формат Collada. Плагин позволяет указывать типы контейнеров, устанавливать типы сортировки для полигональных объектов, создавать трехмерные спрайты и LOD'bi.
Что касается физики, то ее собирались добавить в седьмую версию движка, но, по сообщению разработчиков на Facebook, их главный «физик» сейчас занят на проекте «Танки онлайн 2» (команда небольшая). В целом, Alternativa3D в седьмой версии мне показалась очень похожей структурно на Papervision3D. Хотя, в общем-то все Зй-движки для флеша в чем-то подобны.
Недавно появилась информация о разработке 8-й версии Alternative3D, которая использует набор низкоуровневых API Molehill (о них чуть позже) и их поддержку со стороны Flash Player 11. На ее базе выпущено демо МАХ Racer (прототип ЗО-гонок). В целом усовершенствованный вариант движка позволит работать с тенями, освещением, системой частиц и постэффектами. Если говорить о расчетной части, то на экран может выводиться до 3 млн. полигонов (по заверениям самих разработчиков).
Развитие темы
Реализацией 3D на флеше все занялись большей частью в силу большой распространенности этих технологий как таковых. Но, по существу, есть отсталость от других технологий в плане работы с объектами, текстурами, освещением, физикой и так далее. А в рамках большинства ЗО-движков для флеша сложна, поскольку пока подразумевает много программирования. В результате складывается довольно интересная ситуация: к реализации браузерно-го 3D сейчас присматриваются многие, но состоится ли серьезная конкуренция технологий? То, что флеш из пакета векторной 20-анимации превратился в полноценную среду разработки с последующим продолжением в рамках Flex, это уже данность.
В любом случае сейчас мы говорим об одном из активно развивающихся направлений, в котором, кстати, есть уже много заказов (архитектурный, ландшафтный, интерьерный дизайн, реклама продукции, ММО-игры).
Недавно Adobe открыла доступ к бета-версии Molehill 3D API для Flash Player 11. Данная технология задействует для обработки изображения графический процессор видеокарты, позволяя добиться высококачественной современной графики в бра-узерных приложениях. Скачать первые публичные сборки (билды), документацию и набор инструментов Flex SDK можно с сайта labs.adobe.com из раздела AIR and Flash Player Incubator (http://labs.adobe.com/technologies/ flashplatformruntimes/incubator/). Там вы можете найти и MAX Racer.
Кстати, есть и еще одно интересное, но пока только развивающееся решение - конструктор Ambiera CopperCube (www.ambiera.com/ coppercube), который позволяет создавать ЗО-игры начального уровня и интерактивные презентации с последующим экспортом вswf-файлы (можно и ехе). Последняя версия 2.5также работает на базе Molehill. Программирования как такового для начального уровня работы с пакетом не требуется, для продвинутого - ActionScript 3 или Squirrel. Поддерживается импорт ЗО-моделей фактически из всех популярных программ. CopperCube я встретил в первый раз не у разработчиков игр, а у дизайнеров, которые готовили интерактивные трехмерные презентации архитектурных объектов. Правда, при близком рассмотрении на то время программа была несколько сыроватой, но сейчас все обновляется и исправляется довольно эффективно. Пакет платный. Стоит 99 евро.