В этой статье хотим рассказать про то, как выбирали движок для проекта и о ClickTeam Fusion 2.5, на котором в итоге остановили свой выбор. ClickTeam Fusion 2.5 на первый взгляд не пользуется большой популярностью, по крайней мере мы не встречаем большое кол-во информации о нем в сети. А жаль. Ведь сам движок оказался весьма удобным для разработки небольших 2d проектов.
За подробностями добро пожаловать под кат.
Для начала, расскажем кратко о нашем проекте, и о его особенностях, которые оказали влияние на выбираемый движок.
What the project?
Мы давно обсуждали идею головоломки в стилистике американского футбола, но до серьезной работы как-то не доходили. Когда же стартовал GamesJam Kanobu 2017, мы решили, что это наш шанс.
Fantasy Beast Football – это головоломка, в которой гоблины и орки решили состязаться со светлыми силами в игре, очень похожей на американский футбол. Но в отличие от классического американского футбола, здесь мало обойти юнитов противника и донести мяч до тачдауна. Нужно еще выжить на поле, по которому расставлены разнообразные ловушки.
В игре есть два типа игроков и более десятка разнообразных ловушек. У каждого типа игроков и каждой ловушки есть своя логика работы, причем ловушки могут взаимодействовать друг с другом, создавая комбинации, что игрок, может использовать в свою пользу.
На каждом уровне пользователь видит на поле расстановку игроков другой команды и ловушки. Его задача – проанализировать, как будут взаимодействовать ловушки и игроки, и, исходя из этого, правильно расставить своих юнитов на поле.
Закончив расстановку, игрок нажимает кнопку «Start» и наблюдает, что же происходит дальше.
Условие победы – один из юнитов игрока должен донести мяч до тачдауна, избежав все опасности и не столкнувшись с юнитом противника.
Подробнее почитать о проекте, либо поиграть в демо, можно на сайте GamesJam Kanobu либо в нашей группе ВК.
Критерии, влияющие на выбор движка.
К выбору движка мы подошли ответственно. Выделили для себя следующие критерии, которые были важны для нас:
- Стоимость движка. Какой-то существенный бюджет на разработку отсутствовал, поэтому этот пункт играл для нас огромную роль.
- Низкий порог вхождения. Джем Канобу длится один месяц, а это значит, что мы должны были как можно быстрее приступить к разработке, а не изучать тонны документации по движку или новый язык программирования.
- Быстрота разработки. За месяц джема мы должны успеть как можно больше, а значит мы не можем позволить себе долгую разработку.
- Размер приложения на выходе. Мы поставили себе жесткие рамки, что приложение после установки не должно занимать более 50 мб. на устройстве.
- Разработка под Android. Наша целевая платформа – Android, поэтому нам важно, чтобы для создания билда не приходилось «плясать с бубном ночи напролет»
- Наличие хороших и подробных уроков по работе с движком.
Как выбирали движок
«Вооружившись» списком требований, пошли на Slant.
Просто шли по списку и искали подробную информацию по каждому движку, сверяя инфу с нашими критериями.
Забавно, что во время изучения списка с сайта, мы, сперва, не обратили внимание на Clickteam Fusion 2.5, хотя он там представлен.
В итоге, после изучения движков на портале по критериям, наш список сузился до следующего:
- GameMaker Studio
- Cocos2d-x
- Construct 2
- ClickTeam Fusion 2.5
Сначала рассматривали GameMaker Studio. Показался интересным, но, в итоге, оттолкнула его цена (399.99 $).
Далее стали рассматривать Cocos2d-x.Программист команды использует этот движок в основной работе, но он категорически отказывался разрабатывать на нем. Причина в том, что все надо писать кодом, что замедляет разработку. И у него постоянно возникают проблемы при сборке под Android с этого движка.
Затем перешли к рассмотрению Construct2. Движок вроде приглянулся, правда немного смущала цена. 5 799 руб. за персональную лицензию с ограниченным коммерческим использованием и 18 999 руб. за бизнес лицензию.
Обсуждая за обедом на основной работе Construct 2 с коллегами, услышали про Clickteam Fusion 2.5. Так и началось наше знакомство с ним.
Что привлекло в Clickteam Fusion 2.5
- В первую очередь, в движке привлек низкий порог вхождения. Достаточно посмотреть 7-ми минутный урок по созданию Арканоида на Clickteam, чтобы начать разработку своей игры. В конструкторе очень просто ориентироваться, ты не ищешь часами нужный тебе функционал, не скачешь по форумам с нерешенными вопросами. Создатели достигли такого эффекта, что ты ощущаешь себя опытным разработчиком ClickTeam, уже с первых минут все кажется знакомым и понятным.
- Также, показалась заманчивой цена движка, которая варьируется в зависимости от платформы разработки. Основной модуль обошелся нам в 1 299 руб. К основному модулю мы приобрели SDK для разработки на Android. Он обошелся нам еще в 1 299 руб. В финале, нам необходимо будет докупить версию для разработчиков, если мы хотим внедрять платежи, которая стоит 5 174 руб.
- То есть, полностью движок нам обошелся в 7 772 руб. (против 18 999руб. за Construct 2 и 399$ за GameMakerStudio).
- Еще одна особенность, которая сразу же привлекла наше внимание, при разработке на Clickteam Fusion 2.5 не используется язык программирования. Все строится на условиях. Ты задаешь условие, затем действие. Мы еще расскажем об этом чуть ниже.
- Плюс, были найдены очень хорошие и подробные уроки
Этого было достаточно, чтобы мы решили попробовать работать с ClickTeam.
Работа с ClickTeam Fusion 2.5
Проблем с началом разработки не возникло, т.к. все интуитивно понятно. При первом запуске движка бросился в глаза его интерфейс «Привет 90-е!»
Но это впечатление быстро оставило нас, когда мы поняли его простоту и интуитивность.
На сборку первого прототипа у нас ушло 3-4 часа, что показалось нам весьма неплохим результатом. Тут же, после первой сборки прототипа, мы открыли еще один плюс в работе с движком. Сборка билда проходит легко и быстро. Так что наши первые впечатления от работы с движком были весьма положительными.
Далее, покажем на примере, как задаются условия взаимодействия объектов в ClickTeam Fusion 2.5. Начнем немного издалека. В нашей игре есть тип игрока Раннер. Его задача добежать с мячом до тачдауна. У Раннера есть два состояния: бег с мячом и бег без мяча. Причем, двигаться Раннер может только вперед. У ClickTeam есть интересная особенность, которые мы использовали. Мы можем задать для каждого направления объекта свою картинку / анимацию. Т.к. наш Раннер всегда бежит вперед, то было решено не использовать внутренние переменные и прочее, а воспользоваться следующей логикой. Мы загрузили в конструктор две картинки Раннера: с мячом и без. А дальше решили, что по направлению вверх будет лежать картинка с мячом, а если Раннер смотрит вправо, то будет отображаться картинка без мяча. Таким образом, переключая в конструкторе направления, мы получаем два разных состояния Раннера.
Раннер с мячом
Изменили направление. Раннер без мяча.
Теперь посмотрим, как задаются условия и взаимодействия объектов. Процесс весьма простой. В нашей игре, если Раннер столкнется с какой-нибудь ловушкой, то оба исчезают с игрового поля, а игрок видит взрыв. Рассмотрим на примере столкновения Раннера с ловушкой Валун, как выставляется логика взаимодействия объектов на поле:
В ClickTeam Fusion 2.5 рабочая область выглядит как таблица, где в строках мы задаем условия, а в столбцах отмечаем действия, которые происходят в этих условиях. В скриншоте ниже описаны следующие условия.
- Строка 155 задает условие: Если происходит столкновение Раннера с Валуном и Раннер смотрит вверх (то есть держит мяч).
- Строка 156 задает условие: Если происходит столкновение Раннера противника с Валуном и Раннер противника смотрите вверх.
- Строка 157: Если происходит столкновение Раннера с Валуном в любом состоянии Раннера (с мячом или без)
- Строка 158: Тоже самое описывается для Раннера противника
Мы задали условия, теперь задаем действия, которые происходят при срабатывании условий.
- Строка 155: Если Раннер с мячом столкнулся с Валуном, то мы создаем объект Мяч по нулевым координатам относительно этого Раннера
- Строка 156: Тоже самое повторяем для Раннера противника
- Строка 157: Если происходит столкновение Раннера с Валуном, то мы создаем объект Взрыв, удаляем Раннера и удаляем Валун.
- Строка 158: Тоже самое повторяем для Раннера противника
В принципе, это всё. За пять минут задается логика взаимодействия двух объектов на поле при разных условиях. И это главное преимущество ClickTeam.
А теперь ложка дегтя
Преимущество ClickTeam Fusion 2.5 может стать его же недостатком. Потому как придется повторять процедуру, описанную выше, для всех объектов без исключения. Движок недостаточно гибок, поэтому зачастую приходится повторять одни и те же действия раз за разом.
Вы не можете сесть и прописать свою логику для объекта на C++, например. В ClickTeam Fusion зачастую будет получаться «простыня» из условий, что выглядит не очень элегантно. Как на скриншоте ниже:
Поэтому важно понимать, что представляет из себя Ваш проект. Если вы планируете делать Action-RPG с открытом миром и фотореалистичной графикой, то этот движок точно не для вас :-) Если же вы готовите проект с простыми механиками и 2d графикой, например платформер, или какие-то несложные головоломки, то Clickteam может стать для вас хорошим решением.
Итог какой?
Плюсы:
- Низкая стоимость.
- Низкий порог вхождения.
- Возможность работать с движком, не изучая новый язык программирования.
- Хорошие и подробные видеоуроки.
- Быстрая и простая сборка билда.
- Малый вес приложения после установки.
- Удобен в работе с простыми механиками и 2d графикой
Минусы:
- Интерфейс «Привет 90-е!»
- Не поможет вам в создании ААА
А вывод?
В случае нашего проекта, плюсы серьезно перевешивают минусы. Мы получили движок, в котором смогли разобраться за пару часов. Добились высокой скорости разработки и малого веса приложения (АПК весит 6,66 мб. И 20,48 мб после установки).
Минусы движка не стали для нас существенными.
В итоге, мы смогли серьезно продвинуться в разработке за месяц с момента старта GamesJam Kanobu 2017 и смогли стать финалистами. Будем рады встретиться пообщаться лично на грядущем DevGAMM и на выставке-конференции по VR, которая будет проходить у нас в ВШБИ 17 мая.
Кстати у ClickTeam есть триальная версия, так что, если вы выбираете движок для небольшого проекта, то попробовать ClickTeam на наш взгляд стоит.
В комментариях будем рады ответить на ваши вопросы и напишите, пожалуйста, какой игровой движок используете вы?
Комментарии (14)
inborn_killer
20.04.2017 19:36Могу ошибаться, но ClickTeam Fusion скорее является инструментом быстрого прототипирования, полезным для людей, далёких от программирования. Писать на этом полноценную, пусть даже и простую, игру — то ещё извращение.
OneTwoOne
20.04.2017 21:42Тут уж "на вкус и цвет" :) ClickTeam действительно не требует навыков программирования, при этом не видим причин, почему на нем не стоит делать простые игры.
osin_pa
20.04.2017 21:53Конечно у ClickTeam Fusion есть свои особенности в разработке, но это не мешает ему быть полноценным конструктором. В качестве примера можно привести игру Five Nights at Freddy’s.
cheiwe
21.04.2017 14:44А где-нибудь почитать о детальном создании Five Nights at Freddy’s можно? интересна реализация на этом движке. И какие ещё вы более или менее сносные проекты знаете, кот. были на этом движке сделаны?
osin_pa
21.04.2017 15:25Здесь есть несколько уроков связанные с FNaF:
https://www.youtube.com/channel/UC5ZDDKZrkWJ_Awv-YNrzw0g/videos
А здесь список игр, сделанных с помощью ClickTeam Fusion:
https://steamcommunity.com/app/248170/discussions/0/666828126951531546/?l=russian
NeutralD
22.04.2017 11:50Спасибо за статью!
Разрешите ремарочку по поводу GameMaker: Studio. 7 772 руб. вы отдали за Clickteam Fusion с экспортным модулем только под Андроид, так?
GMS на Humble Bundle продавали за 25$ с тем же экспортом под Андроид. Хорошо, вы скажете, но это было когда-то давно, да и то — по акции.
Да, но прямо сейчас можно приобрести полноценный GMS2 на Стиме, где цены региональные и существенно ниже, чем на официальном сайте.
Со скидкой для обладателей GMS1 он будет стоить: 960 рублей (экспорт под Windows, Mac, Linux) + 3 838 руб. (экспорт под iOS, Android) = 4 798 рублей.
Вы скажете: но у меня нет GMS1!
Давайте рассмотрим без скидки: 1600 + 6 396 = 7 996 рублей. Это ненамного дороже 7 772 рублей, зато включает экспорт для iOS. Выйдя на Android и пощупав аудиторию там, вы наверняка захотите выйти и на iOS. Сколько вам придется доплатить в этом случае? Ведь явно больше 224 рублей?
osin_pa
22.04.2017 13:24GMS хороший движок, никто не спорит, но:
1) на тот момент GMS2 еще не вышел
2) у нас бы ушло больше времени на его изучениеKostakazak
22.04.2017 21:48Если он ещё не вышел, тогда был более дешёвый GMS1)
К тому же лично мне кажется GMS намного проще остальных движков и гибче чем обычные конструкторы.OneTwoOne
23.04.2017 11:54Мы ориентировались на цену GMS1 на оф.сайте, там она была такая, как указана в статье, поэтому и отсеяли движок.
GMS безусловно неплох. Но, как мы писали, надо четко понимать, что за игру вы делаете и исходить в выборе движка из этого. В нашем случае, ClickTeam вполне себе достойно справляется и мы пока не пожалели о выборе.
DorianPeregrim
Не сильно сведом в возможностях игровых движков, но, вот интересно, по каким критериям не подошел Unity с похожей ценовой категорией или бесплатный Godot?
osin_pa
По 2-му критерию. Пришлось бы потратить пару месяцев на изучение этих движков. И насколько я знаю, в Godot используется свой скриптовый язык, что несомненно повлияло бы на время разработки.
kzerot
По синтаксису gdscript один в один питон, пара мелких различий. Очень простой язык, буквально-таки просто пишешь на английском.
Годот в принципе неплох, но с ним фэйл — на днях выйдет 3.0, там все сильно меняют.
osin_pa
Да никто не говорит, что gdscript плох. Просто ушло бы больше времени на изучение и разработку.