Этот обзор — опыт, добытый путем проб и ошибок. Несколько месяцев назад я сам искал такую информацию, но тщетно. Поэтому спешу поделиться с будущими искателями легких путей создания мобильных игр, любителями «простых решений» и коробочных продуктов. Разбираю визуальный конструктор игр Game salad.
Я выступил в этом проекте в роли «менеджера» и автора проекта, а вот разбираться пришлось программисту. Ниже его текст.
GameSalad представляет из себя конструктор. Сцены строятся из акторов, внутри которых составляются правила для поведения в различных условиях и добавляются атрибуты по желанию. Существует определенный набор блоков для изменения состояния и поведения актора. Так что в целом система предоставляет достаточно большую свободу для манипулирования акторов самими собой. Но с этим связано и самое большое неудобство: есть некоторые непреодолимые ограничения для управления одного актора другим. Если конкретнее, то для акторов, которые спавнятся в процессе игры (а не добавлены вручную заранее), нет никаких возможностей повлиять на них извне, только установленными внутри них правилами. Это неудобство становится проблемой по мере увеличения сложности игры.
Другой недостаток, который мог бы значительно компенсировать предыдущий — отсутствие наследования. Акторы могли бы наследовать правила от предка и в дополнение обладать собственными, это было бы весьма удобно. А при построении сцены акторы могли бы вкладываться друг в друга, это обеспечило бы значительно больше возможностей по взаимодействию между акторами. Я вообще то был удивлен, обнаружив что сцена состоит не из иерархии акторов, а просто из их списка (разделенного на слои).
GS — система полностью закрытая. Она не поддерживает ни плагинов, ни расширений. Не имеет никаких механизмов импорта/экспорта. Если Вас что-то не устраивает в функционале — без вариантов придется мириться, расширить нельзя никак.
Документация тоже заслуживает упоминания. Кроме документа-документации есть сборник туториалов, описывающих отдельные функции. Само собой, статьи описывают общие случаи, поэтому подробно ничего не объясняется, варианты в основном не описываются. Другой способ получения информации — форум. Способ весьма действенный, разработчики и пользователи отвечают по существу, дискутируют, дают ссылки. На форуме есть огромное количество информации, которой нет нигде больше в документации. Так что приходится пользоваться поиском, это часто приносит плоды. Но все же искать информацию, нужную часто и многим это как-то дико. Могли бы собрать FAQ или популярные темы. В идеале, включить в документацию информацию, которая чаще всего нужна пользователям, судя по форуму.
Что касается игры вообще: у GameSalad есть только один метод чтобы в игре поделиться результатом — TweetSheet (отправить сообщение через твиттер) — и он только для iOS. Несколько интегрированных рекламных систем, но никаких возможностей по управлению баннерами. Все управление в самих рекламных системах и нигде никаких туториалов по быстрому запуску с GS.
Резюмируя суть программы. Подходит для создания простых игр с простой механикой. Масштабируемость низкая, большую и сложную игру сделать не получится. С другой стороны программа не требует никаких начальных знаний и умений. Все блоки имеют понятное описание и понятное действие. Так что для людей, не знакомых с программированием, хороший вариант. Программистам же нужен сильный повод ей воспользоваться (например, быстрота разработки).
Резюмируя мое отношение. Я ценю то, что программа дает возможность создавать игры, имея для этого лишь желание, не нужны никакие специальные знания, навыки, даже талант. Но будь структура программы чуть сложнее, не такой прямолинейной, она могла бы предложить гораздо больше возможностей без усложнения процесса. Но надеяться на скорое развитие проекта я не стану, учитывая его возраст и степень развития на данный момент.
Считаю что выбирать программу надо исходя из её функционала. Баги — дело приходящее и уходящее. Их обычно можно обойти, дожидаясь следующего обновления, где их поправят.
Для тех, кто решил использовать GS, привожу перечень технических недоработок
У GS есть версия для Windows и для OSX. Для винды актуальная stable-версия носит мажорный номер 0.9, для мака — 0.12. Не потому что у них собственная нумерация, а именно потому что версия для винды отстает по функционалу на 2 версии. Это много: там есть блоки, давно устаревшие и уже исключенные в мак-версии, и отсутствуют некоторые из мак-версии. Сейчас в ночных сборках (требующие тестирования и выявления багов) у Win-версии номер 0.12.1, тогда как у версии для мак уже тестируется следующая версия — 0.13.2.
Кроме того, в работе вин-версии есть баги. Много багов. В интерфейсе, в сохранении некоторых блоков, в превью, в открытии проектов, созданных на другом компьютере, вылеты и прочее. Их просто слишком много для перечисления. Зато их достаточно чтобы решить: вин-версией пользоваться совершенно невозможно. Если хотите использовать эту программу из-за её преимуществ, единственный вариант — мак-версия.
Единственный положительный момент в версии для винды — на мой вкус логика интерфейса там организована лучше.
Проблемы мак-версии: в редакторе формул текстовые строки заключаются в кавычки, но сам редактор не позволяет печатать пробелы. Приходится замещать дефисами, либо подчеркиваниями, либо придумывать что-нибудь ещё хитрее, если очень уж нужно.
Более серьезная проблема то, что GS криво подписывает андроидовские apk. Я использовал хранилище сертификатов, созданное ранее в винде, и подписанный файл отказывается устанавливаться (без внятного сообщения об ошибке. просто «приложение не установлено»), даже с маркета, на устройства с версией ОС ниже 4.4. Решилась подписыванием файла из-под винды тем же сертификатом. Так что может дело в android-sdk мак-версии. Тут могу только сказать что SDK в обеих версиях последней версии.
Подписывание андроид-apk-файла с помощью GS напрямую из браузера возможно только на маке. Почему, мне непонятно, но интернет-страница выдает предупреждение. Хотя в вин-версии GS есть apk-signer, но мне им не довелось пользоваться.
Конец цитаты.
Дополню от себя, как от «менеджера»:
- Дико и больно было понимать, что мы выкидываем из задуманного функционала одну за одной фичу. На форуме этого редактора люди 2-3 года ждут от разработчиков реализацию функции «поделиться», социальных решений и других жизненно необходимых для игры решений.
- Мы не ставили цель разобрать досконально все плюсы и минусы, а лишь делимся своими наблюдениями.
- Механизмы управления рекламой и их убогость поставили перед нами выбор: испортить игру людям или отказаться от рекламы. Игру мы не испортили, но этот момент убил всякую надежду делать быстро и качественно кросс платформенные игры.
Итого мы потратили полтора месяца работы, 17 тысяч рублей на редактор (купили в долларах по дикому курсу осени 2014) и создали 2 игры. Не сказать, что продукты провал, но без необходимых элементов и без рекламы. Дальнейшие перспективы использования этого решения туманны.
Автор: RudkoDmitry