POiSE

"Балансируй или ататат..."

POiSE - это удивительная аркада, повествующая о приключениях забавного инопланетянина по имени Спайк. Корабль Спайка потерпел крушение посреди пояса астероидов. Полное описание»

avatar

Постмортем (история создания)

опубликовал в Блог проекта POiSE
Постмортем (история создания)

Доброго времени суток, всем кто заглянул пробежать глазами данный блог)

Поскольку POiSE — моя первая игра, думаю начать нужно с себя(совсем чуток, но если не интересно — просто пропускайте первый абзац):

О себе:

Меня зовут Иван Коробко. За все свои 24 года жизни к программированию я не имел ни малейшего отношения, ни разу с ним не сталкивался и вообще — все эти «языки» для меня как были темным лесом, так и остаются и по сей день. Так вышло, что в декабре 2012 года я выбирал себе новый смартфон и информацию искал на многим известном сайте 4pda. Листая форум, я мельком решил заглянуть в раздел «Создание игр под Android» и случайно выяснил, что существуют так называемые «движки», позволяющие без особых познаний в программировании создавать на них собственные игры. Мне приглянулся очень популярный в различных кругах Unity 3d — много уроков, учебников, примеров, видео, большое русскоязычное сообщество… Но спустя пару Хэлло-ворлдов я понял, что без познаний в программировании ничего путного из под моих рук не выйдет. Продолжив поиски инструмента для создания игр(на тот момент мной двигало банальное любопытство — мол и в одиночку можно создать какую-то игрушку, показать друзьям/коллегам и т.п.) я наткнулся на бесплатный конструктор игр Scirra Construct Classic и в голове промелькнуло:«Вот она, вот она рыба моей мечты!» — никакого программирования, интуитивно понятный интерфейс и вообще грех не попробовать что-то на нем сотворить)

Рождение идеи POiSE:

В январе 2013 года на портале GCup.ru проводился конкурс по созданию игровых проектов Gamiron #3. Темой конкурса было:«Движение — это жизнь». На тот момент я уже был занят в одном довольно крупном(по моим меркам) проекте, но решил немного отвлечься и сделать какую-нибудь простецкую игрушку для конкурса.
Для реализации задумки был выбран все тот же Scirra CC, который на тот момент я успел немного освоить. Мне в голову пришла идея платформера: маленький человечек бегает внутри огромного полого колеса, внутри которого будут расположены ловушки(шипы и т.п.) — колесо начинало медленно вращаться и постепенно набирало скорость. Чем выше была скорость, тем сложнее было перепрыгивать препятствия.

Проблемы реализации и доработка идеи:

Но тут я столкнулся с первыми проблемами: персонаж вел себя неадекватно(взбираясь на уклон не менял своего угла), конструктор при использовании поведения «вращение» для большого колеса начинал неимоверно тормозить… казалось идея полностью прогорела. Потом я решил подключить к делу встроенный физический движек Box2D — с тормозами и положением персонажа на уклонах это немного помогло. Но возникли и иные проблемы — в Box2D для соприкосновений между объектами использовались полигоны столкновений… т.е. мне пришлось по точкам линиями обводить огромный спрайт колеса и снаружи и внутри, чтобы задать твердость объекта, внутри которого будет бегать персонаж.

Собрав прототип, посмотрев на унылость геймплея в относительно маленькой внутренней полости с препятствиями (а при использовании большей — опять таки начинались тормоза), мне в голову пришла мысль: а что, если персонаж будет бегать не внутри колеса, а на колесе? и Это будет не колесо вовсе, а что-то вроде крутящегося астероида… И вместо препятствий с неба будут сыпаться метеориты, мешающие передвижению… И названо это будет дурковатым именем «The Koleso Project».

От идеи к её реализации:

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

На первое время(предполагалось, что и на все оставшееся) вся графика была заимствована из свободных источников + в редакторе графики обесцвечена и стилизована под черно-белый стиль(по образу и подобию Limbo). Вскоре было собрано 6 уровней, на которых по черному астероиду каталась черная шестеренка, под которую то и дело норовили угодить падающие с неба черные метеориты…




Переход на новый инструмент разработки и выбор в пользу мультиплатформенности:

Scirra Construct Classic — хороший игровой конструктор, но был в нем один существенный недостаток: он делал игры только под операционную систему Windows… И я посчитал, что моей игре место не в иконке на рабочем столе, которая навряд ли будет удостоена чьего-то внимания, кроме своего создателя, а как минимум в более проходимом месте: на интернет сайтах и возможно даже на экранах мобильных телефонов)

Под новую задачу был выбран новый инструмент. Младший брат Scirra Construct Classic — Construct 2 — HTML5 конструктор игр. Поскольку HTML5 славится абсолютной мультиплатформенностью и может запускаться даже на топовых микроволновках, а интерфейс С2 практически копировал СС — это был, как говорится вариант «то что надо!». И я начал писать игру с нуля в новой среде разработки, с новыми амбициями и надеждой на будущие возможности мультиплатформенности.

Очередные препятствия на пути проекта:

Первым препятствием была платность конструктора. После завершения работы над прототипом в бесплатной версии(с жесткими ограничениями по функционалу), встал вопрос: стоит ли в это вкладываться… прикинув все за и против, оценив перспективы, закрыв глаза и умолчав жене о «причудливых» затратах мужа на новую игрушку, я все же купил лицензию и продолжил разработку)

В течение месяца был собран полностью рабочий прототип, безупречно работающий в интернет браузере и настало время портировать на Android… но не тут то было) Заветной кнопочки «создать APK» обнаружено так и не было. Изучив мануалы, пробежавшись по форумам я получил ответ на свой вопрос: как заставить это работать на мобильнике. Через сторонние компиляторы я получил заветный АПК, закинул на свой смартфон и был неприятно удивлен:

Игра отображалась в корне не верно, заняла лишь часть экрана смартфона, шрифты отображались стандартным Arial, все навороченные браузерные эффекты канули в небытие, игра выдавала жалкие 34-37 кадров в секунду, кнопки не всегда нажимались, со звуком беда — непонятно как он играет или почему перестает играть, и вообще на экране творился полный слоу-моушн, как в какой-то матрице… Это был хэдшот. Игра, целью которой было попасть на экраны мобильных устройств выглядела и игралась, как забагованное унылое гов…

Работа над ошибками, оптимизация под мобильные платформы:

Увидев, как игра ведет себя на моем устройстве, я был в откровенном шоке, но бросать разработку не собирался. Заручившись поддержкой мануалов, русского и зарубежного коммъюнити, я начал кропотливый процесс оптимизации своей игры под мобильные платформы(по сути дела все с самого начала, в очередной раз). Долой огромные изображения, частицы, эффекты, тяжелые аудиофайлы, лишнюю физику — всего по минимуму, компрессию по максимуму. И вот спустя очередной месяц игра была практически готова. Готова, но опять таки никому, кроме меня не интересна… Серая, ничем не привлекательная графика, унылый саундтрек. The KOLESO Project имея оригинальный геймплей был обречен умереть так и не родившись на свет…



The Koleso Project — до свидания, знакомтесь — POiSE!



Чтобы что-то получилось хорошо, в это нужно вложить не только душу, но и деньги. Чтобы дать жизнь проекту, было решено провести пластику лица и голосовых связок. Играть за черную шестеренку под звучащий на фоне дабстеп — не самое веселое занятие. А общая мрачность картинки только усугубляло положение вещей.

Было составлено краткое техническое задание и найден художник-фрилансер, которому был передан прототип игры со словами: «Вот это, пожалуйста, в красивую, яркую обертку и запоминающегося главного героя в придачу...». Художник в течение 2х недель полностью преобразил внешний вид игры, которая вместо нагнетания тоски теперь просто радовала глаз.




Звуковое оформление было поручено так же композитору-фрилансеру. Работали по принципу: «вот видео геймплея, напишите к нему такую музыку, которая в полной мере подойдет к происходящему на экране.»

Т.е. стиль рисования, стиль музыки и подобные ньюансы были в полной мере доверены профессионалам своего дела, без дополнительного контроля мной-дилетантом во всем этом… т.к. я посчитал, что излишнее вмешательство не принесет нужных результатов, а только помешает художнику/композитору реализовать в моей игре свои таланты в полной мере. И не жалею об этом.

Затраты и стоили ли они того:

Как итог реализация моей первой игры заняла у меня около 5 месяцев времени и 20 тысяч рублей, в которые входят: лицензия С2, лицензия разработчика Google, графическое оформление и музыкальное сопровождение. Не говоря уже о нервах, безсонных ночах и спаленого планшета в ходе тестирования(+5т.р. к стоимости разработки кстати))). Надеюсь ли я отбить вложенные деньги с реализом игры? Да конечно не особо… Тут более важен полученый опыт. Опыт самой разработки, опыт работы с художником/композитором, опыт оптимизации, да и самой разработки на мобильные платформы. Опыт — штука бесценная) Но и деньги — тоже не лишняя, так что, если Вам понравится FREE-версия игры, Вы всегда сможете поддержать разработчика в моем лице, приобретя платную версию по цене, сравнимой с пол-пачки сигарет) Собственно уже эти деньги и пойдут на дальнейшее развитие игры и возможно даже сиквела, но не будем загадывать)

В данный момент полным ходом проходит предрелизная подготовка и вскоре игра появится на прилавках мобильных сторов и порталах онлайн игр! Всем спасибо за внимание и до новых встречь!)

17 комментариев

avatar
Прочитал с огромным интересом. Особенно была интересна часть, связанная с переходом на Scirra 2 и портированием на мобильные платформы. Проблемы с которыми вы столкнулись, для меня были ожидаемы. Тоже есть желание что-то разработать в Scirra 2, но я проявил осторожность и хорошенько погуглил на тему портирования игр на мобильные платформы в этом конструкторе. Так и узнал обо всех этих сложностях и проблемах.  Пока ещё не решился приобрести его.
avatar
Не все можно предусмотреть, пока не запустишь на целевом устройстве) Зависит от многого — сборка с которой проводится экспорт, внутренние надстройки, выбраный компилятор… + некоторые поддерживаемые по заверению разработчиков С2 модули после прогонки через выбранный мной компилятор не поддерживались — Scirra в ответ на мое письмо метнули стрелы на Лудеев(создатели компилятора в АПК) мол у них все хорошо а проблемы от компилятора, Лудеи же сказали, что проблемма на стороне Скирры и с компилятором все ок — вот тут как бы и Гугл даже не рассудит… а таких подводных камней очень и очень много + некоторые решаются и вовсе редактированием Java-скрипта вручную)
avatar
Может напишите статью в раздел знаний об этом? В интернете почти нет информации обо всём этом…
avatar
Очень интересно  (Смайлы из ВК прикольные)
Похожая история и с Little Аква World, проект тоже создавался для геймериона.)
avatar
P.S.
Откуда пошло слово «постмортем», и что оно означает в данном случае? Погуглив это слово, я ужаснулся.
avatar
Сам его узнал на днях только) В данном случае оно означает «С чего начиналась игра, какой путь она прошла, какие трудности преодолела и т.п.» — в геймдеве этакие очерки почему-то принято величать Постмортемом) А откуда это пошло — я не знаю, но слово звучное и решил не отставать от моды, вклеив сие название в шапку топика)
avatar
Если правильно понял, заява о кроссплатформенности Scirra 2, оказалась просто маркетинговым ходом, и на самом деле имеется в виду, что игру на html5 можно портировать куда угодно, сторонними компиляторами?

Если так, то выходит, что GameMaker: Studio купить выгоднее, так как за те же деньги можно купить лицензию Professional (99$), HTML5 Export (99$) и Android Export (199$), что в сумме равняется 397$. Scirra 2 стоит 399$.
avatar
Выходит даже намного дешевле, ведь можно не покупать HTML5 Export.
avatar
Game maker studio: HTML5 Export +99$, iOS Export +199$, Android Export +199$, Windows Phone 8 Export +199$ — итого 696$… Это для Professional. Выгодней тогда уж брать Master за 499$

В Construct2 за 119$ + CocoonJS(бесплатно) имеем экспорт: Windows XP\7\8, Windows Phone 8, Linux, MacOS, iOS, Android, BlackBerry 10 + Сборка для Chrome store, Kongregate, Firefox OS…

Итого С2 119$ — 14 платформ
GMS Master 499$ — 8 платформ
avatar
Разве портирование через CocoonJS не делает конечную игру очень голодной к ресурсам? Если купить Personal Edition за 119$, то всё равно придется купить Scirra 2 Business Edition за $399.00, если проект заработает больше 5000$…
avatar
Наоборот CocoonJS задействует все ресурсы системы(поддерживает аппаратное ускорение) для увеличения производительности до 10 раз, относительно встроенного браузера.

Если игра заработает более 5000$ — то доплатить 200$ за обновление лицензии «не западло» так сказать… к тому же постоянный рост числа поддерживаемых платформ + постоянное совершенствование С2 с еженедельными обновлениями — и все это доступно за те же 119$ (по недавней акции было и вовсе за 70+$) — 150 тыс. рублей заработать не так то и просто, посему о бизнес лицензии заморачиваться навряд ли придется в скором времени.
avatar
Интересно было бы сравнить производительность портированной игры в Scirra 2 при помощи CocoonJS и просто экспортированной в Game Maker Studio для android. Вроде бы в GMS не нужно играться со сторонними компиляторами, есть встроенный экспорт в apk, да за 199$, но если он делает более оптимизированные игры без заморочек, то он того стоит…
avatar
Итак, выслушав некоторую критику с разных ресурсов, немного поразмыслив решил внести некоторые изменения в геймплей… Разнообразить игровой процесс так сказать, т.к. многие посчитали, что просто бегать по астероиду будет несколько скучновато. Итак, за сегодняшний короткий рабочий день без начальства(которое на майские улетело на мальдивы в полном составе) после долгих колебаний(вчера решил: а ну его нафиг, сегодня же выспался и...) мне удалось:

Изменения:

-Хелсбар: У героя при старте уровня появилось 3 «жизни». При потере всех 3х — рестарт уровня.
-Красный метеорит(огненный): При попадании по герою отнимает у него одну «жизнь».
-Синий метеорит(ледяной): при попадании по герою на некоторое время делает колесо «скользким».
-Эффекты: Добавлен эффект пойманой звезды, Эффект разбивающегося метеорита(огненный, ледяной), Эффект исчезания хэлсбара при потере «жизней» и падении с астероида, Слетание с астероида героя при потере всех «жизней».
-Длительность уровней: Изменена длительность уровней с 60 секунд на 99.
-Визуализация готовности прыжка: Добавил нечто в роде 4х-ступенчатой готовности к прыжку подобием лампочек над самой кнопкой.

Такие вот изменения. На сим считаю, что превозносить что-то новое в игру пока хватит — и так уже долгострой. Жду ответа от Лудеев по поводу предоставления премиум-прав на компилятор и готов уже выкладывать в сторы )
avatar
Отличное обновление! Комментарий достоин отдельного топика со скриншотами. :)
avatar
А зачем премиум права, без них не получится нормально скомпилировать под андроид? Если бы вы знали, что с компиляцией будут такие проблемы, выбрали бы Scirra?
avatar
Пока сервис предоставляется в бесплатном виде — только премиум-пользователи могут пользоваться некоторыми возможностями по монетизации… А в остальном меня С2 полностью устраивает ибо с моими нулевыми познаниями в программировании позволяет делать работоспособную игру)
avatar
— Путем долгих переговоров получен статус Premium в сервисе CocoonJS и соответственно доступ ко всем их возможностям
— Расширяю количество уровней в полной версии до 30шт. Макеты астероидов готовы, начал их графическую сборку.
— Добавлены звуки: кнопок, прыжка, падения метеорита, ловли звезды, вылета героя за пределы уровня. Протестировано.

движемся по графику

Для релиза осталось:
— Дождаться сведенного саундтрека от композитора.
— Дособрать 13 астероидов
— Внедрить их в 17 новых уровней Full-версии
— Добавить 17 уровней в меню выбора уровней
Чтобы оставить комментарий необходимо .