Сегодня: Пятница, 19.04.2024, 23:57 (МСК)| Здравствуйте, Гость| Мой профиль | Регистрация | Вход | RSS

Популярно об ИИ.
Третий сезон

Роботы и экзоскелеты

Роботы и экзоскелеты

ТВ-тюнеры. Как выбирать?

Программы — виртуальные гитаристы
Главная » РАЗРАБОТКА КОМПЬЮТЕРНЫХ ИГР

Конструкторы для создания компьютерных игр. Выпуск 8

14.03.2011


В начале 2011-го года начали несколько по-другому расставляться приоритеты. Во-первых, модифицировалось много конструкторов, к которым раньше нельзя было относиться серьезно. Во-вторых, большое внимание сейчас уделяется кроссплатформенности. Иногда можно встретиться с тем мнением, что на рынке конструкторов существует явное коммерческое разделение, а именно, большая часть бесплатных позволяет создавать игры только для платформы РС (Windows). Если же вы захотите перейти на более интересные в коммерческом плане и менее загруженные сегменты, такие как iOS и Android, то в большинстве случаев нужно заплатить. 

Это не совсем верно. В данном случае есть множество исключений. Например, для владеющих языком программирования Java, мы в прошлом материале описывали бесплатный конструктор jMonkey, конкретно для Android имеет смысл воспользоваться Android SDK (выпускается для Windows, MasOS и Linux), для работы с которым необходимо иметь и Java Development Kit (JDK). Есть и неплохие эмуляторы Andoid для ПК, которые можно найти в интернете. То есть, некоторые выходы есть, но при этом не стоит забывать, что конструкторы и современные высокоуровневые движки — это уже готовые наборы для автоматизации и ускорения процесса разработки. 

И, конечно, главной новостью конца февраля стало обнародование бета-версии набора низкоуровневых API от Adobe — Molehill, благодаря чему мы уже можем говорить о чем-то более-менее серьезном в области интеграции 3D-технологий во Flash.

Итак, обо всем по порядку. 


Instead развивается


Мы когда-то описывали конструктор Instead от российских разработчиков, с помощью которого можно делать игры в стиле визуальных новелл, соответствующих квестов и как оказалось не только. С того момента он претерпел довольно большое количество изменений и исправлений, превратившись в более серьезный продукт. Instead позволяет создавать игры для множества платформ, включая Windows, Windows Mobile, Android и Mac OS X. Переносимость осуществляется за счет того, что сам конструктор разработан с использованием известной кроссплатформенной библиотеки Simple DirectMedia Layer (SDL), которая поддерживает большое количество операционных систем. То есть, в недавней версии Instead 1.3.3 добавлена Android, в дальнейшем список платформ может только расширяться по усмотрению разработчиков. Начиная с 1.2.0 реализован автоматический модуль установки программ из сети Instead Launcher.
Работа со стороны пользователя производится на уровне несложного программирования на языке сценариев Lua, также используются 2D-графика и музыка. Сам же конструктор одновременно является основной платформой исполнения. Нужно отметить, что среди последних новинок в области готовых продуктов INSTEAD сейчас есть игры-квесты, перенесенные с ZX-Spectrum. А ведь во многом там все и зарождалось. 


Звёздное Наследие — ремейк игры с ZX spectrum для Instead

Единственный вопрос, которым я задался при первом ознакомлении с самой идеей, возможностями конструктора и примерами работ: чем он отличается от варианта создания подобных игр на статических или динамических HTML-страницах? Ведь мы знаем, что устройства в каждой из вышеперечисленных платформ имеют браузеры и т.п., а описания и скриншоты на сайте разработчиков Instead пока либо минималистичны, либо излишне запутаны. Это как за тот случай, когда нужно скачивать и действовать. 

На самом деле, различия есть, то есть конструктор Instead является более «игровым». В нем присутствует внятная структура представления, включающая сцены, объекты, таймер, реализацию диалогов, отслеживание событий мыши и клавиатуры. Lua в данном случае как раз кстати. Причем самими визуальными новеллами дело не ограничивается. Например, мне понравилась идея пасьянса, созданного в этом конструкторе. 



И, действительно, в нем можно создавать любые карточные игры. А, в целом, непрофильное использование конструктора говорит о том, что он растет по возможностям. 

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


Мощный 3D Rad


О 3D Rad мы также когда-то писали, причем данный конструктор стоит выделить среди остальных, в силу того, что он постоянно модифицируется, и среди бесплатных вариантов является одним из самых качественных по результатам. Впрочем, понятие «бесплатный» здесь довольно условно, поскольку пользователям предлагается датировать проект пожертвованиями, и для тех, кто это сделал, все обновления становятся доступными в первую очередь. Например, на сайте доступна для скачивания версия 6.5, а для жертвователей уже разосланы анонсы 7.15, причем даже в 7-й версии было очень много ключевых обновлений. 



3D Rad является довольно удобным средством для быстрого создания трехмерных игр, в основном, гоночных симуляторов, хотя можно и изменить эту ситуацию на свое усмотрение. Интерфейс конструктора многие считают неудобным, хотя, в принципе, привыкнуть можно ко всему, особенно бесплатному или дешевому:). Сложного программирования как такового фактически не требуется, используется скриптование на очень простом С++-подобном AngelScript. 

В целом, основная работа на начальном этапе происходит на уровне импортирования моделей и текстур с указанием настроек для них (координат, физики и т.п.). Причем тут стоит отметить, что готовиться они должны вами отдельно в любом из 3D-пакетов, после чего экспортироваться в стандарт DirectX. С точки зрения текстур используется стандартный вариант, мультитекстурирование, бампмаппинг, мипмаппинг (снижение детализации текстур при удалении объектов). Анимация может быть различных видов, скелетная также присутствует. Освещение сделано хорошо, может быть рассчитано по вершинам или пикселям, а также с использованием карт расстановки (Lightmapping), есть различные настройки для теней. 

С точки зрения физики имеются все базовые настройки (NVidia PhysX), включая анализ столкновений (Collision Detection), упругость тел (Rigid Body), физику движения автомобилей/самолетов (Vehicle Physics: Fluid Dynamics). С точки зрения спецэффектов в арсенале конструктора имеется возможность редактирования окружения (Environment Mapping), система частиц (Particle System), эмуляции неба, воды, огня, взрывов, дыма, тумана. Естественно присутствуют все инструменты для создания сетевых приложений. С точки зрения звука предусматриваются варианты 3D и стерео, при этом динамически локализуются источники. 

На сайте разработчиков можно найти множество готовых игр различной направленности, которые можно использовать в качестве прототипов для создания своих. 

Лицензия конструктора предусматривает его применение для создания коммерческих продуктов. В целом, для тех, кто хочет качественно разобраться на практике в том, как работают 3D-игры, 3D Rad очень поможет. Поддерживаемые операционные системы Windows 7/Vista/XP, а также есть вариант создания веб-приложений (формат *.osa для плагина OSAKit). 

В интернете есть русскоязычный вариант версии 6.41. Что касается документации на русском, то в интернете подробных обзоров не много, вполне возможно, что мы напишем небольшое практическое руководство. Дело в том, что я когда-то планировал сделать небольшую игру-гонку на трициклах и в качестве основного конструктора для нее выбрал как раз 3D Rad. Пакет мне очень понравился за счет своей простоты и быстрых результатов, хотя конечный вариант этого проекта сейчас делается на другой основе. В общем, самое трудное в освоении пакета — это привыкание к структуре интерфейса, а также создание взаимосвязей. 

 
В ногу со временем — Alternativa3D и другие


Тема трехмерного интернет-контента сейчас очень актуальна, ведь речь идет не только об играх, но и рекламе, а в целом и будущем веб-дизайна. Если говорить вообще о качественном интернет-медиа, то ключевые позиции в нем занимают технологии компании Adobe. Мы уже привыкли к почти повсеместному распространению флэша, хотя следующие попытки улучшения ситуации со стороны компании развивались не так стремительно, как ей хотелось бы. 

В то же время для Flash, который изначально подразумевал 2D, многие программисты начали писать специальные дополнения, позволяющие создавать и использовать полноценные 3D-объекты. На сегодняшний момент наибольшей известностью пользуются пять таких движков — Alternativa3D, Away3D, Papervision3D, Sandy3D и Flare3D. Конечно, самыми многообещающими, на мой взгляд, около двух-трех лет назад были Away3D (на сегодня анонсируется его 4-я версия (бета)) и Papervision3D. 

Вместе с тем, к началу 2011 года хорошо раскрутилась и Alternativa3D от российской компании AlternativaPlatform. В данном случае мы говорим о более специализированном подходе, поскольку сама фирма занимается не только разработкой движка, но и созданием игр на его базе, наиболее популярная из которых на сегодня — это браузерная «Танки Онлайн». 

Другими словами, обновления движка идут прямо с производственного конвейера. На данный момент в ходу седьмая версия продукта, которая предоставляется бесплатно. По описанию самих разработчиков она обеспечивает:
  • Быстрый и эффективный рендеринг. На экран выводится до 12 000 полигонов одновременно.
  • Интуитивно понятный API. Иерархия и свойства трёхмерных объектов аналогичны иерархии и свойствам displayObject'ов во Flash. Каждому трёхмерному объекту можно назначить трансформацию, прозрачность, режим наложения и даже фильтры.
  • Корректная сортировка. Возможность задавать полигональным объектам разные типы сортировки граней (по средним Z, динамическое BSP, статическое BSP). Контейнеры, сортирующие дочерние объекты разными способами (по удалённости, бинарное разделение, KD-дерево, BSP-дерево).
  • Эффективная система отсечения. Иерархическое отсечение объектов по баундам, отсечение объектов по перекрытиям, отсечение граней по видимости и фрустуму, подрезка граней.
  • Интерактивность. Система событий мыши, аналогичная системе событий мыши во FLash, учитывающая иерархию и настройки контейнеров.
  • Мипмаппинг — снижение детализации текстур в зависимости от удалённости объекта. Улучшает качество изображения и повышает быстродействие.
  • Система LOD — снижение детализации геометрии в зависимости от удалённости объекта. Сокращает количество отрисовываемых полигонов.
  • Трёхмерные спрайты — точечные объекты, всегда развёрнутые изображением к камере).
  • Многокамерность. Возможность создавать сколько угодно камер и сколько угодно вьюпортов для них.
  • Система отладки. Возможность отображать баунды объектов, кости, полигональную сетку.
  • Система анимации. Скелетная анимация, блендинг анимаций, загрузка из Collada.
  • Плагин к 3ds Max. 3D-сцена настраивается в редакторе и выгружается в формат Collada. Плагин позволяет указывать типы контейнеров, устанавливать типы сортировки для полигональных объектов, создавать трёхмерные спрайты и LOD'ы.
Что касается физики, то ее собирались добавить в седьмую версию движка, но по сообщению разработчиков на Facebook, их главный «физик» сейчас занят над «Танки онлайн 2» (команда не большая). В целом, Alternativa3D в седьмой версии мне показалась очень похожей структурно на Papervision3D. Хотя, в общем-то все 3D-движки для флэша в чем-то подобны:). 

Недавно появилась информация о разработке 8-й версии Alternative3D, которая использует набор низкоуровневых API Molehill (о них чуть позже) и их поддержку со стороны Flash Player 11. На ее базе выпущено демо MAX Racer (прототип 3D-гонок). 


Демо MAX Racer на базе Alternative 3D 8

В целом, усовершенствованный вариант движка позволит работать с тенями, освещением, системой частиц и постэффектами. Если говорить о расчетной части, то на экран может выводиться до 3 млн полигонов (по заверениям самих разработчиков). 


Развитие темы


Реализацией 3D на флэше все занялись большей частью в силу большой распространенности этих технологий как таковых. Но, по существу, есть отсталость от других технологий в плане работы с объектами, текстурами, освещением, физикой и так далее. А в рамках большинства 3D-движков для флэша есть и некоторая сложность, поскольку пока подразумевается много программирования. В результате складывается довольно интересная ситуация: к реализации браузерного 3D сейчас присматриваются многие, но состоится ли серьезная конкуренция технологий? То, что флэш из пакета векторной 2D-анимации превратился в полноценную среду разработки с последующим продолжением в рамках Flex — это уже данность. 

В любом случае, сейчас мы говорим об одном из активно развивающихся направлений, в котором, кстати, есть уже много заказов (архитектурный, ландшафтный, интерьерный дизайн, реклама продукции, MMO-игры). 

27 февраля Adobe открыла доступ к бета-версии Molehill 3D API для Flash Player 11. Данная технология задействует для обработки изображения графический процессор видеокарты, позволяя добиться высококачественной современной графики в браузерных приложениях. Скачать первые публичные сборки (билды), документацию и набор инструментов Flex SDK можно с сайта labs.adobe.com из раздела AIR and Flash Player Incubator. Там вы можете найти и упомянутый выше MAX Racer. 

Ambiera CopperCube

Кстати, есть и еще одно интересное, но пока только развивающееся решение — конструктор Ambiera CopperCube, который позволяет создавать 3D-игры начального уровня и интерактивные презентации с последующим экспортом в swf-файлы (можно и exe). 



Последняя версия 2.5 также работает на базе Molehill. Программирования как такового для начального уровня работы с пакетом не требуется, на продвинутом — ActionScript 3 или Squirrel. Поддерживается импорт 3D-моделей фактически из всех популярных программ. CopperCube я встретил в первый раз не у разработчиков игр, а у дизайнеров, которые готовили интерактивные трехмерные презентации архитектурных объектов. Правда, при близком рассмотрении на то время, программа была несколько сыроватой, но сейчас все обновляется и исправляется довольно эффективно. Пакет платный. Стоит 99 евро. 


Кристофер

Перепечатка материалов или их фрагментов возможна только с согласия автора






Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Ассоциация боевых роботов
Рекомендуем...
Новости

Разделы

Опросы

Какой язык программирования вы считаете наиболее актуальным сегодня?
Всего ответов: 329

Друзья

3D-кино






Найти на сайте:








Об авторе       Контакты      Вопрос-ответ        Хостинг от uCoz