Блог » 2013»мая»2 » POiSE - От нуля до релиза (история разработки)
POiSE - От нуля до релиза (история разработки)
17:09
Доброго времени суток, всем кто заглянул пробежать глазами данный блог)
Поскольку 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-версия игры, Вы всегда сможете поддержать разработчика в моем лице, приобретя платную версию по цене, сравнимой с пол-пачки сигарет) Собственно уже эти деньги и пойдут на дальнейшее развитие игры и возможно даже сиквела, но не будем загадывать)
В данный момент полным ходом проходит предрелизная подготовка и вскоре игра появится на прилавках мобильных сторов и порталах онлайн игр! Всем спасибо за внимание и до новых встречь!)
---------------- ОБНОВЛЕНИЕ -----------------
С момента публикации произошли некоторые события в жизни проекта, а точнее:
- Путем долгих переговоров получен статус Premium в сервисе CocoonJS и соответственно доступ ко всем их возможностям
Так же выслушав некоторую критику с разных ресурсов, немного поразмыслив решил внести некоторые изменения в геймплей... Разнообразить игровой процесс так сказать, т.к. многие посчитали, что просто бегать по астероиду будет несколько скучновато:
Изменения:
-Хелсбар: У героя при старте уровня появилось 3 "жизни". При потере всех 3х - рестарт уровня. -Красный метеорит(огненный): При попадании по герою отнимает у него одну "жизнь". -Синий метеорит(ледяной): при попадании по герою на некоторое время делает колесо "скользким". -Эффекты: Добавлен эффект пойманой звезды, Эффект разбивающегося метеорита(огненный, ледяной), Эффект исчезания хэлсбара при потере "жизней" и падении с астероида, Слетание с астероида героя при потере всех "жизней". -Визуализация готовности прыжка: Добавил нечто в роде 4х-ступенчатой готовности к прыжку подобием лампочек над самой кнопкой.
Так же начата компания по сбору средств на дальнейшее финансирование и развитие проекта:
Дата начала компании: 24.05.2013г Дата завершения компании: 08.07.2013г Страница на Бумстартере:POiSE на Boomstarter! Официальная группа VK:POiSE Вконтакте!
Фанатский "трейлер" от друзей проекта в поддержку к запуску на Бумстартере:
Буду рад видеть всех неравнодушных в группе проекта, благодарен за каждый репост новости на странице группы и конечно же пожертвованиям в пользу развития проекта!
Так же если у вас есть свой сайт/форум/блог/группа и вы хотите помочь информационным сопровождением компании - буду рад принять любую помощь или же выслушать какие-то предложения!
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:
Игровые объявления и предложения:
Если вас заинтересовал материал «POiSE - От нуля до релиза (история разработки)», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела.
Предлагаются такие схожие материалы:
Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.
Создал первую, не рентабильную игру, да и еще автор чувствует себя крутым программистом. Хороший разработчик не сказа бы, что он крутой разработчиком, ибо всегда есть куда стремится.
1) По поводу рентабельности судить еще рано 2) Где написано что автор себя чувствует "крутым программистом"? 3) "Хороший разработчик не сказал бы..." - где я пишу про то, что я крутой разработчик?))
Создается впечатление, мол: "Топик не осилил, но говнеца подкину"
На самом деле геймплей и вправду не замысловат: есть астероид-поле (разных форм, с выступами и впадинами), он постепенно разгонятся... задача игрока удержаться на нем какое-то определенное кол-во времени. Задача усложняется со временем: астероид крутится быстрее, с середины таймера на астероид падают метеориты, затрудняющие передвижение, звезды порой падают в неподходящих местах и чтоб их словить придется потрудится. У игрока есть возможность в затруднительной ситуации воспользоваться "прыжком"(восполняется спустя опр. время)
На видео показан геймплей ознакомительного первого уровня с "ровным" астероидом, без выпуклостей и оврагов с медленной скоростью вращения как полагается такой уровень сделан для ознакомления с управлением и не должен быть особо сложным...
В дальнейшем я планирую добавление каких-то бонусов/препятствий (падающих с неба как в арканоиде - словил то хорошо/плохо - не словил то пронесло/профтыкал...) но это в дальнейшем - после релиза...
Вот к примеру один из более сложных астероидов + вращение на середине начинается в обратную сторону. что даже при повторном прохождении(даже для меня, когда не слежу за временем) несет собой эффект неожиданности и бранные слова после "гейм-овера" по сему поводу
Круто! Не, правда круто. 70% за упорство и 30 за саму игру. Она классная. По крайней мере по видео. И того 100% что я её куплю... когда в google store появится. Спасибо за историю.