Создание игр с помощью Alawar Engine. Часть первая

от автора

Привет. Сегодня мы начинаем цикл статей, который познакомит вас с процессом разработки игр на движке Alawar Engine. Первая статья вводная, в ней мы в общих чертах расскажем о создании игрового контента, блочной системе скриптования, с помощью которой из разрозненных частей собирается игра, а также немного о других бизнес-процессах в студии Alawar Stargaze. На текущий момент движок лицензируется внешними студиями, сотрудничающими с Alawar, в разработке находится около 20 проектов. Некоторые проекты, созданные лицензиатами, уже выпущены, например Weird Park.Broken Tune.

Разработка игры начинается с человека, у которого есть идея будущей игры. Да, как обычно без большой и заразительной идеи никуда. Она должна включать в себя общее представление о создаваемой игре, описание игрового мира и персонажей. Из идеи рождается сценарий, в котором прописываются основные сюжетные линии и повороты. Гейм-дизайнеры создают проектную документацию, которая, по сути, является техническим заданием для 3D-модельеров, 2D-художников, аниматоров, специалистов по созданию эффектов, скриптеров, композиторов и других участников команды.

Процесс разработки HOPA-игры:

Движок позволяет создавать игры различных жанров, мы же в статье рассмотрим весь процесс на примере игр жанра HOPA (Hidden Object Puzzle Adventure, по-русски он называется короче – поиск предметов). Подобные игры представляют собой квесты с определенным сюжетом, наполненные задачками и логическими головоломками. Игровой контент включает в себя:

  1. изображения;
  2. звуки и музыку;
  3. видео, анимацию и эффекты;
  4. мини-игры, написанные на C++;
  5. строки с диалогами, пояснительными текстами и пр.

К примеру, изображение сцены проходит несколько стадий, прежде чем попадет в игру. Сначала рисуется скетч сцены, затем 3D-модельер создает текстурированный рендер и, наконец, 2D-художник заканчивает работу, создавая финальный вид игровой сцены.

Игровая сцена:

Сегодня в статье мы рассмотрим лишь вкратце некоторые отдельные этапы создания HOPA-игры: создание логики игрового процесса, систему локализаций и финальную сборку проекта.

Чтобы собрать разрозненные ресурсы воедино и превратить их в игру, мы используем тулзу собственной разработки — Quest Editor. С её помощью все объекты, клипы, видео и мини-игры добавляются на игровую сцену в один клик. Кстати, для того чтобы быстро добавить сцену со всеми объектами, нами используется скрипт, который импортирует изображения из Photoshop, а с помощью мини-игр может быть реализован любой необходимый в игре геймплей. После того, как все необходимые объекты добавлены, за работу принимается скриптер. С помощью блоков скриптования он задает игровую логику на всех участках игры.

Интерфейс Quest Editor:

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

  1. Заниматься скриптованием может и не программист. Все блоки просты в использовании и интуитивно понятны.
  2. Создание игрового процесса унифицировано как в компании Alawar Stargaze, так и в студиях-партнерах, использующих наш движок.
  3. Игровой процесс всегда находится перед глазами и не возникает проблем с поиском мест, отвечающих за то или иное событие в игре.

Информация о многих игровых ресурсах (звуках, клипах, диалогах) хранится в xml-файлах, в Quest Editor указывается ID объекта, для его инициализации в игре. В следующей статье мы остановимся подробнее на описании Quest Editor и принципов работы с ним.

Следующим пунктом в процессе создания игры, который мы рассмотрим, является этап локализации. Для того чтобы сделать процесс перевода на другие языки простым и удобным, нами была разработана специальная тулза String Resource Editor. Строки в этом инструменте находятся в древовидной структуре. К каждой ветке структуры может быть прикреплено изображение (обычно скриншот), чтобы продемонстрировать в каком месте текст будет выводиться в игре. В программе поддерживается экспорт/импорт в Excel. Excel-файл может быть отправлен сразу в отдел локализаций.

Под катом скриншот рабочего окна и фрагмент файла-проекта SRE

Скриншот интерфейса SRE:

Фрагмент файла-проекта SRE:

<?xml version="1.0"?> <!--This file was generated by StringResEditor2 at 03.04.2009 17:52:19. DO NOT edit it by hand!--> <stringreseditdata2 projectname="NB2">   <languages>     <language name="russian" />     <language name="english" />   </languages>   <auxfields>     <auxfield name="name" export="True" show="True" />   </auxfields>   <export formatting="HierarchicalGameXML" codepage="1251" />   <group name="project" inherite_images="False">     <group name="dialogs" inherite_images="False">       <group name="location1" inherite_images="False">         <image language="russian" filename="l01.jpg" />         <group name="enter_in_cab" inherite_images="False">           <string id="1" alias="" link="">             <text language="russian" value="Дедушка?! Дедушка! Где же он? Больше всего это похоже на обыск. Но зачем?" />             <text language="english" value="Grandpa?  Grandpa!  Where is he? It looks like someone has searched his place.  But why?" />             <aux name="name" value="natalie" />           </string> … 

Фрагмент игрового XML файла:

<?xml version="1.0" encoding="UTF-8"?> <!--Wrapper strings table. This file was generated by StringResEditor2 at 18.03.2009 18:08:51. DO NOT edit it by hand!--> <texts>   <group name="All">     <phrase voice="" text="" />     <group name="Installer">       <phrase voice="" text="Odinstaluj" />       <phrase voice="" text="Gry Alawar" />       <group name="InstallTypesPage">         <phrase voice="" text="Rodzaj instalacji" />         <phrase voice="" text="Wybierz preferowany rodzaj instalacji." />       </group> … 

Стоит отметить, что String Resource Editor настолько универсален, что внедрен в качестве стандарта для всех студий, работающих с компанией Alawar.

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

  • экспорт прозрачности всех текстур в один файл, зажатый RLE компрессией. Это делается для ускорения определения попадания в текстуры с альфой;
  • конвертация изображений и текстур в указанный для них формат (png, jpg, argb4, dxt1, dxt3, dxt5);
  • преобразование xml-ек с описанием текстур, клипов, партиклей, звуков в двоичный формат;
  • экспорт необходимой локализации в игру;
  • упаковка всех файлов проекта в один, за исключением шрифтов и логотипа.

Когда РС-версия игры готова, её размещают на сайте Alawar, а также на сайтах партнеров, и она становится доступной для игроков. Но на этом работа над игрой не заканчивается, многие игры переводятся на десятки языков и размещаются на сайтах зарубежных партнеров. Кроме того, возможности движка позволяют оперативно портировать игру на Mac OS X, Android, iOS, PlayStation 3.

В своей следующей статье мы подробнее остановимся на тех инструментах, которые используются при создании игр на движке Alawar Engine. До встречи!

ссылка на оригинал статьи http://habrahabr.ru/company/alawar/blog/167743/


Комментарии

Один комментарий на ««Создание игр с помощью Alawar Engine. Часть первая»»

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *