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

В последнее время нельзя не отметить одну интересную тенденцию — появилось много новых компьютерных игр среднего класса. Сделаны они в большинстве своем очень добротно, и при этом их с большой охотой покупают и скачивают пользователи. Другими словами, сейчас появилась серьезная прослойка между казуальными играми и ААА-блокбастерами. Что касается реализуемых идей в этом сегменте, то во многом понятно, почему эти игры пользуются популярностью. Дело в том, что за основу берутся в основном хиты 90-х — начала 00-х, качественно преобразуются. При этом мы получаем весьма неплохой геймплей и низкие требования к ресурсам ПК, что особенно актуально для многочисленных владельцев нетбуков и маломощных машин. Большое количество таких игр не пишется с нуля, а делается в конструкторах. Когда ко мне поступило предложение от одних разработчиков «замутить» подобный проект (пригласили на позицию геймдизайнера, речь шла об экономической стратегии в изометрии), я решил рассмотреть рынок «среднего звена» поближе. И что действительно удивило, так это малое количество откровенно плохих игр, также редко встречаются поделки, собранные «на коленках». При этом поразило и достаточно большое количество представителей классики жанров, особенно в области стратегий, экономических в том числе. В общем, ситуация развивается весьма интересно, причем именно за «средним звеном» мне видится большое будущее, тем более, что сейчас планшеты становятся актуальными.

Сегодняшним материалом мы начинаем обзор наиболее актуальных конструкторов и движков для 2011 года. Главным образом будем обращать внимание на решения, доступные обычным смертным:).

Из юмора

Вообще, в сообществе разработчиков очень много различного юмора, иногда просто зачитываешься форумами, например, чего стоит диалог…
Человек 1: Надоели эти крохоборы, такие деньжищи за движки требуют! Давайте соберемся и напишем свой движок!
Человек 2: Ааааа! От таких мыслей жутко становится.
Человек 3: А че, нормальная идея. Помогу чем смогу, сейчас учу Turbo Basic…

Хотя больше всего меня в последнее время повеселило описание Trinity Vision Game Engine на одном из популярных русскоязычных ресурсов, цитирую: «Немецкая компания Trinigy имеет уже более 150 крупных лицензиатов, среди которых Ubisoft, Take 2, Dreamcatcher, NeoWiz, TimeGate Studios, Robot Entertainment, Nitro Games, бездари из Spellbound, а также многие другие известные и не очень студии и компании разработчиков игр». Если кто не в курсе:))), «бездари из Spellbound» — это те, кто делал Gothic4. Как говорится, кто их сейчас только не пинает. Причем «бездари», «криворукие», «что у них с мозгами» — самые легкие эпитеты в отношении разработчиков из Spellbound, есть в несколько раз грубее и смешнее:)). Честно говоря, я сам сказал очень некультурное слово, когда начал проходить четвертую часть и увидел, что сделали с великой игрой эти...

Впрочем, это только вершина проблемы, о чем мы поговорим чуть подробнее в конце статьи.

Unreal Development Kit

На момент написания этого материала в феврале вышла очередная бета-версия с большим количеством обновлений. Фактически мы говорим о полноценном игровом движке, нередко использующемся в разработке игр топ-класса. Программирование базируется на собственном языке сценариев UnrealScript, который концептуально и синтаксически очень близок к С++ и Java. Изучается очень быстро. Хотя в данном случае мы говорим о весьма упрощенном высокоуровневом программировании, при этом для автоматизации связывания скриптов используется очень удобная и понятная система Unreal Kismet. Отдельно стоит сказать о весьма удобной системе программирования искусственного интеллекта, адаптированной для работы с большими проектами с множеством персонажей. Что касается физики, то тут мы имеем стандарт NVIDIA PhysX, для облегчения работы с которым (настройки и редактирования) есть специальный модуль Unreal PhAT.

С точки зрения графики и анимации в данном случае мы можем говорить не только об интеграции с известными пакетами и поддержке основных технологий, но и о наличии собственного инструментария. Визуализатор UDK Gemini с рендерингом 64-bit HDR дает великолепные по реалистичности результаты, для освещения используется очень мощная технология Unreal Lightmass, специально для скелетной анимации имеется модуль AnimSet Viewer, все «навороты» в области частиц реализованы в рамках Unreal Cascade. Отдельно стоит сказать о прекрасном модуле SpeedTree Foliage Editor, позволяющем создавать деревья.

Стоит сказать, что Unreal Development Kit является одним из представителей тех профессиональных игровых движков, которые уже используются не только в геймдеве, но и при создании фактически любой современной медийной продукции — анимационных фильмов, в телевидении, визуализации научных и инженерных исследований. Ведь на самом деле технологическая разница между отраслями уже постепенно стирается. Достаточно сказать, что в фильме «Аватар» освещение было рассчитано на игровых технологиях, но если бы вместо них использовались стандартные из мира профессионального 3D, то «Аватар» вышел бы гораздо позже.

Хотя, конечно, иногда доходит и до веселого — я встречал варианты, когда в данном «наборе» делали дизайн интерьеров.

Для некоммерческого использования Unreal Development Kit можно скачать в полнофункциональном виде абсолютно бесплатно с сайта www.udk.com. Хотя, если вы захотите создавать на нем продукты на продажу, то будьте готовы раскошелиться — движок/конструктор дорогой. Поддерживаемые ОС — PC (Windows), iOS (iPhone, iPad, iPod), в будущем планируется поддержка игровых консолей.

Unity

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

Вообще, Unity раскручивается очень хорошо. Например, меня полгода назад удивила анкета на сайте разработчиков игр Intel, в рамках которой часть вопросов задавалось именно по Unity3D (еще одно часто встречающееся название этого движка/конструктора). Стоит отметить, что распространению способствует не только хорошее качество с большим количеством возможностей, но и наличие функционирующей бесплатной версии. Таким образом, Unity вы можете скачать как freeware, Unity Pro стоит $1500, также отдельно докупаются разновидности, позволяющие вести разработку под различные платформы. Отличия Unity от Unity Pro довольно существенны особенно в области возможностей рендеринга (визуализации). Впрочем, вы сами можете увидеть все своими глазами, поскольку на бесплатное скачивание дается версия, в которой режим Pro включен 30 дней.

Теперь немного о «внутренностях». По концепции эта среда ближе к идее конструктора, нежели игрового движка, то есть все довольно удобно структурировано, причем многое можно сделать на визуальном уровне без программирования. Главный элемент — это мощный редактор, в котором создаются уровни и так далее.

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

Для создания и редактирования ландшафтов Unity предоставляет довольно мощный инструментарий, в котором можно найти и генератор деревьев в том числе. А в целом, как говорится, «рисуем все жирными мазками кисти».

Физика в Unity — NVIDIA PhysX, есть варианты для работы с твердыми и мягкими телами, одеждой/тканями, а также благодаря отдельному акцентированию в Unity довольно удобно делать гонки, то есть присутствует специальная физика для автомобилей.

Скриптовое программирование базируется в основном на адаптированном под собственные нужды варианте JavaScript либо же C#, а также предусмотрена поддержка уникального языка Boo (одного из диалектов Python). Вместе с тем, стоит сказать, что сама игровая логика в рамках Unity строится на .NET платформе с открытым исходным кодом Mono (http://mono-project.com), которая, как известно, использует в качестве основного языка C#. На момент написания этой статьи большая часть продукции, сделанной на Unity, которая мне встретилась, являлась браузерными играми. На самом деле, в этом плане движок/конструктор дает очень широкие возможности реализации, особенный уклон сделан на направление ММО.

Вообще, конечно, перед тем как принимать решение по изучению Unity, имеет смысл посмотреть видеоуроки, которые есть на сайте русскоязычного сообщества www.unity3d.ru.

jMonkey

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

В качестве основного графического API используется OpenGL, реализована интеграция с основными 3D-форматами, включая COLLADA, 3DS, Obj, MD2, MD3, X3D, Milkshape, ASE, поддерживается скелетная анимация, есть современный модуль по работе с частицами. Имеется система столкновений, математическая система для быстрых алгебраических вычислений, отдельная система освещения, система теней, симуляция тканей, камера также рассчитывается как отдельный объект. В целом, продукт достаточно серьезен и дает много возможностей, если вы общаетесь на «ты» с программированием на Java и понимаете структуру функционирования компьютерных игр. Нужно сказать, что сам язык Java является кроссплатформенным, OpenGL распространен тоже везде, то есть в этом плане среда универсальна. Скачать и посмотреть все воочию можно по ссылке — http://jmonkeyengine.com.

Для новичков — Ren’Py

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

Ren’Py — это как раз таки тот конструктор, который позволяет на начальном уровне разрабатывать вполне неплохие игры начального уровня сложности. Основная сфера применения — создание визуальных новелл, то есть небольших диалоговых приложений с движением от картинки к картинке. Конечно, мы описали самый стандартный вариант, поскольку есть много расширений и хитростей даже в этом жанре, то есть сам процесс разработки может быть расширен. Если человек захочет развиваться дальше, ему дается возможность написания скриптов на простом языке Python. В данном случае он сможет создавать что-то более сложное.

Отдельно стоит сказать о хорошо сделанной документации, наличии обучающих программ. Вокруг Ren’Py имеется русскоязычное сообщество, присутствует и русская версия продукта. Поэтому дам ссылку сразу на нее — http://www.renpy.org/wiki/renpy/rus.

Среда разработки бесплатна при соблюдении двух условий: создав игру, вы сообщаете о ней разработчикам (они включают ее в свой каталог), и имена разработчиков должны присутствовать в титрах.

Если использовать Ren’Py для обучения тех же детей, то могу сразу отметить, что они приобретут следующие навыки:
. Создание сюжетных линий с логическими связями.
. Подготовка контента для создания игры: текста, изображений (JPEG/JPG, PNG, BMP, GIF), музыки (OGG Vorbis, OGG Speex, MOD, WAV (только PCM), MP3), видео.
. Структурирование информации, размещение контента.

Все это пригодится не только для формирования будущего разработчика, но и вообще учит структурно мыслить.

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

Вместе с тем, само обучение написанию сценариев на языке Python в рамках среды Ren’Py очень эффективно.

Дистрибутив программы «весит» 19 Мб, на сайте русскоязычного сообщества можно найти множество интересных полезных рекомендаций и хитростей. Всего в Ren’Py уже создано около 180 игр.

ShiVa3D

Если говорить о сравнительно недорогих профессиональных вариантах кроссплатформенных движков/конструкторов, то нельзя обойти стороной популярный ShiVa3D (http://www.stonetrip.com). Что самое удивительное в данной ситуации, так это очень слабая активность в русскоязычном сегменте, хотя общее количество лицензиатов по всему миру у данной среды разработки составляет приличную цифру — 22 тыс. человек. Дело в том, что сам движок предоставляет возможности создания игр буквально под все популярные платформы, включая мобильные, при том, что самая дорогая его разновидность Advanced стоит 1500 евро. Есть и бесплатная PLE. Жанровых ограничений также фактически нет, при этом вы можете разрабатывать в ShiVa3D как 2D- игры, так и 3D.

С точки зрения визуализации, физики, динамики столкновений, работы с частицами, 3D, текстурами, освещением, тенями мы имеем самый современный комплект возможностей, языки программирования на выбор: C, C++, Objective-C, предусмотрено использование Lua. Есть специальный редактор, позволяющий создавать обширные 3D-миры.

В начале февраля было объявлено об объединении ShiVa4D с популярным в области мобильных технологий комплектом разработки Airplay SDK от Ideaworks Labs, что еще больше расширило количество поддерживаемых платформ.

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

Хит для новичков — Scirra Construct 2

В данном случае мы говорим о довольно серьезном конструкторе, который позволит начинающим без всякого программирования создавать целый спектр 2D- игр различных жанров в профессиональном качестве. Construct — это абсолютно бесплатное решение, при желании вы можете загрузить и исходный код для внесения изменений. На русскоязычном сайте http://scirraconstruct.ru есть большое количество понятной документации и работающих примеров. Сама система представляет собой визуальный конструктор, в рамках которого вы формируете уровни, добавляете графические элементы, указываете условия. В целом, видно, что разработчики подошли к делу весьма ответственно, причем они явно в курсе того, как устроены профессиональные конструкторы, хорошо продумали эргономику. Что касается сценарных условий (событий), то они также задаются без всякого программирования. Construct включает в себя более 60 объектов и 20 встроенных поведений («объекты» и «поведения» — ключевые термины в рамках Construct). С помощью объектов вы создаете спрайты, управляете игрой, воспроизводите музыку, звуки, создаете эффекты частиц и многое-многое другое. Каждому объекту можно присвоить определенную модель поведения. Например, добавив спрайту поведение Platform (Платформер), вы сразу же можете управлять им, бегая и прыгая по уровню. Вы легко можете менять скорость бега, силу прыжка и т.д., что позволяет полностью настроить поведение вашего персонажа или любого другого объекта в игре. Поведения экономят время, потому что они избавляют вас от необходимости повторно создавать события для одинаковых задач.

Для создания и обработки изображений имеется встроенный графический редактор. Плюс ко всему конструктор содержит базу из 50 визуальных эффектов, с помощью которых вы можете создавать искажения, смешивания, размытия, волновые и линзовые эффекты, маски и многое другое. Все это можно применять к определенным объектам или даже к целому уровню. Каждый эффект имеет гибкие настройки, что позволяет вам быстро и легко создавать красивые и впечатляющие спецэффекты.

Также реализованы эмуляция физики, есть система костной анимации для создания исключительно плавной анимации. Также весьма удобен отладчик для просмотра внутреннего состояния приложения во время игры. И стоит отметить наличие специальных объектов 3D Box и 3D Object, которые используются для создания игр с элементами 3D-графики.

Если вы владеете программированием, то возможности конструктора становятся гораздо шире, а именно, при знании С++ можно модифицировать не только сам движок, но и писать плагины для него. Все модели поведения описаны в специальных сценариях на языке Python. Зная его, вы можете добавлять свои варианты. И, наконец, спектр визуальных эффектов можно расширить при условии знания HLSL.

Scirra Construct 2 — это, пожалуй, одно из самых интересных решений для начала 2011 года, рекомендую обратить пристальное внимание, особенно начинающим. В целом, можно получить очень хорошие качественные продукты, создавать казуальные игры, какие в большом количестве сейчас продаются в Интернете. Единственный недостаток Construct состоит в том, что он базируется на DirectX 9, другими словами, вы можете создавать игры только для платформы РС.

Подытожим

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

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

Именно поэтому сейчас и интересен «средний» пласт, который использует в качестве основы знаменитые игры «золотого периода» 90-х, и в нем еще не так много шаблонов. Недавно даже появилась новость о том, что собираются реинкарнировать NetStorm. Вот здесь происходят интересные события. Что касается игр ААА-класса, к сожалению, в этом сегменте уже фактически не производится интеллектуально интересных глобальных продуктов. Ведь что произошло с «Готикой»? Люди в индустрии так обленились, что похоронили очень мощный проект, выпустив откровенную халтуру. Но это для пользователей все выглядит именно так. А внутри индустрии происходят другие процессы. Например, увод Gothic от ее основных разработчиков сыграл на руку фирме Trinity, на движке которой Vision Engine сделали четвертую часть. Название игры послужило великолепной рекламой — дело в том, что профессиональных движков сейчас чуть меньше десятка, и все они примерно равны по возможностям. Поэтому происходит конкуренция на уровне имен проектов. Интерес к Trinity был проявлен огромный, в результате в прошлом году руководство этой компании даже подняло зарплату своим работникам… в 10 раз.

За фирму можно порадоваться, а вот за игровой сегмент — нет.

Кристофер http://itcs.3dn.ru


Компьютерная газета. Статья была опубликована в номере 08 за 2011 год в рубрике soft

©1997-2024 Компьютерная газета