Как стать автором
Обновить

Разработка 2D игр на Windows, Mac OS, Linux и Android без программирования. Часть 2

Время на прочтение9 мин
Количество просмотров42K
image

Привет Хабравчане!

Сегодня я хочу рассказать вам о том, как можно сделать игру без навыков программирования. И да, это не просто красивое и заманивающее название, в созданную игру можно будет играть на Windows, Mac OS, Linux, Android и может быть даже на… iOS? Но об этом позже. Перед началом чтения статьи, я хочу дать вам мое понимание того, что создание игры без навыков программирования – это действительно не круто. Но знаете что еще больше не круто? Тот факт, что вы, владея языками программирования, сутками работаете над кодом, путая ваше рабочее место с постелью, нанимаете дизайнеров, договариваетесь со знакомыми музыкантами, платите рекламщикам, выпускаете свой продукт, а он не окупается! Ну, то есть игру, вашу, в любом случае будут скачивать, и какой-то доход будет капать. Но, будете ли вы довольны тем, какой в итоге получилась ваша игра, и как она продается? К чему я это все говорю? Если у вас в голове живет яркая идея, и вы давно хотите попробовать себя в создании игр, но единственный ваш тормозной элемент, это незнание компьютерных языков, смело пробуйте себя в этом деле. Если же вы владеете языками программирования, и может быть наплодили уже пару не плохих проектов, которые приносят прибыль, данная статья так же будет вам полезна. Я не советую никому здесь бросать все свои знания программирования, и начинать лепить игры в программе, о которой пойдет речь. Мое мнение на этот счет, достаточно простое. С помощью данного приложения, вы сможете создать презентацию вашей игры, затратив намного меньше времени, или как минимум ролик геймплея, который можно будет бросить на YouTube, создать шумиху, получить обратную связь, и работать над игрой, грея себя приятной мыслью, что ваша идея работает, люди ее оценили и ждут. Это не значит, что создание игр, в этой программе, ограничится лишь демо-версиями. Если вы действительно вложитесь душой в это дело, то спокойно сможете создавать полноценные проекты.


image

Что это за зверь такой?



Речь в этой статье пойдет об игровом конструкторе, под названием Construct 2. Если честно, когда я слышу словосочетание “игровой конструктор”, мне становится не по себе. Хочется перестать читать статьи, в которых присутствует такая фраза. Честно. Потому что ни одна действительно популярная игра не была создана с помощью “такого” игрового конструктора. Лично я, таких примеров не знаю. В нашей богатой и огромной стране, тем более. Мне на ум приходит компания Zeptolab, очень профессионально и качественно, вложившаяся в игру, которая приобрела огромную популярность благодаря своей игровой механике, графике и звуковой составляющей, написанная без всяких конструкторов. Это не реклама. Я не работаю в Zeptolab. Просто приятно осознавать тот факт, что качественные мобильные игры делаются в нашей стране и нашими соотечественниками. Кто же тогда использует игровые конструкторы? Творческие люди и конечно школьники. Молодые ребята, осознавшие, что для создания какой-либо игрушки, не нужно напрягаться, а можно посмотреть пошаговый урок в интернете, по созданию платформера и сварганить своего “Марио” за один день. Я кстати, не скрываю того факта, что ознакомился с Construct 2, будучи студентом 2 курса. Идея создания игр без программирования, это сладостная мечта, которая манит многих. Правда, чуть позже, выясняется, что помимо создания игровой механики без применения программирования, нужно как минимум, уделять большее внимание развлекательному стилю и контенту игры, графическому оформлению и звуковому сопровождению. И делать все это не по принципу “Звук шепелявит, но зато картинка хорошая, пофиг, прорвемся”. А подходить к своему проекту ответственно, доводя до блеска каждую деталь. Как бы парадоксально это не звучало, в целом, я считаю, что это правильное развитие в создании игр. Такие конструкторы, помогают набить шишек, и показать на наглядном примере, новичкам и людям с горящими глазами, что игрострой, даже без программирования, это очень трудоемкий и больше творческий процесс. Поэтому, я не призываю вас, по окончанию прочтения статьи, мгновенно опробовать программу в деле, если у вас нет какой-либо идеи. С другой стороны, вы можете получить бесценный опыт, который позволит вам реализовать ваши фантазии в проект, который захватит весь мир своей потрясающей креативностью и геймплеем, или даст вам возможность написать отличную статью на Хабре.

Просто как 2 + 2



В 2010 году, когда я только хотел прикоснуться к созданию игр, я искал способ, как сделать это без программирования. Си, ява? Нет уж, спасибо. Хочу создавать, а не программировать! Как бы глупо не звучало это выражение, но оно всплывает у людей не знакомых с языками программирования и желающих создать игру века, достаточно частенько. Мой выбор пал на Construct Classic. В двух словах. Программа была бесплатной, позволяла создавать двухмерные игры DirectX 9, с поддержкой физического движка и предоставляла возможность продавать свои творения на основе GPL лицензии. Вау, ну посмотрим. Подумал тогда я. Уроков на тот момент по конструктору было очень даже предостаточно. Какого было мое удивление, когда практически на момент моего изучения программы, вышла вторая версия конструктора, которая очень не слабо, расширила свои возможности, но к сожалению, хотя скорее к счастью для авторов, стала платной.

Создание игр в Construct 2, происходит путем описания событий и действий. На этом урок закончен. Теперь вы можете скачать программу, и пробовать создавать игры. На самом деле — это чистая правда.

Область программы делится на два окна. Графическое окно и окно описания действий геймплея, то есть основного кода (механики игры). Для наглядности, вот вам пример написания описания действий и событий. Мы хотим сделать игру, в которой наш персонаж, прыгая на врагов, уничтожал бы их, и собирал бы за это монетки. Когда количество монеток достигало бы 1000, на экране бы появлялась картинка “Новое достижение 1000 золотых”. Следовательно, в Construct 2 это выглядит так:

— Когда персонаж сверху прыгает на врага – враг уничтожается
— Когда враг уничтожается – в месте, в котором уничтожился враг, создается объект монетка
— Когда персонаж прикоснется к объекту монетка – объект монетка уничтожается, а в переменную “Очки уровня” добавляется число 100
— Если переменная “Очки уровня” равняется 1000 – Картинка с надписью “Новое достижение 1000 золотых“ становится видимой

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

Давайте возьмем в качестве примера описания действий в Construct 2, игру Doodle Jump.

image

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

— Когда персонаж приземляется на объект платформа – то к переменной “Очки игры” добавляется число 100, на оси X (по любым координатам) и на оси Y (на координатах от -100 до 20) появляется объект платформа, персонаж симулирует поведение прыжка, издается звук прыжка
— Когда персонаж находится вне экрана,
— Если платформа вне зоны активного экрана – платформа удаляется

Мы только что написали Doodle Jump. Не правда ли просто? Конечно, нет. Все чуть сложнее. А если вы хотите чтобы это работало правильно, нужно тестировать и убивать на это немало часов. Изменять свойства силы прыжка, скорость передвижения влево, вправо и т.д. Но в целом, это все, что вам нужно знать, чтобы начать создавать игру.

Я не просто так выбрал в качестве примера Doodle Jump. Не потому что она достаточно просто расписывается в Construct 2 (хоть это вовсе не так). Повторяю, создание игр, это сложно и долго. Без программирования, вы можете столкнуться с тем, что не сможете реализовать то, что задумали, и вам придется идти на уступки или жертвы, задействования излишней графической составляющей вместо кода или путем подключения внешних модулей или скриптов. Никто не запрещает вам программировать, подключаете плагин JavaScript и изменяйте код вручную, как вам угодно. И это, если честно, потрясающе. Потому возможности создания игр, таким образом только расширяются. Но благо, конструктор уже разросся, став достаточно мощным, дружелюбным и простым в использовании. Многие вещи представлены в готовом варианте, вам достаточно лишь применить их и изменять свойства таким образом, чтобы подстроить под вашу задумку. Вернемся к Doodle Jump. На днях я сделал видеоролик пародию на игру “Doodle Jump”. Я назвал ее “А чтобы было бы, если бы Doodle Jump, был экшеном”. Для создания данной пародии, я использовал Construct 2.



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

image

Выглядит все это достаточно запутанно и пугающе. Согласен. Но, во-первых это не ваша система действий, а во-вторых стоит написать 2-3 события, и вы поймете насколько все просто. Описываю систему событий механики игры с комментариями, опираясь на выше приведенный рисунок:

25. Клавиатура, когда нажата правая стрелка, переменная оружия равна единице, постоянно – оружие не переворачивается
*Когда главный персонаж пародии, прыгает вправо, оружие не поворачивается в другую сторону

26. Клавиатура, когда нажата левая стрелка, переменная оружия равна единице, постоянно – оружие переворачивается
*Когда главный персонаж пародии, прыгает влево, оружие поворачивается в другую сторону

27. Когда я два раза кликую мышкой по объекту ClounHero – Добавляется 112, 177 и 54 очка в переменную “Score”. Влючается поведение “Пуля”. Объект двигается с заданной в опциях скоростью на 90 градусов. Объект пистолет уничтожается. Через 2 секунды объект ClounHero уничтожается.
*Когда главный персонаж стреляет по врагу, враг падает вниз а затем уничтожается через 2 секунды. В этот момент главный персонаж получает очки опыта.

Всего у меня получилось 98 событий. Этого хватило, чтобы создать пародию на игру.

image

Да здравствует HTML5



Я думаю, многие умные люди, уже догадались, откуда же берется такая бешеная кроссплатформенность игр в программе. Windows, Windows Phone, Mac OS, Linux, Android, iOS, Chrome Store, Amazon AppStore, Blackberry и интернет страницы. Это неполный список того, куда вы сможете выложить вашу игру. Все это достигается благодаря тому факту, что игры будут созданы на HTML5. К примеру, для генерации на PC и Mac, используется Node-Webkit. Создается приложение, которое и будет вашей игрой. На Android, игры преобразовываются не напрямую в apk файл, а в разбросанные файлы HTML5. С помощью бесплатного iNTEL SDK вы импортируйте файлы из программы, тестируете игру на вашем устройстве, и создаете готовый проект для публикации в Google Play. С момента выхода в свет первой версии Construct 2, программа потерпела просто громадное количество изменений, путем добавления поддержки новых платформ и самое главное, пожалуй, оптимизации игр. Нынешние устройства с 2, 4, 8? ядрами на борту, вполне потянут вашу игрушку.
Construct 2 – это действительно мощный инструмент для создания игр. Если у вас есть возможность писать на JavaScript, с помощью плагина в Construct 2, у вас открываются неограниченные возможности по созданию игр. Не забуду напомнить и о том, что Construct 2 прекрасно дружит с физикой, используя движок Box2d.

Примеры игр созданных на Construct 2, которые удалось найти:





Пришло время рассказать вам не много личного опыта в разработке на Construct 2. Как-то мне в голову пришла идея сделать простую, но популярную игру наподобие Flappy Bird. С самого начала я сделал не правильный выбор, начав делать игру один. Маленький совет. Как бы вы не хотели начать лепить игру в одиночку, насколько бы вы не входили в кураж создания игры, как бы классно у вас не получалось, подключайте других людей. Потратьте время и деньги на то, чтобы построить классную команду, с которой вы будете работать над проектом. Возможно то, что у вас будет получаться, далеко уйдет от первоначального варианта. Но все это только к лучшему. Когда вы будете работать с кем-то, а не только с собою, вы не сможете взять и бросить свой проект. Одна из главных вещей, которая достигается в команде, это избавление от “слепоты”. Часто многие начинающие разработчики просто не видят, насколько их игра не красива, они лишь видят классную идею и смотрят на игру по своему, забывая о мелочах, что позже сказывается на всей игре. Данные рекомендации применимы только к проектам, которые вы хотите продвигать и продавать. Если вы делаете игру ради развлечения, вы спокойно сможете сделать игру в одиночку, просто затратив на это больше времени. Возвращаясь к моей игре, я потратил на нее полгода. Вначале игра была черно-белой, и мне казалось, что так вполне пойдет. В Flappy Bird спрайты выкручены из Марио и ничего, народ обожает, главная ведь механика. Но заменив фон, затем шрифт, персонажа, врагов я ударился в дизайн и игра начала прорастать во что-то большее. К сожалению, проект был заброшен, но публика, принимала его положительно, даже в том состоянии, в котором он находился. Главный минус игры, в ней практически отсутствовал звук. Ваш покорный слуга сейчас залезет в Construct 2, и с удовольствием попытается найти свою игру, чтобы показать вам, что же у меня получилось.

Игра доступна по ссылке – monolithgroup.ru/SR/index.html

Надеюсь, работодатель, не сильно обидеться, зная о том, куда я выложил игру.

Отключите звук, как хотите. Он отвратителен.
Цель игры, не попасть под злобные зеленые кубики
Управление стрелками влево, вправо, вверх.
Собрав определенное количество монеток, можно прикупить новые возможности в магазине, через главное меню.
Буду честным, не помню, что работает, а что нет – так что наслаждайтесь.
*Имеется возможность играть на планшете или смартфоне, для этого после нажатия кнопки play, нажмите на надпись Save Rocky.

Игрострой у меня не пошел, но я находил для Construct, различные применения.



К примеру, эта пародия на Angry Birds, создана еще в первой версии программы Construct Classic.
Этот странный и глуповатый ролик, набрал почти полтора миллиона просмотров на YouTube. После моих исследований, как же такое возможно, оказалось, что видеоролик потихоньку, в один прекрасный день, внезапно появился на главной странице. Я скажу даже больше, его до сих пор смотрят в день более тысячи человек. Angry Birds действительно любят в сети.

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

Плюсы:
— Легкость в освоении и кроссплатформенность
— Физический движок Box2D
— Поддержка различных вкусных эффектов HTML5
(к сожалению не ко всем проектам)

Минусы:
— Учиться разбираться в программе все равно нужно, хотя бы денек другой
— Программа далеко не бесплатна, лицензия стоит денег, при том не игровых
Подробнее на официальном сайте

В завершении, я хочу поблагодарить вас, моих читателей, добравшихся до конца статьи. Хочу пожелать вам творческих успехов, отличных идей и прибыльных проектов. В названии поста, говорится о том, что это вторая часть. Так и есть. Первая была написано мною в 2012 году. Хочу показать вам скриншот комментариев, в котором показано отличное применение программы, о которой шла речь в статье.

image
Теги:
Хабы:
+6
Комментарии10

Публикации

Истории

Работа

Ближайшие события