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

в 6:08, , рубрики: game development, game engine, Gamedev, Блог компании «Alawar Entertainment», метки: , ,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Скриншот интерфейса SRE:
Создание игр с помощью Alawar Engine. Часть первая

Фрагмент файла-проекта 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. До встречи!

Автор: EgorGutorov

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js