FPS Creator Free. Создаём свой шутер от первого лица, не написав ни строчки кода

Юрий «yurembo» Язев
Приятно когда крутые девелоперы, чтобы распространить сведения о своём продукте выпускают почти не уступающую по функциональности бесплатную версию программы. Появляется прекрасная возможность не покупая, испытать её. Особенно приятно, когда это происходит с программами - конструкторами для разработки игр. И нам представился такой случай. Сегодня рассмотрим такое приложение от компании The Game Creators.  

GameDev.
Предлагаю заняться разработкой игр без написания кода, используя программу FPS Creator от вышеуказанной конторы. Слышу шипение кодеров-гейммейкеров о том, что это ни в какие ворота не лезет, типа, да какой же это геймдев без кодирования?! Самый настоящий! И не только для начинающих, спешу заверить… Кроме всего прочего (например, пришла идея, и охота её быстро реализовать или для поднятия настроения, как у автора этой статьи), подобный способ хорош для создания "наброска" будущей игры. К примеру, вы работаете геймдизайнером в геймдев-студии, и вам дали задание придумать сюжет и все такое для будущей игры. Вы придумываете и до начала разработки хотите увидеть что же, на самом деле, у вас получилось. Отлично говорите вы, беретё подобный конструктор, создаёте пару уровней и наблюдаете результат. Здорово, не правда ли? Теперь не надо ждать, когда программисты напишут игровой движок, чтобы убедиться в сбалансированности геймплея. Можно испытывать и переделывать сколько угодно!
 
Free – это свобода!
Существуют 2 версии рассматриваемой программы: FPS Creator и FPS Creator Free. Естественно, последняя несколько уступает по функциональности первой. Но основной функционал у них одинаковый, поэтому мы заюзаем именно её (ведь она – фри:)). Для того чтобы почувствовать мощь этого конструктора возможностей бесплатной версии нам хватит сполна. Поверьте, автор статьи был изумлён ими:). Ну, а после того, как всё испробуем и прочувствуем, мы, как все законопослушные люди выложим за полную версию этой поистине уникальной программы своих родных вечнозелёных програ… президентов:). Главный минус различия между платной и бесплатной версиями - это отсутствие (в бесплатной версии) функции финальной реализации подготовленной игры. Есть возможность осуществления реализации только одного уровня с отладочной информацией, что несколько замедляет работу игры. Однако автор создал с помощью этого конструктора множество уровней очень отличающихся по сложности и не заметил каких-либо тормозов даже на весьма плотно застроенных сценах.
 
Интерфейс.
 OK, займёмся делом. Сначала взглянем на интерфейс программы, затем разберем некоторые вещи детальнее, ну, а под конец создадим ни много, ни мало, но полноценный шутер с видом от первого лица!
 
Рис. 1. Окно приложения после запуска
 
После запуска приложения перед взором пользователя предстаёт окно вроде с шаблонным содержанием: строка меню, панель инструментов, а дальше уже относительно не стандартные элементы управления программой: слева – так называемое окно библиотеки, и занимающее почти всю клиентскую область главное окно редактирования создаваемого игрового уровня. Если переместить в это поле курсор, то можно увидеть вокруг него тёмный круг – это область, в которой, созданные объекты визуализируются (отображаются-перерисовываются), благодаря чему не расходуются зря ресурсы компьютера из-за перерисовки всего уровня, а только части сцены. Этот круг может изменять размер; соответствующие кнопки находятся на панели инструментов, кроме того, его можно изменить, удерживая Ctrl, крутить мышиное колесо. Как обычно, некоторые пиктограммы на панели инструментов дублируют пункты главного меню, тогда, как другие имеют оригинальную функциональность. Считаю, не надо перечислять назначение всех пиктограмм: о значении некоторых – вполне возможно узнать самостоятельно, а другие рассмотрим по мере использования. Только одну пару назову сейчас – это кнопки изменения масштаба (с таким же успехом можно крутить колесо мыши).
 
Объекты.
В программе FPS Creator можно создавать только те объекты, которые имеются в библиотеке. Здесь отсутствует возможности моделирования и текстурирования, но как вы увидите впоследствии: они для этой программы и не нужны, она без этих средств невероятно мощна! В верхней части окна библиотеки находятся 4 закладки. Каждая из них содержит объекты определённого типа: на закладке Prefabs находятся, образна говоря, дома и здания, на закладке Segments – «здания поменьше», то есть: разные коридоры, комнаты, лестницы, кабинки лифта и др., на закладке Markers расположились функциональные объекты, т.е.: начало уровня (точка старта (появления) главного персонажа), место восстановления (после гибели персонажа), источники света (разных цветов), и последняя закладка Entities содержит все остальные объекты: начиная от оружия (вместе с боеприпасами) и объектов первой необходимости (думаю, к этому стоит отнести диван:)) до анимированных персонажей (обладающих искусственным интеллектом(!)) и разных хоррор – объектов (череп, скелет, колбочки с подозрительными жидкостями и т.д.). При первом открытии трёх закладок (исключение составляет – Markers), появляется унылая панелька с одним элементом, с помощью двойного щелчка по которому на весь экран открывается окно с двумя панелями: в левой - свитки с темами, а в правой, собственно, сами объекты с подтверждающими надписи иконками. После выбора желаемого объекта (двойным щелчком), окно закрывается, а выбранный объект добавляется в окно библиотеки слева, кроме того, сейчас прозрачный экземпляр этого объекта привязан к курсору и ждёт, когда мы кликнем мышью, чтобы позиционировать его прототип.
Хотя в библиотеке достаточно много разнообразных объектов, рано или поздно захочется новых. Их можно купить или бесплатно скачать (ограниченный контент) из специального магазина, клиентская часть которого встроена в программу. Чтобы запустить её надо нажать на кнопку “game creatore store”, которая находится внизу окна библиотеки. Откроется знакомое окно с двумя панелями, где будет представлен широчайший выбор объектов.
 
Рис. 2. Приветствующая страница интернет-магазина
 
 Чтобы воспользоваться услугами магазина, необходимо сначала зарегистрироваться. Это можно сделать прямо в магазине или на сайте компании-разработчика. Кстати, по поводу покупок и цен. В магазине действует собственная виртуальная волюта – Points, которую надо приобретать за вполне реальные доллары. Расценки приведены на рисунке.
 
Рис. 3. Цены
 
 Отмечу, здесь есть очень симпатичные модели (см. рис.)
 
Рис. 4. Товар
 
Начало разработки.
Теперь, когда мы рассмотрели источники объектов, перейдём к цели статьи, то есть разработке небольшого игрового уровня.
Если конструктор не запущен, тогда сделайте это. Конструирование в FPS Creator начинается на 5-ом слое, то есть уровень может быть многоэтажным, в том числе – ниже подвала:). Номер текущего слоя отображается в строке состояния. Оставшись на нем, создадим лоскуток земли (чтобы для разнообразия можно было выйти из здания). Для этого перейдём на вкладку Segments библиотеки и выберем компонент ground. Затем на панели инструментов выберем пиктограмму Draw Segment As Rectangle и на всём видимом пространстве нарисуем прямоугольник. После того, как вы отпустите кнопку, обозначенная область будет выложена плиткой. Чтобы удалить сегмент плитки надо перейти в режим работы с сегментами (меню Segments, пункт Segment Mode) и, позиционировав курсор на сегменте, который нужно удалить, нажать правую кнопку мыши.
 
Здания, персонажи и оружие.
Затем перейдём на закладку Prefabs, откроем окно библиотеки и выберем какое-нибудь здание.
 
Рис. 5. Здания
 
 По большому счёту не важно какое, главное, чтобы оно было не большое. Оно будет играть место входа в игру. Когда нужное здание будет выбрано, создайте его примерно в левой нижней части замощенной плиткой области. Плюсы зданий: кроме всего прочего, находясь в здании, главный персонаж не виден для врагов, и они не будут атаковать его. Далее, перейдём на закладку Markers, выберем и создадим точку начала игры – Player Start. Разместим её в только, что созданном здании.
Перед выходом из дома (читайте: на тропу войны) надо запастись оружием. Думаю, узи с магазином для начала будет достаточно. Для этого, с закладки Entities откроем окно библиотеки, в нём раскроем списки: generic -> items; откроется небольшой набор вооружения, выберем, что надо и создадим объект в доме рядом с (воображаемым) персонажем. Также, добавим боезапас выбранного оружия. Хорошо, но что будет ждать геймера на улице? Пока – пустота. Создадим там врагов в количестве пары штук. Оставаясь на закладке Entities, снова откроим окно библиотеки, развернём свёртки: scifi -> characters; выберем оттуда понравившихся персонажей. Обратите внимание на пояснения в их именах (в скобках): если пояснение отличается от unarmed, то, значит, враг такого типа будет атаковать персонажа геймера, иначе он будет пассивным. Теперь, можно протестировать получившуюся игру. Щёлкнем пиктограмму Test Level (вторую справа). После достаточно долгой компиляции игра запустится. Ну, тут вы без меня всё проверите! Можно сделать так, чтобы враги не стояли на месте пока не увидят персонажа геймера, а патрулировали какой-нибудь район. Для создания пути следования (патрулирования) персонажа, надо щёлкнуть пиктограмму Create New Waypoint, она находится на чётвертой позиции справа (на панели инструментов). Появится красная звезда, переместите её в место предполагаемого начала пути. Чтобы создать следующую контрольную точку, удерживая Shift, щелкните на имеющейся звезде; возле неё появится новая. Захватите её мышью, и переместите в новую позицию для образования пути. Можно, создав из звёзд небольшой круг, замкнуть его. Для этого надо просто последнюю звезду наложить на первую. Путь следования готов! Теперь враг будет ходить по кругу, но, не теряя разума, он может на любой контрольной точке изменить путь следования, повернув в обратную сторону:). Продолжим моделирование уровня, разместим за домом какое-нибудь оружие. Как это сделать вы уже знаете, поэтому не буду повторяться. Кстати, после смерти по умолчанию враги оставляют оружие, и его можно забрать.
Затем, справа от зоны создайте большое здание (например, storage large), только обратите внимание, чтобы вход в него был на сегментах плитки, а не висел в воздухе. Если даже само здание находится в воздухе, то в нём всё равно будет пол. Если необходимо повернуть объект, перед его созданием надо нажать клавишу R. Прозрачный экземпляр соответственно изменит свою ориентацию. Населите его врагами, которые находятся не только в библиотечном списке scifi -> characters, но и в – ww2 -> characters. Здесь их выбор даже больше: от злополучного черепа до офицера СС. Если нужно переместить камеру, воспользуйтесь клавишами перемещения курсора. Можно добавить аптечку, она находится в списке ww2 - > items. Главное не переборщить с объектами, а то наша игра получится несбалансированная (с неинтересным геймплейем).
Теперь сделаем так, чтобы из этой комнаты выходили два коридора (дверь в первый - должна находиться прямо, относительно входа, а вторая – на правой стене). Для этого раскроем библиотеку объектов с закладки Segments. Там выберем понравившийся коридор, например, как в моём случае, из списка ww2 -> rooms объект Chateau Cellar Low. И растягиванием нарисуем коридор вплотную с комнатой. Заметьте, стена автоматически исчезла. Можно, конечно так и оставить, но это будет, во-первых, не геймплено, а во-вторых, будут тратиться ресурсы компьютера на перерисовку не нужных деталей. Ну, кому это надо, чтобы обновлялся коридор и всё, что за ним, если геймер находится в комнате?! Поэтому, эту дыру надо прикрыть. Чтобы это осуществить, снова выберем из библиотеки коридор (теперь, выбранный в прошлый раз тип коридора доступен на закладке Segments). Затем переключись в режим рисования только стен (в меню: Segments -> пункт Paint Only Walls), нарисуем недостающую стену. Для того чтобы поместить дверь, нужно перейти в библиотеку с закладки Entities, где выбрать из списка ww2 -> scenery -> doors и добавить нужную. Там их широчайший выбор:). Чтобы разместить дверь в проёме, надо, указав стрелкой в нужном направлении, подвести курсор к стенке и нажать на левую кнопку. Дверь образует проём и встанет в него. Поместим в коридор парочку врагов и боеприпасы. На другом конце коридора создадим комнату. Обратите внимание, чтобы снова не тратить время на создание двери, новая комната должна своей дверью подходить к коридору. Добавим в неё каких-нибудь объектов. При тестировании, чтобы не бежать через весь уровень для проверки свежедобавленной фичи, просто переместите маркер-стрелку входа в игру в нужное место, и ваша игра запуститься оттуда.
 
Второй этаж.
Добавим в комнату, которую создали последней ещё один объект – лестницу. Большой выбор различных лестниц представлен в библиотеке (попадать в которую надо с вкладки Segments), в списке ww2 -> Platforms (к сожалению, при работе с библиотекой, нет возможности не выходя из неё, переключать вкладки, хотя может это только во фри версии). Выбираем любую, например, Staircase Wood. Новый объект создадим где-нибудь в углу. Заметьте, кстати, после выбора типа лестницы, когда уже можно создать новый объект, стрелка указывает в направлении подъёма. После того, как лестница будет создана, нажмите плюсик «+» на основной клавиатуре, чтобы переместиться на 6-ой слой. Переключение между слоями осуществляется клавишами «+» (вверх) и «-» (вниз).
Находясь на 6-ом слое, создайте какую-нибудь комнату над той, что была создана на 5-ом слое последней, точно над лестницей. Сейчас надо удалить сегмент пола, чтобы можно было подняться по лестнице на второй этаж. Для этого сначала переключитесь в режим работы с сегментами (меню Editing -> пункт Segment Mode), потом включите возможность рисования только пола (Segments -> Paint Only Floors) и, переместив курсор над сегментом, под которым находится лестница, удалите его, нажав правую клавишу мыши. Создайте в новой комнате, какие-нибудь объекты: статические, динамические… в общем, на свой вкус. Пусть это будет контрольный бункер, поэтому в нем полно врагов и других объектов. Кстати, объекты можно размещать друг на друге, это относится не только к статическим, но и к динамическим и даже к персонажам. Для этого, переместите создаваемый объект над уже имеющимся и нажмите клавишу Enter, станет видно, как создаваемый объект приподнялся над другим(и).
 
Физический движок.
В FPS Creator используется довольно-таки не плохой физический движок. Вы и сами можете запросто в этом убедиться. Создайте отдельный уровень, чтобы посмотреть на его возможности. Попробуйте разместить бочки друг над другом и пальнуть по этой конструкции: все они взорвутся, видно наполнены горящей жидкостью :). Видите эту фатальную красоту взрыва?! Действительно, радует глаз любого трёхмерщика-аниматора. А если её (конструкцию из бочек) толкнуть, то все бочки разом красиво упадут и откатятся на небольшое расстояние. Если за место бочек использовать деревянные ящики, то при выстреле по одному из них они уже не разлетятся – повредится только один из них. Сложите из ящиков пирамиду и подстрелите крайний нижний – результат впечатляет: как и ожидается, обрушится только часть пирамиды, но вы посмотрите, как она обрушится!
 
Рис. 6. Демонстрация возможностей физического движка
 
Все эти объекты – динамические. Если, например, поместить на вершину пирамиды из ящиков статический объект и разрушить эту пирамиду, то статический объект не только не повредится, но и останется висеть там, на высоте бывшей вершины пирамиды. Динамические объекты можно двигать, некоторые можно расстреливать, взрывать и, вообще по-разному с ними взаимодействовать. К этому типу, например, относятся, все персонажи, оружие, аптечки, бочки, некоторые ящики и другое. Статические объекты никак не изменяют своего состояния, т.е.: не двигаются, не взрываются и, вообще, представляют из себя скучные вещи:). К ним относятся, например, мебель и разные другие дополнения-пустышки к уровню. Для графического движка предпочтительнее, конечно, статические объекты: их проще обрабатывать, визуализировать и прочее осуществлять. Тогда, как с динамическими дела обстоят куда сложнее: каждый кадр надо пересчитывать координаты вершин, ведь для графического движка, если написано на объекте «динамический», значит, он мог измениться. Поэтому, если в текущей сцене слишком много таких объектов, то она будет медленнее перерисовывать. Из этого – мораль: по возможности (если это не наносит вред геймплею) создавать статические объекты.
 
Редактор свойств.
Обсуждая в прошлом разделе объекты, мы столкнулись с понятием тип, которое относится к свойствам. Многие свойства, заданные по умолчанию можно изменить. Для этого надо открыть редактор свойств (название условное, так как в программе этот набор свойств безымянный). Чтобы это осуществить, сначала надо переключиться в режим редактирования сущности (Editing -> Entity mode). Затем навести курсор на объект, свойства которого необходимо изменить (он подсветится светом определённого цвета, а ниже него появится имя, рядом с которым в скобочках будет отмечено: динамический он или нет; цвет подсветки тоже зависит от типа объекта: если динамический, то цвет зелёный, а если статический, то – красный) и щёлкнуть правой кнопкой мыши. После этого слева выплывет большой список свойств, с возможностью изменить их значения. Я не буду их рассматривать, так как их обзору можно посвятить целую статью, к тому же ничего сложного они не представляют, а их значения понятны по названиям. Замечу, хотя у разных объектов большинство свойств одинаковые, также имеются и различия. Например, редактируя свойства можно сделать мебель динамичным объектом (для этого, всего на всего, надо изменить значение одного свойства). Ведь так приятно (хотя и в виртуальности) столкнуть с крыши дома раритетный шкаф:). После редактирования, для подтверждения изменений надо нажать кнопку Apply Changes; и Cancel – в обратном случае.

Рис. 7.  Редактор свойств
 
Разобравшись со свойствами, вернёмся к нашему проекту игрового уровня.
 
Телепортация, переключатели и другие фичи.
Помните, в 1-ом вражеском бункере я говорил о создании 2-х коридоров? 1-ый мы создали вместе, и сразу пошли в том направлении; теперь, наступило время создать 2-ой. Вы уже знаете, как это делать:). Сделайте этот коридор достаточно длинным, разместите в нём оружие. На другом конце коридора создадим комнату типа deletion large. На входе в комнату такого типа особенная дверь, которую просто так не открыть.  Теперь сделаем ответвление от коридора. На крайнюю стену этого придаточного коридора поместим переключать из библиотеки (Entity Library -> scifi -> wall furniture -> switch7). Запустим игру и протестируем: дверь никак не поддаётся, а теперь сходите, нажмите рычаг, и дверь автоматом откроется.
Не добавляйте пока в комнату других объектов – всегда можно успеть, а вот тестировать будет спокойнее, не надо ни от кого отстреливаться:). Создадим в этой комнате телепортатор. Из библиотеки (Segment Library -> scifi -> scenery) поместим туда объект Teleporter IN. Это будет точкой старта телепортации. А теперь перейдём на 2-ой этаж (6-ой слой) в комнату, над которой мы работали, там находится бесхозная дверь, сделайте за ней небольшой коридор (если надо, поставьте дверь), и на крайний сегмент установите Teleport OUT из того же списка, который мы рассмотрели выше. Догадываетесь, правильно, точка выхода из телепорта. Сейчас можно перемещаться из точки входа в точку выхода. И все вроде выглядит прекрасно, и действует тоже, только здесь нас ждёт неприятность – видно ошибка в программе: после телепортации наш персонаж застревает – не может выйти из телепортатора. Раз уж речь зашла о багах, то отмечу: здесь их более, чем достаточно: это касается не только процесса создания уровня, но и игры в нём: иногда, в определённом месте, глав. пер. застревает, тогда, как после очередной перекомпиляции он проходит это место, как ни в чём не бывало. Ну, в очередной раз простим всё разработчикам – всё равно они молодцы! К тому же, это не только бесплатная версия, но ещё и не достигшая совершеннолетия программа (ибо версия ниже единицы), о чём сообщают разработчики.
 
Рис. 8. Созданный уровень
 
Заключение.
FPS Creator - превосходный конструктор игр, обладающий рядом уникальных возможностей. Всю эту мощь нам не удалось рассмотреть в одной статье, но автор надеется, что предложенные сведения с лихвой окупят не достающий материал по этой программе. К примеру, за бортом остались источники света, лифты и многое, многое другое. Всё это в обязательном порядке может иметь место в будущей статье. А сегодня материала для рассмотрения достаточно, поэтому мне остаётся пожелать вам удачи!
 
Примечание.
Управление.
Управление в играх созданных с помощью FPS Creator такое же, как и в подавляющем большинстве боевиков с видом от первого лица:
Стрелки управления курсором – перемещение в соответствующие стороны.
W – идти вперёд.
S – идти назад.
A – идти влево.
D – идти вправо.
SPACE – прыжок.
Enter – действие.
R – перезарядить оружие.
C – присесть.
Q – наклониться влево.
E – наклониться вправо.
Удерживая Shift, нажимать кнопки управления перемещением – бежать в соответствующем направлении.
Перемещение мыши – управление ориентацией точки обзора в пространстве.
Левая клавиша мыши – выстрел из выбранного оружия.
Права клавиша мыши – использовать прицел / подобрать объект.
Цифровые клавиши: 1 – 9 – выбор оружия.
 
www.thegamecreators.com – сайт разработчиков программы FPS Creator, откуда можно скачать её бесплатную версию.

 



Опубликовал admin
21 Окт, Четверг 2010г.



Программирование для чайников.