HTML5 / будущее игровой индустрии - Интервью с создателями фрейморка Construct

:

Интервью с создателями фрейморка Construct:

Том Галлен и Эшли Галлен — братья, основатели компании Scirra и создатели фреймворка Construct, с помощью которого создать игру может любой желающий, даже без знания программирования. Construct Classic распространяется бесплатно с открытыми исходниками и предназначен для создания DirectX-игр (есть SDK и поддержкой плагинов на C++). На его основе сделан условно-бесплатный Construct 2 для HTML5-игр, где в качестве движка используется Box2D.Описание см. в статье «Разработка 2D игр под Windows и HTML5 без программирования».

В основном, на вопросы отвечал Том Галлен, но он просил отметить, что ему помогал Эшли.

— Когда вы решили сделать конструктор игр на HTML5 и почему? Вы сами играете в мобильные игры? Как думаете, будущее игровой индустрии — на мобильной платформе?
— Вообще-то, Construct изначально спроектирован на экспорт в несколько форматов. Это значит, что к нему можно подключать другие модули для экспорта. Мы начали с HTML5, потому что это самая захватывающая новая технология, в которую мы абсолютно верим, и она будет самой популярной на рынке. За последние пару месяцев, когда Construct 2 дорабатывался, мы видели, что HTML5 проделал долгий путь. Наша главная цель прямо сейчас — сделать Construct 2 стандартом де-факто как игровой HTML5-редактор, не требущий программирования. Когда мы достигнем этой цели, то можем посмотреть и на другие модули экспорта, но мы думаем, что по мере развития HTML5 необходимость других форматов экспорта станет менее важной. Мы действительно считаем, что сейчас очевидно: именно HTML5 — это будущее игровой индустрии.

Насчёт того, чтобы поиграть в мобильные игры, то да, случается! Хотя на самом деле у нас сейчас не так много времени, очень заняты, потому что мы двое — единственные сотрудники Scirra на полный рабочий день. Мы работаем над HTML5-аркадой, которую недавно выпустили и которая набирает популярность, а между собой мы пробуем и играем во все игры, которые к нам закачивают. Моя любимая до сих пор была Project Blaze Zero. Нам очень приятно видеть разные виды игр, которые создаются с помощью нашего инструмента, и видеть, что он используется точно по назначению!

Мобильная платформа определённо имеет большое будущее для игровой индустрии. Впервые за долгое время мы видим, что люди всех возрастов играют в игры. Они чрезвычайно общедоступны, забавны и быстро захватывают. Монетизация игр HTML5 пока ещё представляется новой областью, но мы ожидаем в этой области появление многих новых возможностей, по мере улучшения технологии.

— Почему DirectX, а не OpenGL?
— Construct 2 на самом деле уже использует OpenGL вместо DirectX. DirectX работает только под Windows, поэтому мы перешли на OpenGL, чтобы в будущем было проще портировать Construct 2 на другие платформы. Впрочем, у нас пока нет таких планов — мы сначала хотим закончить Windows-версию!

Наши игры также используют WebGL (OpenGL в браузере) для супербыстрого рендеринга с аппаратным ускорением. Он в два-три раза быстрее, чем обычный 2D canvas.

— У вас есть планы портировать Construct 2 на другие платформы, кроме Windows?
— Construct 2 был спроектирован под Windows, потому что у Эшли здесь было больше всего опыта программирования, после работы с Construct Classic. Но мы получали положительные отклики пользователей об успешном опыте использования Construct 2 на виртуальных машинах на Mac и Linux (хотя мы официально не поддерживаем эти ОС).

По поводу других операционных систем у нас есть некоторые многообещающие планы, которые мы, возможно, начнём воплощать в жизнь в 2012 году. Боюсь, пока что я не могут разглашать подробности. :) Мы полностью осознаём, что людям это нужно для Construct 2, мы получаем много писем на этот счёт. Но сейчас пока цель — обеспечить максимально хорошую работу Construct 2 на ПК.

— Какой функционал вы планируете добавить?
— Мы только что выпустили эффекты частиц (particle effects), можете посмотреть некоторые демо здесь:
www.scirra.com/labs/particlesdemo/
www.scirra.com/labs/particlethruster/

Насколько нам известны, у нас первый непрограммистский игровой движок, который официально поддерживает эффекты частиц на HTML5. Мне не терпится увидеть, как его используют в реальных проектах, с его помощью можно создать действительно, по-настоящему красивые игры!

— Будет ли полностью поддерживаться drag'n'drop?
— Release 78 поддерживает в том числе официальное поведение drag'n'drop, которое должно всех удовлетворить.

— Будет ли русская локализация?
— Потому что мы сами англоязычные, а также из-за разных ограничений по времени проект создавался только на английском языке. Однако, когда он будет готов, мы планируем добавлять языковые XML-файлы, так что каждый желающий может перевести весь Construct 2 целиком на свой собственный язык! Мы с радостью сделаем это, но сначала нужно закончить работу над Construct 2, потому что добавление локализаций гораздо сложнее, чем кажется. Мы хорошо знаем, что российский рынок огромен и значительная часть трафика к нам идёт именно из России! Мы хотим ещё больше угодить российской аудитории, неанглоязычными странами часто пренебрегают в программном обеспечении, а мы не хотим угодить в эту простую ловушку. Ждите значительного прогресса здесь в этом году.

— Есть ли надежда на увеличение производительности HTML5 игр?
— Определённо! Каждый месяц HTML5 очень быстро улучшается. Например, только сегодня (на момент интервью — прим. пер.) Google выпустил Chrome для Android, это отличная новость. Я думаю, WebGL в этом году тоже, скорее всего, будет работать на большем количестве устройств. Конечно, остаётся ещё много пространства для улучшений, но HTML5 явно на пути к тому, чтобы догнать и даже превзойти другие технологии, как Flash.

—Насколько сложные игры можно построить с помощью Construct 2? На какие жанры ориентирован конструктор?
— Construct 2 подходит буквально для любого жанра 2D-игр! Мы ещё не встречали очень сложных игр, потому что Construct 2 ещё довольно нов, однако Construct 2 на многое способен, пока события аккуратные. :)

— Будете ли вы добавлять поведения из предыдущего Classic Construct в Construct 2? Речь идет о таких поведениях как Line of Sight, RTS, Turret, Bone Movement.
— Да, совершенно точно, мы надеемся, что Construct 2 полностью заменит Construct Classic. Однако, Classic делался 3-4 года командой из нескольких человек, а мы начали заново с нуля маленькой командой. Мы серьёзно намерены добавить все эти поведения, просто для нас это очень большой объём работы. Надеемся, что со временем мы всё сделаем!

— Будет ли поддержка социальной составляющей — Facebook, Twitter и др., а также поддержка InApp-покупок, используя хотя бы тот же PayPal?
— Мы хорошо знаем, что социальный функционал и InApp-покупок важны для профессиональных пользователей, чтобы монетизировать свои игры и помогать распространять их вирусным способом. Мы работаем над отличными проектами в этой области, которые должны появиться позже в этом году!

— Насколько в среднем размер исполняемого файла, полученного с помощью ваших инструментов, больше (если вообще больше) исполняемых файлов? полученных обычным кодированием для одной и той же игры? Ведутся ли соответствующие оптимизационные работы? На каких языках программирования написаны предлагаемые конструкторы игр?
— Редактор написан на C++, а игры кодируются в Javascript. Поскольку Construct 2 имеет широкий функционал, пустой проект после минификации выходит размером около 65 КБ, что меньше нынешней версии jQuery (92 КБ), так что это не должно быть проблемой. К тому же, поскольку мы внедрили многие функции, как автоматическое определение коллизий, это вполне оправдано. Construct 2 также имеет модульный дизайн, так что любые плагины или поведения, которые вы не используете, не включаются в скрипт, что помогает сэкономить место. Использование фреймворка обычно означает немного больший объём кода, но поскольку он позволяет создавать игры настолько проще и быстрее, в итоге так лучше. Мы не хотим делать его излишне раздутым, так что думаю, оставаться меньше, чем jQuery — хорошая цель.

— Работают ли для open source методологии разработки из Agile-семейства, если учитывать, что они ориентированы все-таки на общение «лицом к лицу»? (Наконец-то есть возможность спросить человека в живом опенсорс-проекте!)
— Мы такая маленькая команда, что на самом деле не можем комментировать разработку ПО в большом масштабе. В то же время мы действительно полагаем, что общение лицом к лицу важно для эффективной работы. Ещё одна хорошая вещь — связь по скайпу, чтобы каждый был в курсе дел. А вообще, нашу методологию разработки, вероятно, лучше всего описать как «очень много работать»!

— Нельзя ли сделать на выходе более читаемый js-код (до минификации) для ручного допиливания?
— Когда вы экспортируете проект в Construct 2, можно отказаться от минификации Closure Compiler. Однако, использование большого непрограммистского фреймворка вроде Construct 2 по определению обычно означает, что код на выходе не очень полезен для программистов. Это не то, с чем вам хотелось бы работать. Если вы программист, посмотрите на наш Javascript Plugin SDK, который позволяет добавить свой собственный код и интегрировать его с Construct 2 — такой способ работает гораздо лучше, чем пытаться редактировать код на выходе.

— Что вы думаете о русских программистах? :)
— Россия производит впечатление страны, которая очень интересуется технологиями и программированием, что здорово, это отражается в большом количестве посетителей, которые к нам приходят из России! Один из моих хороших друзей — русский, у него есть младший брат всего лишь примерно восьми лет, и когда я пришёл к ним в гости, он играл с Construct 2 и делал свои собственные игры, и задавал мне много вопросов о том, как работает система безопасности в Construct 2! Мы также очень впечатлены сервером nginx, который написал Игорь Сысоев. Русские программисты явно знают, что делают!