Разработка одной игры — полезный опыт, немного денег и куча ошибок, Ч1

в 16:53, , рубрики: android, game development, physics engine, Разработка под android, метки: , ,

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

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

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

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

Итак, приступим.

Затравка

Речь пойдет о приложении — игре, выпущенной в 10-11 году, разработка которого заняла на вскидку около 2-3 месяцев не напряженной работы без начального опыта создания игр. Все — от дизайна до продвижения делалось своими руками.
Итог:

  • приложение, которое не стыдно показывать в портфолио, участник конкурса приложение AppCircus,
  • 10k+ $ — выручка за время жизни приложения,
  • партнеры — корейские издатели, о которых уже встречалось упоминание на хабре.

Размышления — почему именно мобильные приложения?

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

Идея, или с чего все начиналось

С каждым годом прорваться сквозь дикое количество приложений в маркетах становится все сложнее, поэтому выбор категории для создания одного из первых коммерческих приложений остановился на играх… почему?
Если человек на протяжении долгого количества времени вполне комфортно может пользоваться, например, одной и той же читалкой для книг, калькулятором, мессенджерем и тд, то играть все время в одну и ту же игру попросту надоест, в этом-то я и нашел прелесть казуальных игрушек — перепробовав топовые приложение, рано или поздно пользователь может наткнутся и на мое приложение. Другими словами — приложения из этой категории наиболее часто меняются на телефонах и вероятность установки Вашего выше.

После определения типа, необходимо было выбрать саму суть игры, поискав и поиграв во flash приложения, найденных по запросу типо «top flash games» остановился на нечто подобном line rider — рисуем дорожку, на ней ездит управляемая машинка, надо добраться до финиша.

Проектирование — с чего надо начинать?

Вопрос выбора платформы не стоял, т.к. занимался исключительно разработкой под Android, кроссплатформенное приложение на тот момент было слишком для меня дорогим и разработку под другие платформы отложил на то время, когда и если приложение наберет популярность.
Работа над приложением у меня началась с разработки дизайна, причем самодельного — самое простое в таком случае использовать «листок style» вариант — лист в клетку, карандаш и ручка.
Сегодня, такие игры явно потеряли свою актуальность, приложений в таком стиле уже не мало и пользователи привыкли к мощным аппаратам, яркой и красивой графике.

Отрисованные экраны стали этаким «прототипом», по которому можно начинать разработку, к чему я и непосредственно приступил…

Но, оглядываясь назад, накопив некоторый опыт в разработке, можно с уверенностью сказать, что пропуск стадии проектирования, причем не только с точки зрения архитектуры, но и «пользовательского взаимодействия» (о котором говорит, например, Алан Купер) нанес крайне серьезный удар по конечному продукту.

Слишком поздно, протестировав на друзьях это приложение, были выявлены вполне ожидаемые, но не проработанные изначально ошибки — обычный пользователь не может с первого взгляда понять суть игры и пройти первый уровень. Осознав это с самого начала и поняв, почему же в игре Space Physics линии достраиваются за пользователя, может быть история данной игры приняла бы совсем другой оборот. Мне же на данный аспект открыли глаза ребята из Chillingo (за что я им крайне благодарен), к которым я спустя некоторое время обратился по поводу издания приложения.

Разработка

Как часто бывает, в самом коде особенно ничего интересного нет. В качестве физического игрового движка была выбрана популярная библиотека AndEngine, которая содержит прослойку для работы с OpenGL, работу с физическим движком Box2D и постоянно развивается. Единственные значимые проблемы, с которой столкнулся — отсутствие проектирования до разработки, рисование линии по траектории пользователя, обладающей физическими свойствами и которую при желании можно стереть небольшими кусочками.

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

Псевдокод

onTouch(Point firstPos, Point lastPos){
int lineCount = getLineCount(lastPos - firstPos);
    for (int lineIndex: lineCount){
        drawPhysicLine(new Line(firstPost, lastPost, lineIndex), new PhysicData());
    }
}

Скриншот о чем именно идет речь

Разработка одной игры — полезный опыт, немного денег и куча ошибок, Ч1

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

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

Модель монетизации

Несомненно, было желание получить некий денежный профит и встал вопрос о модели монетизации приложения.
На самом деле, на тот момент еще не было того, что называется In-app сейчас, поэтому было принято решение сначала по мере готовности выпустить приложение с рекламой и далее сделать больше уровней и отсутствие рекламы за деньги в отдельном приложении.

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

Издание продукта

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

Как и следовало ожидать, продукт сам по себе стать популярным может в минимальном количестве случаев, к которым мой не относится.

Через некоторое время я попытался обратится к известным издателями, в т.ч. к тем же Chillingo, и вот тут то они мне описали те детали, которые должны были бы всплыть на этапе проектирования приложения:

Текст ответа от chillingo

We have discussed the game internally and have decided not to move forward
with a proposal. This is based purely on commercial reasons. To give you
visibility of our thoughts, we have two headline concerns:

1) When we sign a deal, we look for multiple things. Clearly a great game
but the second thing is what I call «deck appeal». That is, the 5 second
hook that will make someone buy the app. It could be the artwork, theme,
icon, screenshots etc etc. I feel this is a big weakness with your game.
Even if the game is great, it's not enough. It is often a very difficult
thing to get right in iOS games to make them appealing to the mass market.
I think the particular issues is the line rider visuals and doodle style
which has been done several times before.

2) Even if you do get people to buy the app, I think a big challenge
you'll face is getting people into the game. iPhone is very much like the
old coin-ops. That is, you have 30 seconds to convince someone they need
to put in more quarters to keep playing. Consider this blog:

sethgodin.typepad.com/seths_blog/2010/08/how-big-is-your-red-zone.ht
ml

Essentially, all of the great games on iTunes have instant appeal with no
learning curve. Flight Control, Fruit Ninja, Cut the Rope etc. Your game
comes across as very complex because of the navigation.

I hope you don't mind this feedback but as I said I always feel it's best
to be open.

We wish you all the best with your launch

Если вкратце — слишком уж высок порог вхождения — игра, а тем более казуальная, должна быть максимально проста для того, чтобы начать получать от нее удовольствие.
Спустя чуть менее года, мне написали ребята из Ubi-nuri, упоминания о которых можно встретить, например, тут и тут. Суть предложения в том, что им понравился смысл и реализация игры, и корейские хардкорные игроки, по их словам, любят как раз такие довольно тяжелые в плане геймплея игры. Забегая вперед, могу сказать, что основную финансовую отдачу я получил именно от Корейских партнеров, т.ч. сейчас я думаю, что издательство можно отдать и людям, которые в этом неплохо соображают и умеют это делать.

Продвижение и сопровождение

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

Видео игры

Отслеживание событий, касающихся мобильных технологий позволяет теснее окунуться в мир мобильных разработок, как говорится «других посмотреть и себя показать», так, например, приложение было зарегестрировано и приняло участие в конкурсе приложений AppCircus. Это мероприятие позволило познакомится с другими профессионалами и энтузиастами в области, принесло полезные контакты для создания и продвижения будущих разработок.

Видео с мероприятия

Очень не уверенно себя чувствуешь в первый раз выступая перед публикой, но тем не менее над собой стоит работать, ведь уверенность в каком то плане залог успеха работы с партнерами.

В один момент 4pda.ru запустили программу «поддержки российских разработчиков», по который бесплатно выкладывали обзоры отечественных разработчиков на главную страницу. Такого рода обзор принес примерно 300 платных скачиваний за 3 дня, из чего смог сделать вполне логичный вывод, что обзоры на популярных ресурсах могу довольно сильно помочь в продвижении приложений.

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

Очень большое упущение с моей стороны состояло в том, что изначально не было даже идеи собирать статистику действий пользователей в приложении. Так, к примеру, на одной из конференций было рассказано об интересном опыте сбора статистики: было выявлено, что на определенном этапе приложения, часть пользователей просто «отваливалась», толи из-за сложного поведения программы, толи просто от нежелания разбираться дальше, но факт в том, что упрощение всего одного экрана приложения смогло остановить более чем 50% пользователей от закрытия приложения на данном шаге. И таких примеров довольно много, так что необходимо максимально четко понимать как и на какой стадии себя чувствует пользователь в вашем приложении, иначе велика вероятность его потерять.

Немного финансов и статистики

Данная статья была бы не полной без небольшого освещения статистики по приложению:
Разработка одной игры — полезный опыт, немного денег и куча ошибок, Ч1
В google play и admob за время существования приложения было получено чуть более 1000$, среднее значение прибыли в день за рекламу ~1usd/день.
Корейские партнеры из Ubi-nuri в Корее и Японии продали примерно 25 000 копий, принеся ~ 10 000$, так же ими были куплены права на распространение приложения в одном Японском маркете в качестве маркетингово инструмента за 6 000$, т.е. ориентировочную суммарную прибыль с приложения можно оценить в районе 20 000$, что на мой взгляд достаточно для того, чтобы ощутить азарт разработки приложений для мобильных платформ, ведь осознание того, что ты смог создать нечто полезное для конечного потребителя мало с чем можно сравнить.

Дальнейшие планы

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

Послесловие

Буду рад любым вопросамуточнениямспорам (кроме холиваров) в комментариях. Они призваны помочь как мне, так и другим разработчикам сильнее приблизиться к пользователям, понять их проблемы и создавать качественные приложения.

Автор: dilix

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js