(2 месяца + 125 долларов) ✱ 0 опыта = мобильная игра

Немного о нас

Всем привет, мы команда, которая решила сделать первые шаги в разработке мобильных игр. В команде два человека, Егор (23 года) и Даниэль (22). Знакомы мы уже 5 лет, с первого курса технического университета г. Москвы, название которого носит имя российского революционера*. Обучение информатики, а в частности программированию (Visual Basic) длилось в течение первого курса. Особого интереса данное направление у нас не вызывало, как и все обучение в целом. У нас были иные планы на жизнь…

Первые три года обучения прошли как у большинства студентов, но во 2-ом семестре 3-го курса начали появляться вопросы «А что ждет нас после университета? Куда мы попадем и чем будем заниматься?». У нас была летная практика (месяц неоплачиваемого труда в одной из компаний), после прохождения которой, особо не было желания связывать свое будущее с похожим родом деятельности, или по крайней мере не в наши лучшие годы (20 – 70 лет). Оценивая свои возможности, интересы и небольшой опыт мы начали искать ответы на эти вопросы. Впоследствии, на четвертом курсе, это вылилось в два проекта. Один из которых мы делали для одной крупной столичной компании, а второй – попытка создания стартапа с последующим участием в акселераторе и выступлением перед инвесторами (если Вам интересно, можем написать отдельную статью). Оба проекта не нашли поддержки (провалились).

Параллельно с реализацией второго проекта у нас возникла спонтанная идея (до конца 4-го курса этого не было в планах) продолжить обучение и поступить в магистратуру (исключительно на бюджетные места, которых было 5). Сдав вступительные экзамены, мы поняли, что без дополнительных баллов мы неконкурентоспособны и в срочном порядке опубликовали свои статьи в отечественные журналы разного уровня, прошли курсы повышения квалификации и придя к согласию с руководством университета получили несколько дополнительных баллов за первый проект. За короткий промежуток времени (около 3 недель) набралось 23 из 25 дополнительных баллов. Волею судьбы мы навсегда распрощались со стенами родного университета, с 6-м и 8-м местами в списке «зачисленных» на бюджет. Далее следовало полгода поисков направления для следующего проекта, которые пересекались с временными подработками. Желания найти постоянную работу в офисе «на дядю» не было (попытки были).

Рождение идеи разработки игр

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

Днями на пролет мы просматривали видео уроки, где программисты «на пальцах» объясняли азы программирования. В процессе усваивания информации промелькнула мысль отойти от разработки приложений и реализовать одну из наших давних идей о создании собственной мобильной игры, причем самостоятельно. Продолжив смотреть тематические видео уроки, мы выделили два возможных пути дальнейших действий. Первый предполагал углубленное изучение языка программирования (C#) и движка (Unity), с нуля (хоть в наших флешбеках и прослеживалась связь между С# и Visual Basic, но знания с первого курса просели сильнее цен на нефть) посредством теоретических материалов. Второй, выбранный нами, сразу перейти к практике, изучая только интересующие нас части кода.

Первые шаги в разработке

В процессе мозгового штурма (около 15 секунд) была придумана механика игры, удовлетворяющая всем нашим требованиям (простота разработки и 1 касание). По нашей задумке при старте игры мяч летит в произвольном направлении, задача игрока вовремя (когда мяч находится в определенной зоне) нажать на экран, тем самым изменив направление полета мяча (имитация отскока). Цель игры — набрать максимальное количество очков (1 успешный отскок = 1 очко). Игра считается проигранной, когда мяч коснётся стенки. Почему именно одно касание? Мы хотели создать игру, максимально подходящую каждому человеку, будь то подросток, решивший скоротать время в учебном заведении, будь то взрослый человек, решивший отвлечься от рабочего процесса в обеденное время. Тап по экрану – привычный жест для любого современного человека, что делает игровой процесс интуитивно понятным каждому.

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

Одной из первых задач было создание движения мяча по вертикали (вверх-вниз).

                                                                  Анимация мяча

Достаточно быстро справившись с этим заданием и получив дозу уверенности, мы решили заставить мяч полететь под углом и отскочить от стенки. На этот раз потребовалось гораздо больше времени. Если в первой задаче нужно было просто менять координату объекта, то в данном случае нам предстояло изучить его физические свойства.

                                                                Анимация отскока

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

Разработка игры

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

                                                                     Блок - схема

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

                                                    Анимация игрового процесса

Удовлетворившись результатом перешли к созданию пользовательского интерфейса, а именно настроили счётчик очков, сделали главное меню (с одной большой кнопкой «Играть» и рекордом) и меню проигрыша (с двумя кнопками «Переиграть» и «Главное меню»). Также была настроена реклама (пропускаемый ролик, через каждые 4 поражения, и баннер на меню проигрыша).

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

                                                                 Меню проигрыша
                                                        Анимация главного меню

Промежуточный финал

По завершению настройки пользовательского интерфейса, было проведено финальное тестирование и выявлено несколько багов (двойное начисление очков в углах, возможность многократного нажатия в одной зоне), но все они были исправлены с помощью добавления в код ряда проверок. Помимо этого, выявилась еще одна проблема, на устройствах начиная с Android 8.0 и выше, мяч, во время смены направления, притормаживал и делал игровой процесс некомфортным. Пришлось перебирать весь код, создать абсолютно новый проект в Unity и, добавляя элемент за элементом, выяснять, на каком именно этапе проблема. На ее решение мы потратили около 2-х недель.

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

Доработка и финал

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

Звук был добавлен в 2-х местах: при отскоке (в результате чего он стал более «физическим») и появлении панели проигрыша. С результатом можете ознакомиться, скачав игру.

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

                                                                         Магазин

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

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

                                                          До и после скруглений

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

                                                             Анимация геймплея

Подготовка к публикации и ASO оптимизация

Планировалось выпустить игру сразу для двух платформ iOS и Android. Сама разработка велась на Android, но движок Unity позволяет нажатием пары кнопок быстро адаптировать под iOS. Совет новичкам, которые захотят пойти по нашему пути, в открытом доступе существует плагин, который позволяет внедрить сервисы Google Play и Game Center сразу, а не прописывать в коде каждый по отдельности. Подобные плагины (сразу для двух платформ) существуют для различных функций (например, кнопка поделиться рекордом, внутриигровые покупки и т.д.).

Чтобы опубликовать игру необходимо было зарегистрировать и оплатить аккаунты разработчика Google Play (25$ один раз) и Apple Developer (99$ в год). С регистрацией для Google Play не возникло трудностей, оплату приняли мгновенно, проверка заняла не более часа. А с регистрацией в Apple Developer пришлось повозиться пару недель, что было большой неожиданностью для нас. При вводе Apple ID и попытке присоединения к программе разработчиков, мы постоянно получали ошибку: «Your enrollment could not be completed. Your enrollment in the Apple Developer Program could not be completed at this time». Воспользовавшись поиском, мы обнаружили, что подобной проблеме уже более полугода (с ноября 2019). Столкнувшиеся с ней разработчики советовали поменять браузер и аккаунт, либо обратится в службу поддержки. Было перепробовано множество разных браузеров, Apple ID, компьютеров, провайдеров, но все попытки были тщетны. На этом наше разочарование не закончилось, мы решили обратиться в службу поддержки. К слову, вопрос с испорченной продукцией из одного столичного магазина мы урегулировали быстрее, чем «уговорили» мировую компанию принять от нас 99$. В ответ на наше обращение, где мы подробно описали суть нашей проблемы, спустя 2 дня, мы получили такой ответ:

                                                              Ответ и перевод

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

Мы решили данную проблему путем регистрации аккаунта разработчика через знакомого человека в Великобритании. Оплата и подтверждение были проведены в течении 2-х часов. Apple, так держать!

Заключительным этапом подготовки к публикации стало проведение ASO оптимизации. Так как в этой теме мы новички, сперва изучили материалы в этом направлении. Мы решили, что будем оптимизировать логотип, скриншоты и ключевые слова.

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

                                                               Логотип до и после

Для скриншотов мы провели небольшое обновление: добавили рамку смартфона (только для Google Play, в App Store нельзя вставлять рамку устройства) и изменили порядок расположения на странице игры. Первыми должны идти скриншоты, отражающие игровой процесс и вносящие в него ясность, а все последующие – в порядке убывания значимости.

Наибольших усилий потребовала оптимизация ключевых слов. Мы выбрали 5 игр более-менее похожих на нашу. Из них 3 – популярные, 2 – набирающие популярность, и начали анализировать запросы, по которым они индексируются. При выборе ключевого слова мы ориентировались на его популярность и количество конкурентов. Было выяснено, что в App Store индексируются название, подзаголовок и ключевые слова, а в Google Play – название и описание. Так же в App Store локализации для разных стран пересекаются между собой: например, если мы сделаем локализацию для России, Австралии и Великобритании, то для российских пользователей будут индексироваться ключевые запросы Австралии и Великобритании и наоборот. Это позволяет увеличить количество символов ключевых слов от 100 (максимальное количество символов для одной локализации) до 500. Для увеличения охвата мы создали 9 локализаций для App Store (Россия, Великобритания, Австралия, Мексика, Испания, Италия, Германия, США, Франция, Корея, Япония) и 6 для Google Play (Россия, Испания, Италия, Германия, США, Франция). С русским и английским языком проблем не возникло, а остальные языки делали с помощью переводчика (не человека). Мы старались, честно, но за читаемость итогового варианта не отвечаем (от слова совсем), по поводу восточных иероглифов без комментариев… В приоритете было уместить максимальное количество ключевых запросов и сохранить какую-никакую связь.

Вы бы стали скачивать игру, где описание написано «коряво» и местами теряется связь между словами/предложениями?

Методы продвижения и заключение

Решено было использовать как платные, так и бесплатные методы продвижения. Среди платных планируем использовать рекламу в социальных сетях как в стандартном виде (публикация постов), так и в виде конкурсов с денежными призами. Среди бесплатных – написание статьи как в Российские (вы читаете ее сейчас), так и зарубежные площадки.

Суммарно было потрачено 2 месяца, из которых на разработку игры 4,5 недели. Каждый день написания кода и удачного внедрения очередной функции в игру доставлял нам неимоверное удовольствие, чего нельзя сказать о последующем решении организационных вопросов. В планах написать статью о промежуточных финансовых результатах после достижения 50-и тысяч скачиваний (или не достижения), и Вы, как никто, можете ускорить этот процесс, скачивайте и оценивайте нашу игру по ссылкам ниже!

Пойдет ли Flexy Ball вопреки правилам математики или обнулится?
1) (2 + 125) ✱ 0 = 1
2) (2 + 125) ✱ 0 = 0
Показать результаты
Переголосовать
Проголосовать

* находится на станции метро Бауманская

0
71 комментарий
Написать комментарий...
Дмитрий Климов
"Очередной безидейный клон"
"Есть реклама. Есть платный контент"
Ответить
Развернуть ветку
Даниэль Самуэль
Автор

Здравствуйте, Дмитрий, простите, но клон чего?)
"Есть реклама. Есть платный контент" - мы конечно хотели попробовать создать приложение и выложить его в магазины (то есть получить некий опыт), но также, одной из наших задач было попробовать заработать "денег", посмотреть сколько это принесет. Мы занялись этим не только ради интереса. Это абсолютно адекватная история. На счет платного контента: мобильная игра, которая распространяется бесплатно имеет два типа монетизации: реклама и внутриигровые покупки. Изначально в игре была только реклама, но потом, мы решили разобраться и во внутриигровых покупках и добавили их в игру. Да, сейчас для нас покупка новых мячей выглядит немного странно, лучше было бы сделать их доступными после набора определенного количества очков (например), но мы уже их добавили, исправить можно, но пусть остаются =)

Ответить
Развернуть ветку
Mika

Ох, так вы действительно хотели заработать на этом? Я думал это чисто по фану.
Вас же там несколько, скиньтесь, купите, хоть какой-нибудь курс по продуктовой разработке. Тут недавно попадалась статья про очень годный Gopractice от Олега Якубенкова. Вы хоть примерно поймете как работают маркеты Apple и Google. 

мы были готовы к тому, что некоторым людям не понравится наш материал =)

Некоторым? Судя по количеству комментариев и их содержанию ни ваша игра, ни ваша статья не зашла вообще никому. К этому надеюсь вы тоже были готовы.
Вы же эту унылую статью написали, чтобы трафика нагнать? Вы не сможете в 2020 выехать на бесплатном SEO. А денег на платный трафик вам жалко. Да и правильно, не стоит, рекламные каналы забиты. А с такой ерундой, вам никаких ресурсов не хватит. 

Решено было использовать как платные, так и бесплатные методы продвижения. 

Единственное, что вам нужно это виральность. Цена за пользователя в соц сетях для вас будет слишком высока, вы не отобьетесь. Но кто, блин, в здравом уме это друзьям порекомендует. 

 так и в виде конкурсов с денежными призами

Вот это вообще не работает. Уж лучше просадите бюджет на какой-нить контекст. Но повторюсь, без понимаемой виральности можно даже не пытаться.

Ответить
Развернуть ветку
Даниэль Самуэль
Автор

Mika, уже во второй раз призываем Вас читать внимательнее, мы не просто так в словосочетании "заработать денег", последнее слово выделили кавычками. Более того, формально мы выполнили это, ведь за вчерашний день игра принесла нам 1,21 доллара =)
Да, нас двое (что, кстати, тоже указано в статье, более того, для тех "сканирует" статьи, а не полностью их читает, мы добавили картинку с нашими персонами. Понимаем, это уже более как придирка, но фраза "Вас же там несколько" звучит неуважительно для нас), благодарим Вас за рекомендацию статьи и предложения купить курс, но мы негативно относимся к "приобретению знаний за деньги" и всяким курсам/интенсивам. Мы сторонники самостоятельного обучения. (Это все равно, что предложить идти начать учить английский язык в какую-нибудь языковую школу, в сети огромное количество информации, которая не требует денег, и если есть желание, то ее более чем достаточно, но если человек хочет прийти "на все готовое", то это тоже хорошо, тут все зависит от него самого). Во время работы над игрой, мы так же ознакомились и с тем, как работают маркеты, и у нас есть примерное понимание этого.
По поводу "оценки" игры и статьи: Наша статья набрала максимальное количество просмотров за вчерашний день в рубрике "Личный опыт" (более 3к просмотров). 49 человек добавило ее в закладки (либо для того, чтоб ее еще раз перечитать, либо чтоб лишний раз посмеяться над ней, либо чтоб вернуться к ней позже), 76 человек поучаствовали в опросе (и тут не важно, за что они именно проголосовали, тут важен сам факт голоса). Учитывая некоторые предыдущие статьи об играх, нас данные показатели устраивают. Более того, нас устраивает количество пришедших игроков. Так же получили довольно дельные советы по улучшению игры.
Не будем спорить, для Вас возможно статья и показалась унылой (как и некоторым из комментаторов или прочитавших статью). Но, простите нас, что Вы ожидаете от статьи, если в ее названии фигурирует словосочетания "0 опыта" и "2 месяца" ? Игру уровня GTA5? Опять же, "унылая статья", в чем заключается ее "унылость" ? Вам было неинтересно читать? Скучно? Мы можем получить пару аргументов в подтверждении "унылости" статьи? Мы не собираемся с Вами спорить, это для того, чтобы в следующий раз написать статью более "не унылую" (если аргументы будут достаточно увесистыми).
"Вы же эту унылую статью написали, чтобы трафика нагнать?" - Mika, это уже не смешно, мы в третий раз призываем Вас читать внимательнее. В статье черным по белому написано, что данная статья относится к методам бесплатного продвижения.
Кто Вам сказал, что денег на платный трафик нам жалко? Было бы их достаточно... Но так же мы хотим попробовать все виды бесплатного трафика, и потом попробовать платные методы продвижения. И это все при том, что игра должна понравится людям (более менее), которые пришли с бесплатного трафика. Вот смотрите, мы изначально планировали выложить данную статью на 4-х русскоязычных сайтах (две статьи на выходных и также через неделю), но, получив обратную связь по игре, и поняв, что нужно поменять некоторые вещи в ней, решили отложить это до выпуска обновления. Потом выложить на еще один сайт и посмотреть реакцию читателей, и после всего этого, выложить на остальных сайтах и, возможно, попробовать платные методы. Или нам сразу нужно было воспользоваться платным продвижением имея на руках сырую игру (как оказалось)? Да, нам повезло, что все так сложилось, и что читатели написали об этом, за что им огромное спасибо, сами мы этого не видели.
Да, про виральность, это хороший совет, мы тоже думаем об этом и изучаем этот вопрос, но в любом случае, сначала нужно доделать игру.
Почему не работают конкурсы с денежными призами? У нас есть два знакомых, один из которых обучается в школе, второй в университете и у обоих достаточно большой круг общения, и им игра может понравится (правда когда она уже будет доработана), вот мы и хотим запустить среди них, посредством соц. сетей, некий челендж: "Два человека, которые наберут максимальное количество очков за неделю (среди соревнующихся), получат n-ю сумму)". Так же, будет возможность набрать некоторое количество отзывов и подать заявку в фичеринг в сторах. И либо до подачи заявки, либо после попробовать покупать установки. Чем это плохо?

Ответить
Развернуть ветку
Mika

.

Ответить
Развернуть ветку
68 комментариев
Раскрывать всегда