Construct 2

Привет, мир!

Сейчас речь пойдет о замечательном движке-конструкторе "Construct 2" от компании «Scirra», для создания HTML5-игр.

Scirra Logo

Здесь вы узнаете о всех его возможностях, плюсах и минусах, увидите некоторые примеры и уроки по созданию своей собственной HTML5-игры!

Вот мое краткое мнение о Construct 2:

«Мечтал делать игры с самого детства, со времен приставок NES и Sega. Думал, вот вырасту, стану крутым программистом и буду делать свои игры с блэкджэком и шлюхами! Время шло, менялись взгляды, приоритеты, мечты и профессии... Короче, крутым программистом стать не срослось:( Чтобы создать хорошую игру в одиночку — требуется уйма времени, сил и конечно же знаний. И вот для тех, кто имеет желание, но не имеет всего вышеперечисленного, стали появляться так называемые „конструкторы“ игр, призванные упростить работу профессионалам и дать возможность творить даже тем, кто вообще не знаком с программированием!
Я испробовал множество конструкторов игр, но большее предпочтение отдал именно Construct 2! Инструмента настолько простого в освоении и использовании вам просто больше не найти! Construct 2 предоставляет огромные возможности для создания 2D-игр любого жанра, при абсолютном минимуме усилий от разработчика! Всё, что от вас требуется — это логическое мышление и креативные идеи, а всё остальное Construct 2 сделает за вас!
Кроме того Construct 2 очень быстро развивается и если сегодня что-то в нем не хватает — то завтра это обязательно появится! Разработчики данного конструктора постоянно прислушиваются к пользователям и усердно работают над своим детищем! Construct 2, имеет кучу фанатов по всему миру и у вас всегда будет к кому обратиться за помощью!»

А теперь подробнее и по-порядку. Почему именно C2 (а куда же делся «1»?), чем он мне понравился больше других и что с ним вообще можно делать.

Как это ни странно, но конструктор разрабатывается практически лишь одним человеком - Ashley Gullen. Сначала Эшли разрабатывал различные дополнения к популярному на западе конструктору «Multimedia Fusion», а затем и вовсе подумал «А чем я хуже?» и принялся за разработку своего собственного конструктора, который так и назвал, просто «Конструктор» т.е. «Construct». Новый конструктор Эшли оказался очень удобным, максимально простым для освоения и при этом очень мощным, что и дало ему быстро обрести популярность. Так же у Эшли появились и помощники в виде дизайнера, создателя официального сайта и... еще кто-то. Поэтому образовалась некая компания, а назвали её «Scirra»

Однако, несмотря на всё,  "Construct" имел разные неприятные ограничения и баги. А игры созданные на нем, даже самые простые, были через чур требовательны к железу. Самым огромным ограничением конструктора было то, что игры созданные на нем могли компилировать только под ОС Windows, что в наше время уже считается очень серьезным упущением т.к. в моде сейчас мультиплатформенность.

Далее конструктор прожил не один год, обрел множество фанатов, а Эшли получив не мало опыта решил создать новый конструктор, с нуля. Из главных новшеств, конечно, была обещана мультиплатформенность! А так же Эшли обещал не повторять старых ошибок и разрабатывать новый конструктор очень аккуратно, тщательно отлаживая все баги перед тем как выпустить новую версию. Эшли взял всё лучшее со старого Конструктора и перенес это в новый, а далее принялся добавлять всё новые и новые «фишкии». Ну, как вы уже поняли, новый конструктор игр стал называться просто «Construct 2»,  а старый конструктор был переименован в «Construct Classic» и с потрохами был отдан на поддержку образовавшемуся у него сообществу.
Сокращенно мы их называем «C2» и «CC»... аббревиатуры, думаю, понятны:)
В основе движка СС лежит код языка «Python», а вот в основе С2 лежит JavaScript и HTML5... Лично я воспринимаю С2 как аналог Adobe Flash, только работающий на HTML5-технологии! То есть на Флэше можно делать игры, анимацию и прочее только в формате SWF (ну, или еще экспортировать кадры в видео) и чтобы этот формат проиграть — требуется так называемый flah-плеер. А вот на С2 мы получаем что-то вроде html-странички, которую откроет любая программа умеющая интерпретировать код HTML и JavaScript! Любой современный браузер, без каких-либо дополнений или плагинов! Но обо всем это позже...

Практически всё, что будет описано далее, можно относить не только к C2, но и к CC, т. к. по своей сути они практически идентичны. К СС не относится только то, что касается HTML.

 

1. Принцип разработки на «Construct 2».

Интерфейс Construct 2

Интерфейс Construct 2

Поскольку С2 является конструктором, то в нем нет языка программирования в привычном его понятии. Здесь нет возможности писать код, нет какого-то встроенного языка программирования типа «Action Script» или что-то в этом роде.  Нет, можно, зная JavaScript, написать свои плагины, свои фишки и вообще всё что угодно, но в самом редакторе, в интерфейсе конструктора вы не найдете ни единого намёка на на то чтобы можно было писать код! Всё работает на системе «событий» и различных «поведений» объектов! Что это такое?
Проще говоря, в С2 уже заложены множество вариантов событий и действий, которые можно комбинировать в бесконечное множество вариантов! Например, вот есть у нас «Объект №1» и «Объект №2». Если эти объекты столкнулись — это событие столкновения. И, например, мы хотим сделать чтобы при столкновении этих объектов произошел взрыв — а это уже действие. Вот таким образом всё и работает! Вы создаете объекты, задаете объектам различные свойства (размер, форма, цвет, и т.п.), задаете им поведения (можно сделать объект простой картинкой, можно сделать его поддающимся законам физики, можно сделать его управляемым персонажем и т.д. и т.п.), затем настраиваем эти поведения, а уже потом переходим в «Event Sheet», т. е. в редактор событий, где и «прописываем» все нужные нам варианты событий!

Диалог создания объектов в Construct 2

Диалог создания объектов в Construct 2. Объекты тоже бывают различного типа, которые в свою очередь имеют различные свойства и различные варианты действий.


Редактор событий в Construct 2

Типичный «код» событий в Construct 2. Слева мы видим события, а справа — действия.

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

 

2. Возможности Construct 2.

А какие игры вообще на нем возможно создать? Я тут так хвалю его простоту, но не окажется ли это его минусом? Вдруг на нем можно создать лишь жалкое подобие «Марио» и всё? Что ж... спешу вас уверить, что конструктор хоть и прост, но достаточно мощный! Вы можете в лёгкую создать копию «Angry Birds», а при желании и усердии, вы сможете создать даже какой-нибудь «Plants vs Zombies 3» или ремейк любой любимой 2d-игры, что выходили на старых консолях типа NES и Sega Genesis.
Почему я привел в пример лишь 2D-игры, лишь старых консолей? Ну, с 3D-пространством, увы, Construct 2 не работает, ибо он предназначен только для создания именно 2D-игр, но зато любого типа и жанра.  А консольные игры прошлых лет - это игры проверенные временем. И хоть в то время не было иного способа отобразить игру, кроме как в 2D-пространстве, игры были самые разные! От платформера до псевдо-3d шутера. Игры имели самую разную механику, самую разную логику... и практически любую из тех игр можно повторить на C2, только гораздо красивее.

Вот примеры некоторых игр созданных на Construct 2:

Скрытый текст Показать

А вы можете создать гораздо лучше и красивее! Вот, например, мои эксперименты: http://siriusx.ru/my-third-game.html
И вот http://siriusx.ru/medved-i-shlyuxa-game.html

А сейчас я разрабатываю платформер про лучника: http://siriusx.ru/games/superbow/
Обратите внимание, как хорошо работает физический движок!

Но чтобы создавать действительно красивые, интересные и хорошо работающие игры — необходимо быть очень хорошо творчески подкованным человеком. И хоть в данном случае не требуется знание языка программирования, знания математики вам пригодятся как нельзя кстати! Передаю большой привет идиотам-школьникам, которые любят орать о том, что математика вряд ли им пригодится в жизни. Видели 3D-примерчик чуть выше? Без знания математики вы ни за что такое не сотворите! Ну, зато другие примеры представленные мною сможет создать даже ребенок.

А теперь перейдем к простому перечню возможностей C2:
— Создание игр без программирования;
— Продвинутый физический движок;
— Различные видео-эффекты и их комбинации;
— Удобный и мощный визуальный редактор уровней;
— Покадровая анимация спрайтов (изображений) и возможность импорта анимации созданной в программе Spriter;
— Интеграция игр в различные социальные сети (а при имении специального плагина, даже есть возможность интеграция с ВКонтакте!)
— Экспорт игр на различные платформы, в том числе на Android и iOS.
— Возможность расширения конструктора за счет сторонних дополнений в виде плагинов и поведений! То есть, по-сути, если ты хороший JavaScript-программист, то данный конструктор для тебя вообще не имеет ограничений.
— И еще много-много всего!..

 

3. Почему именно Construct 2? Неужели нет других?

Есть! Есть, и очень много... Вот, к примеру, небольшой список актуальных конструкторов игр на сегодняшний день: http://gcup.ru/load/konstruktory_igr/2

Они все очень разные и для разных задач и типов игр. Но наиболее близкий по идеологии к C2 — это Game Maker. На данный момент люди делятся на 2 типа: Те кто обожают GM и те, кто его ненавидят. Я отношусь ко второму типу. На вкус и цвет товарищей хоть и нет, однако коротко я всё же опишу чем GM хуже C2:
У GM ужасный интерфейс и критически неудобный редактор уровней. В C2 редактор куда более гибкий, мощный и вообще близок к графическому редактору со всеми вытекающими плюсами, а вот у GM этот редактор какой-то деревянный... это сложно объяснить, но, в общем, в нем нельзя просто так взять и переместить любой объект в любую точку, неудобно масштабировать и т. д. и т. п., могу перечислять до бесконечности. Короче, визуальный редактор у GM полное говно.
Редактор событий в принципе схож с C2, однако же в C2 как-то всё более очевидно и понятно. Лично я разобрался за полчаса, а вот к GM у меня остались вопросы до сих пор.
И, наконец главная, самая спорная особенность GM — это наличие встроенного языка программирования «GML»! Вот отсюда и вытекают предыдущие минусы, но появляются и плюсы. Весь прикол в том, что в принципе, зная GML — можно делать всё, что может и C2 и, наверное, даже больше... собственно к этому всё и ведет! Общаясь на форуме с фанатами GM и выражая свои недовольства, я всегда слышал универсальный ответ: «Ты просто не знаешь GML! Мне пофиг на редактор, я всё делаю КОДОМ!». Ну, или типа того. То есть, в итоге получается, что GM — это не конструктор игр, а эдакая среда разработки для какого-то левого ЯП под названием GML! Но, постойте-ка! На какой черт мне изучать какой-то левый ЯП, когда уже существуют языки куда более мощнее и проверенные временем?! Не лучше ли потратить время на изучение того же JavaScript?! Да по-моему даже Adobe Flash и его встроенный язык изучить куда более полезней, чем этот деревянный Game Maker.

 

Вот в чем самая прелесть Construct 2 - ЕГО НЕ НАДО УЧИТЬ! Это и отличает его от других инструментов разработки! С2 можно воспринимать уже как игру, только с большими возможностями! Разработка игр на C2 — это в первую очередь развлечение, а уже потом изучение чего-то сложного.

Разумеется, это совсем не значит, что вам достаточно лишь придумать игру, а программа всё сделает за вас! Вот, возьмем в пример любой графический редактор, допустим, «Photoshop». Что мы в нем имеем? Мы имеем кучу вариантов кистей, красок, эффектов, всевозможных параметров для каждого слоя изображения и кучу-кучу-кучу всего. Крутые супер-мега художники любят поливать грязью такие продвинутые редакторы, говоря что-то вроде: «Ха-а! Все эти эффекты, кисти и прочее только для лохов, которые не умеют рисовать! Я и в Paint'е смогу повторить любое полотно Леонардо!»... в принципе да, есть такие люди и в принципе некоторые из них говорят правду. Однако, если бы они не относились к своим талантам столь тщеславно, а всё таки использовали все прелести Фотошопа — то свои шедевры бы они создавали в миллиарды раз быстрее... Но, как бы Фотошоп не упрощал работу художникам и дизайнерам — он не может делать всю работу за них! Фотошоп всё таки надо немного по-изучать. Изучить принципы работы, узнать какие вообще есть настройки, какие эффекты, узнать и потренироваться всё это комбинировать так, чтобы в итоге получилось то, что и было задумано! Ведь знать как брать в руки молоток и умение забивать им гвозди, не означает уметь строить хорошие дома. Тоже самое и Construct 2.

Вы ведь когда начинаете играть в какой-нибудь X-COM или GTA, проходите базовый туториал? Нет?! Ну, как же нет... а откуда вы знаете какие в игре есть возможности и всё такое, если вы еще ни разу в нее не играли? Какие есть удары, приёмы? Ах... да... я понял... метод тыка! Да, можно и так начинать любую игру. А можно и пройти базовое обучение для того чтобы сразу знать, что можно делать в этой игре, без проб и ошибок. Точно так же и в Construct 2... вы можете легко его освоить методом тыка (как впрочем и тот же Фотошоп), а можете и пройти обучение... а потом сразу же начать развлечение! А если у вас хорошее логическое мышление и креативный склад ума — то на своем развлечении вы сможете даже неплохо заработать! Да-да, игры на созданные на C2 можно  продавать!

Всему можно научиться, а научиться пользоваться C2 гораздо быстрее и проще, чем любым другим инструментом для создания игр!

 

4. Минусы Construct 2.

Как бы там ни было, но минусов у программы тоже хватает. В принципе, как и у любой другой. Чтобы не обманывать своих читателей и не перехвалить конструктор, вот список неприятностей, которые я заметил:
— Физика жутко тормозит на мобильных девайсах. Если делаете игру для мобильных платформ — лучше не используйте инструменты физического движка. Однако, на ПК всё работает хорошо, если браузер поддерживает технологию WebGL.
— Конструктор не имеет собственных инструментов экспорта (компилирования) своих игр на различные платформы. Поэтому, для экспорта в EXE используется Node-WebKit, для экспорта на Android и iOS используется CocoonJS, и т. д. Без всего этого мы имеем возможность только создать html-страничку с игрой. Так что мультиплатформерность всё таки условная. Но, следует помнить, что мы создаем HTML5-игру, а язык HTML и расширяющие его производные — это интерпретируемые языки, а универсальным интерпретатором является Браузер. Ну, а браузера чисто для html-игр еще не создали:) Так что... возможно, установка flash-плеера ПОКА еще даже более удобное решение, чем ожидание роста браузера. Тот же IE только-только научился понимать WebGL... но когда все придут к единой стандартизации — то HTML5-игры будут таким же нормальным явлением как обычные. Сейчас можно сказать, что только браузер Chrome удобен для этих целей, ибо он поддерживает все последние web-технологии, у него даже есть собственный магазин игр и т. д. и т. п.
— Всё таки с созданием более-менее серьезного проекта, со всеми плюшками и ништяками, могут возникать неожиданные проблемы... Если ваш проект слишком амбициозен, подумайте, может вам стоит взяться за изучение какого-нибудь "Unity 3D" или более мощного игрового движка? Это не то, чтобы минус C2, это скорее пункт предупреждения, чтобы вы немного спустились на Землю. C2 очень хорош, но не всесилен, а так же имеет все ограничения HTML5-технологии. Скажем так, "Rayman Origins" и "Rayman Legends" вы на нем не создадите... игра хоть и проста, но уж слишком красива и уж слишком в ней много костной анимации и прочих плюшек, которые не потянет C2 (даже если написать плагин, думаю, будут тормоза). Пока нет. Но, опять же, в принципе возможно создать что-то вроде "Mark of the Ninja" — эта игра очень красива, но технически реализована гораздо проще Рэймэнов. Я не заметил в ней ничего, что я бы не смог повторить на Construct 2, слегка поднапрягшись.
— Бесплатная версия конструктора очень ограниченная. Хотя, всех бесплатных возможностей хватает с лихвой для того чтобы понять, подходит вам данный инструмент или лучше поискать что-то другое... но есть ограничения, которые не смогут дать понять всех возможностей простоты работы с C2. Например, в бесплатной версии нельзя создавать «Семьи» :))) это возможность группировать объекты и применять действия ко всем объектам группы одновременно. Так же, когда я работал в бесплатной версии — мне было жутко интересно, как же в итоге он экспортирует в другие форматы, кроме как в HTML. Как я могу понять, насколько это мне подходит, если я не могу попробовать? Ну, с другой стороны, всякие «Game Maker» вообще не дают ничего пробовать бесплатно=) Так что этот пункт можно назвать просто придиркой... потому, что если сильно не раскатывать губу, то придраться мне больше не к чему!

 

5. Сообщество Construct 2, уроки, примеры, исходники.

Если вас заинтересовал данный конструктор — приглашаю вас в наше сообщество!

c2community.ru

http://c2community.ru/
А так же есть группа ВКонтакте: https://vk.com/c2community

Там, на форуме, в разделе уроки, вы сможете узнать «Основы программы Construct 2», узнать, как работают «Поведения» объектов и даже сможете уже начать создавать свой первый платформер! Там же я написал статью (урок) о том, как всё это экспортировать на систему Android... правда последнее доступно только для тех, кто приобрел лицензию.

В общем, если вас хоть как-то заинтересовал мой скромный обзор, если вас заинтересовал данный инструмент для создания игр — заходите на http://c2community.ru, регистрируйтесь и давайте творить вместе!

About siriusx

Высший Разум
Tagged , , , , , , , , , , , . Bookmark the permalink.

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

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

Ты должен подтвердить экзистенцию своего интеллекта, дабы оставить след во Вселенной. Для этого твой Разум должен подвергнуться сложнейшему испытанию, решив задачу умопомрачительной сложности: * Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.