Постмортем (история создания)
IvanKorobko
опубликовал в
Блог проекта 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 комментариев
Похожая история и с Little Аква World, проект тоже создавался для геймериона.)
Откуда пошло слово «постмортем», и что оно означает в данном случае? Погуглив это слово, я ужаснулся.
Если так, то выходит, что GameMaker: Studio купить выгоднее, так как за те же деньги можно купить лицензию Professional (99$), HTML5 Export (99$) и Android Export (199$), что в сумме равняется 397$. Scirra 2 стоит 399$.
В 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 платформ
Если игра заработает более 5000$ — то доплатить 200$ за обновление лицензии «не западло» так сказать… к тому же постоянный рост числа поддерживаемых платформ + постоянное совершенствование С2 с еженедельными обновлениями — и все это доступно за те же 119$ (по недавней акции было и вовсе за 70+$) — 150 тыс. рублей заработать не так то и просто, посему о бизнес лицензии заморачиваться навряд ли придется в скором времени.
Изменения:
-Хелсбар: У героя при старте уровня появилось 3 «жизни». При потере всех 3х — рестарт уровня.
-Красный метеорит(огненный): При попадании по герою отнимает у него одну «жизнь».
-Синий метеорит(ледяной): при попадании по герою на некоторое время делает колесо «скользким».
-Эффекты: Добавлен эффект пойманой звезды, Эффект разбивающегося метеорита(огненный, ледяной), Эффект исчезания хэлсбара при потере «жизней» и падении с астероида, Слетание с астероида героя при потере всех «жизней».
-Длительность уровней: Изменена длительность уровней с 60 секунд на 99.
-Визуализация готовности прыжка: Добавил нечто в роде 4х-ступенчатой готовности к прыжку подобием лампочек над самой кнопкой.
Такие вот изменения. На сим считаю, что превозносить что-то новое в игру пока хватит — и так уже долгострой. Жду ответа от Лудеев по поводу предоставления премиум-прав на компилятор и готов уже выкладывать в сторы )
— Расширяю количество уровней в полной версии до 30шт. Макеты астероидов готовы, начал их графическую сборку.
— Добавлены звуки: кнопок, прыжка, падения метеорита, ловли звезды, вылета героя за пределы уровня. Протестировано.
движемся по графику
Для релиза осталось:
— Дождаться сведенного саундтрека от композитора.
— Дособрать 13 астероидов
— Внедрить их в 17 новых уровней Full-версии
— Добавить 17 уровней в меню выбора уровней