С чего начать делать игры для Windows Store?

Сейчас платформа Windows Store только начинает свое развитие, и инструментов для разработки игр мало. Разработчики таких известных движков таких, как Unity и UE3 еще только анонсировали поддержку Modern UI Style App, а ведь только приложение этого типа могут попасть в Windows Store. Поэтому написание игры ограничивается использованием :

  1. Чистого C#/VB/C++/XAML или HTML5/JS.
  2. MonoGame — порт XNA на SharpDX.
  3. Различными движками на HTML5/JS, которые поддерживают экспорт в Modern UI Style App.

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

Для создание первой игры был выбран двигатель Construct 2 от SCIRRA. Каких-то сильных обоснований в его выборе изначально не было, но после месяца его использования приходит осознание, что выбор очень даже хороший.

В самом начале подкупало то, что Free версия мало чем функционально отличается от платных версий(от £79), тут скорее жесткие рамки размера самой игры (таблица сравнения версий).Удивило наличие достаточного количества гайдов на сайте разработчиков. Из-за чего поверхностно разобраться в двигателе можно буквально за вечер.

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

Так что же плохого в том что, не надо писать код? С точки зрения программиста почти все. Начиная от того, что у тебя слабое понимание, как оно вообще работает, до того, что кодом можно написать гораздо более логичные и оптимизированные конструкции, в отличии от того, что предлагает конструктор сценариев.

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

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

Не стоит и забывать о кроссплатформенности, но ее поддержка потребует усилий, т.к. платформы имеют различные требования и особенности. В частности для поддержки WIndows 8 нужно организовать настройки в правой панели, что уже предъявляет определенные знания платформы.

Что касается поддержки Windows 8 из коробки, то на практике все довольно скудно. Сейчас разработчики не плохо работают в этом направлении и с каждой новой версией пытаются постепенно добавить необходимый функционал.

Тут стоит обратить внимание на плагин Metro. Его разработчики уже добавили самый необходимый минимум для самых простых игр, например настройки звука, поддержку снапа и триала. Они тоже стоят на месте добавляя различные фишки в виде поддержки акселерометра. Плюс почти каждый релиз они подкрепляют статьей с обзором нововведений.

Интересным ходом разработчиков Construct 2 является попытка выйти на платформу Steam через новый сервис Steam Greenlight, проголосовать за движок можно тут.

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

У меня по Construct 2 накопился небольшой опыт, которым бы и хотелось поделиться в дальнейших материалах.