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


Первые шаги


Вообще мы C++ разработчики и уже раньше пытались сделать кросс-платформенную игру, используя известные нам инструменты — Qt и C++. Тогда мы работали над игрой в жанре Tower Defence в новогоднем сеттинге. Для погружения в атмосферу инди-разработки предлагаю посмотреть пару видео из того времени:




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


Второе дыхание


В какой-то момент мы решили изучить нативные инструменты разработки. А именно SpriteKit на iOS. Я накидал демку на Swift, в которой было 1000 движущихся спрайтов с альфа каналом. Она заняла всего пару десятков строк кода и выдавала 60 fps на iPhone 5! Это был просто восторг! Низкий порог входа и бешеные возможности встроенного движка снова разожгли в нас энтузиазм!


На этот раз мы сформулировали основную цель так: Игра должна быть в AppStore! Она просто не может отправиться ко всем остальным недоделанным проектам на задворки гитхаба! Это означало, что игра должна быть настолько простой, чтобы её нельзя было не сделать. Пора начать доделывать дела!


Мы не могли себе позволить вручную создавать уровни, так как после создания игровой механики энтузиазм мог угаснуть. Поэтому думали сделать раннер или платформер с одним бесконечным уровнем. Как Subway Surfers, Doodle Jump, Nyan Cat или Flappy Bird. Также мы хотели минимизировать количество текста, чтобы не возиться с локализацией.


Вижу цель


Так что мы придумали? Беглое изучение инструментов разработки под iOS показало, что встроенный двумерный физический движок просто огонь! Разработка под него выглядит примерно так:


  • создать физический мир
  • добавить объект мяч в физический мир
  • добавить объект пол в физический мир
  • включить гравитацию!

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


Разумеется мы решили использовать физику в качестве основного элемента игры. Какую игру с бесконечным уровнем на основе физики можно сделать с мячом? Чеканку мяча!


По задумке, игрок должен управлять ногой футболиста и чеканить (набивать) мяч. Цель игры — начеканить как можно больше. Считаются отскоки от ступни, колена и головы. При этом, обязательным фактором была монетизация. Хоть какая-нибудь! Тут дело даже не в заработке — нужно познакомиться с инструментами.


Сделаем за неделю


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


Получилось! Мы реально успели сделать игру без дизайна и звуков за неделю. На инструментах, которыми. раньше никогда не пользовались (Swift + SpriteKit). Получилось нечто даже более-менее играбельное, правда с заглушками вместо нормальных текстур.


Скриншоты



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


Или за месяц


Так, стоп! Художник? Мы что крупная корпорация? Нет, но программисты обычно рисуют не очень. Поэтому было решено отдать это дело на аутсорс. Тем более, что наша неделя на игру подошла к концу.


Мы заказали у знакомой художницы 15 текстур, чтобы все они были в одном стиле, пропорциональны и гармоничны. За деньги. Да, мы инвестировали не только время) Вообще, это был первый опыт работы с фрилансерами. Полезный опыт. Рекомендую.


Постепенно из набросков стал вырисовываться дизайн игры.


Эскизы




Ну или за полгода


План с новым дизайном был такой: просто по одной меняем старые текстуры на новые и вуаля — игра готова. Как бы не так! Все текстуры были немного под другими углами, другого размера, с другими местами стыковки. Это привело к тому, что вся верстка уехала. При этом существенно нарушилась физика ноги и её нужно было отлаживать заново.


Новые текстуры были большего разрешения и при замене в редакторе сцены Xcode постоянно вылетал! библиотеки у Apple, конечно отличные, но IDE мягко говоря могла быть и по стабильнее! Приходилось удалять 10 версию Xcode и ставить 9, чтобы хоть как-то работать с текстурами.


Кстати, на каком-то этапе обнаружился интересный баг с коленом, который мы назвали "Режим кузнечика".



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


Финишная прямая


Вот у нас готова игра. Что нужно для завершения проекта? Загрузить в AppStore. Всего то. Для этого нужен аккаунт разработчика, политика конфиденциальности, иконки и скриншоты всех размеров, а также описания на языках всех стран, где вы хотите размещаться.


Это все решаемые задачи, но они тоже отнимают время. Регистрация аккаунта разработчика стоит $100, иконки разных размеров делаются в онлайн-генераторах, как и политика конфиденциальности. Побыстрому накидали и перевели глупые описания и отправили на проверку.



Проверка занимает 2 суток. У нас отклонили 1 раз из-за каких-то законов Китая. Мы просто не стали там релизиться, и через двое суток наступил этот долгожданный момент! Игра в магазине! Мы шли к этому полгода! Мы довели проект до конца!


Таки шо по деньгам?


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


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



По затратам проект вышел примерно в 150 человекочасов, 2500р оплата художнику и $100 за аккаунт разработчика. Окупилось? Давайте посмотрим в дашбоард Гугл рекламы.



Да, за все время мы заработали $5.41~ 360 рублей. При затратах в 9000 рублей. Итого, доходность мероприятия: -96%. Да, заголовок немножко кликбейтный, простите)


Что в итоге?


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


А что по поводу того, что заработали мы всего $5? Я вам скажу: Зато не на дядю!


P.S. Обязательно доделывайте дела. Если не получается — упрощайте, но доделывайте. Это очень полезное умение.


Удачи в ваших проектах!

Комментарии (40)


  1. rstepanov
    07.09.2019 20:01

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


    1. Krupnikas Автор
      08.09.2019 21:19

      Здорово, что Вы тоже довели проект до релиза! Как монетизировали? Можете поделиться показателем "доход с одной установки"?


      1. rstepanov
        08.09.2019 21:26

        Было 2 версии, бесплатная с рекламой и платная (недорого). В итоге вторая принесла больше денег, хотя назвать это «заработком» сложно. Пришел к выводу, что в следуюший раз (если соберусь) буду делать по схеме «бесплатно базовый контент + встроенные покупки». Рекламу — в топку.


      1. xxxTy3uKxxx
        09.09.2019 09:55

        Тоже есть три проекта в плеймаркете, два из них — "гиковские", твикер для MIUI и приложение с двумя кнопками для входа в скрытые меню на старых бетах OxygenOS (от OnePlus). Монетизацию делал за счет донатов (хотя в случае с ванпласом сначала пытался в рекламу). Как итог — за два года приложение для OnePlus принесло $269,22, твикер за три года — $128,66. Твикер в основной массе покупали пользователи из СНГ (сказывалось наличие темы на 4PDA), приложение для OnePlus — по всему миру. Цифры для трех лет не особо крутые, но много времени я на эти проекты не убил, денег в них не вкладывал (кроме $25 за аккаунт разработчика). Пока что сделал для себя вывод, что добровольные донаты или урезание функционала — самые приятные и ненапряжные способы получения дохода


        1. exzotikfruit_official
          09.09.2019 14:18

          MIUI Tweaks Pro? Во времена RN2 купил его себе


          1. xxxTy3uKxxx
            09.09.2019 16:04

            Нет, extMIUI мой назывался


    1. S1eng
      08.09.2019 13:31

      А с расчетом вашего времени затраченного на проект?


      1. rstepanov
        08.09.2019 13:36
        +1

        Тогда в убытке конечно же, я свое время ценю дорого :)


  1. questor
    07.09.2019 20:04

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


    1. Krupnikas Автор
      08.09.2019 21:17

      Так и планируем. Лучше двигаться постепенно, чем не двигаться вообще.
      Постепенно все глубже понимаем геймдев)


  1. puyol_dev2
    07.09.2019 20:46

    Заработали 5. А потратили 99 баксов на аккаунт разработчика Apple + работа стороннего дизайнера


    1. Krupnikas Автор
      08.09.2019 21:16

      Так и есть. Нашей главной целью было выложить игру в магазин и изучить инструменты монетизации. Эту цель мы достигли)


      В следующий раз уже будем думать о заработке!


  1. usego
    08.09.2019 21:58

    150 часов? С нуля и без опыта? За пол года? ОК…


    1. Krupnikas Автор
      08.09.2019 22:13

      Разумеется опыт в разработке у нас был. Но как я и написал с этими инструментами мы работали впервые. У Swift и Sprite Kit удивительно низкий порог входа. Могу посоветовать книгу, которую мы сами полистывали в процессе создания игры: "2d apple games by tutorials".
      https://store.raywenderlich.com/products/2d-apple-games-by-tutorials
      Цифры в посте реальные)


  1. KanuTaH
    08.09.2019 22:18

    Ностальгия, ностальгия. У меня тоже есть несколько игр для iOS в App Store «для души», правда, я их написал таки на Qt, вот, например, одна из них:

    github.com/pocketpiglet/pocketpiglet-ios

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


    1. Krupnikas Автор
      07.09.2019 22:40

      Круто! Поделитесь статистикой?


      Про "жонглирование указателями" написал, чтобы подчеркнуть наши эмоции в тот момент) Конечно, мы не работали с сырой памятью, но нельзя отрицать, что Swift более высокоуровневый, чем C++.


      1. KanuTaH
        07.09.2019 22:48

        На самом деле я бы не сказал, что Swift более «высокоуровневый», но это вопрос вкуса. Смотря как писать. Судя по App Store Connect, с ноября 2017 у него около 3.5k установок, заработано около $150 именно в App Store, по рекламе лень смотреть, к тому же ее в связи с новыми правилами App Store касательно детских приложений недавно пришлось убрать :)


  1. aivs
    08.09.2019 01:05

    Вот моя история:
    1) Провел исследовательскую работу по работе CAN шины автомобиля — 1 месяц
    2) Сам нарисовал дизайн — 2 недели
    3) Написал узкоспециализированное приложение для wi-fi elm327 адаптера, работающее только на skoda octavia a5 — 2 месяца
    4) Выложил в AppStore за 1$, никакой рекламы не давал, только статья на профильном форуме


    Написал статью для одного журнала, как я разрабатывал это приложение — отбил стоимость аккаунта на год.
    За 3 месяца заработал 75$, выводить можно он 150$


    Вывод: рассказывать о самом приложении выгоднее, чем продавать его.


    1. Firz
      08.09.2019 10:56

      Написал узкоспециализированное приложение для wi-fi elm327 адаптера, работающее только на skoda octavia a5

      Вывод: рассказывать о самом приложении выгоднее, чем продавать его.

      //Sarcasm
      Действительно, удивительное дело.


    1. krimtsev
      09.09.2019 08:00

      а можно ссылку или название приложения?


      1. aivs
        09.09.2019 11:08

        1. krimtsev
          09.09.2019 12:45

          купил, спасибо!
          Дождусь с Ali ELM-ку и дам знать, как работает на Golf 4 (2000).


          1. aivs
            09.09.2019 12:55

            Скоро будет большое обновление, нашел в недрах авто протокол, который должны поддерживать все ВАГи.


  1. Terras
    08.09.2019 01:58

    Ну… золотой век мобильных приложений, когда можно было на коленке собрать какое-то говно за 3 копейки и купить на деньги от приложения квартиру в Москве, уже давно прошел. Поэтому, ничего удивительно.

    Сейчас большие студии, аналитические исследования, штат из 50+ разработчиков, сетка влияния и распространения приложения, бюджеты на рекламу чуть ли не в 50-60% от прибыли приложения (с изначальным бюджетом на рекламу в 500-600к баксов) и так далее. Как говорится, добро пожаловать в серьезный бизнес.|

    Вот моя недавняя статья, что и статейные сайты сейчас тоже уже не «фантастика» — habr.com/ru/post/447952 (хотя со своим сайтом я успел прыгнуть в последний вагон и все же заработать на нем смог)


  1. shalm
    08.09.2019 08:24

    Если смотреть на это как на хобби, то всё нормально — время потрачено не скучно, цена вопроса одна пьянка-гулянка.


  1. alan008
    08.09.2019 09:49
    +1

    Учитывая миллионы игр в маркетах гугла и эпла, я не верю, что реально там что-то сейчас продвигать, если только это не какая-то супер идея "одна из 100000" хотя бы, но крайне сложно создать нечто подобное.


    1. Terras
      08.09.2019 10:00

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


    1. Polaris99
      08.09.2019 18:58

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


  1. ninJo
    08.09.2019 14:42

    Мы втроем сделали игру на платформе андроид, дошли практически до миллиона скачиваний. Заработали около $3.5k с рекламы и игровых покупок, решили запилить игру на юнити, чтобы выйти на иОС и избавиться от серьезных багов на андроиде. Пытались разобраться сами — не очень получилось, да и времени мало. Наняли разработчика — он сделал 3/4 работы и исчез с концами, хорошо хотя бы его код остался… Наняли заместо него индусов с почасовой оплатой, в какой-то момент у нас кончились деньги, а работы еще более чем достаточно… Сейчас нашли вроде инвестора, такие вот дела, может когда и если, все это дело закончится, напишу статью на хабру…


  1. Zoomerman
    08.09.2019 16:05
    +2

    Кликбейт в заголовке…
    Статья в стиле «пиарюсь»…
    Маты в видео…
    Хабр, опомнись!


    1. alan008
      09.09.2019 08:23
      +5

      Маты в видео

      Хрень и хренеть — это эвфемизмы, а не мат (т.е. не обсценная лексика). Как и слово "грёбаный", кстати.


  1. Polaris99
    08.09.2019 18:57

    Да что ж вас всех так в игрушки тянет, где конкурентов пять вагонов и шансов что-то заработать — чуть выше нуля??? Та же энергия, направленная в русло реального производства, дала бы в разы больше выхлопа.


    1. WeekOfTheAgents
      08.09.2019 20:07

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


    1. IgorPie
      09.09.2019 09:41

      производства — чего?


      1. igrushkin
        09.09.2019 13:54

        игр :-)


  1. igrushkin
    09.09.2019 13:52

    Молодцы!
    И что мешает напыщенному индиразработчику из недавней статьи тоже нанять фрилансера для графики? А не кичиться тем, что его игры выглядят ужасно


    1. Areso
      09.09.2019 15:15
      +1

      Экономика. Он, конечно, с завышенным ЧСВ, но он прикинул и сделал предположение (или у него были уже такие проекты), что деньги на фрилансера (а тут он показывал довольно точный расчет) не отобьются продажами. Т.е. вылетит в трубу, и чтобы платить по счетам пойдет работать на дядю, а не делать игры. Сделать графику для RPG и сделать графику для кликера — два разных объема работ.
      Считаю, что он в чем-то прав, хоть и не одобряю то, как это написано.


      1. igrushkin
        09.09.2019 15:18

        да уж, ЧСВ там зашкаливает. Он прав, если набирать фрилансера из США, но что мешает взять из Индии или Украины? Просто ЧСВ настолько велико, что на глазах шоры


    1. WeekOfTheAgents
      09.09.2019 15:22
      +1

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


  1. Jullib
    09.09.2019 14:19
    +1

    Молодцы! 5$ тоже деньги У меня даже энтузиазм возгорелся после вашей статьи по моим незаконченным приложениям, пошла доделывать)))) Спасибо за пост)