Оффтоп Timur Fazullin
1 657

Мобильная игра для продвижения продукта

Команда Университета Иннополис о том, как и зачем создавалась энциклопедия современных технологий и почему вместо неё выпустили развлекательное приложение, которое набрало 300 тысяч скачиваний без вложений.

В закладки
Короткое вступление

Летом 2017 года мы выпустили образовательную игру для iOS и Android. За это время её скачали 300 тысяч раз, появились 122 видео с советами по прохождению. Прежде подобных проектов мы не делали и не рассчитывали на успех этого эксперимента, так как изначально планировали анимированную ИТ-энциклопедию.

От энциклопедии к игре

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

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

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

Элементы разбиты по категориям

С каждого по способностям

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

Начали со сценария: «После череды катаклизмов и катастроф планета оказалась на грани исчезновения. Игрок выступает в роли учёного, проснувшегося после тысячелетнего сна в криогенной капсуле. Теперь ему предстоит восстановить жизнь на Земле. Но у него есть только три первоначальных элемента — человек, железо и бит. При правильной комбинации этих элементов игрок открывает новые».

2nd Chance создана по принципу «Алхимии». Мы продумали 300 элементов, связанных с наукой, информационными технологиями и культурой гиков. Каждый элемент содержит описание и характерную иконку, чтобы у игроков появилось представление о бозоне Хиггса, DDOS-атаке, теории струн, коте Шрёдингера, полиморфе, технологической сингулярности, ботнете и даже танце с бубном.

Игрок может повернуть экран смартфона и посмотреть, как изменился мир с помощью его открытий. Для этого мы нарисовали 150 картинок с минимальными отличиями. После каждых двух открытых элементов в мире что-то меняется.

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

За открытие определённых элементов и категорий присуждаются бейджи: «Всезнайка» за открытие всех элементов в категории «Наука», «Первооткрыватель» за открытие всех элементов, «Разыскивается живым и мертвым» за открытие элемента «Кот Шрёдингера», «It hero» за открытие элемента «Университет Иннополис» и другие.

Научпоп и фан

Приведу цитату нашего научного консультанта Стаса Протасова из статьи в «Известиях»: «Мы не стремились придать игре научный статус, а исходили из желания сделать игровой процесс веселым, но постарались, чтобы получаемые в ходе игры знания были объективными.

Сейчас есть определённый спрос на популярную и развлекательную науку. Популяризаторы пробуют разные каналы доставки такого контента: от научных боёв, каналов на YouTube, подкастов до квестов и интерактивных музеев. Почему бы не попробовать игры?

Здесь нужно понимать разницу между популяризацией и просвещением: первое нужно для создания заинтересованности, а второе — для устранения досадных пробелов в знаниях.

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

С первым обновлением добавили подсказки

Немного разработки

Далее рассказывает Александр Смирнов, веб-дизайнер, отвечавший за техническую часть.

Билд собрали на Unity. Это кроссплатформенное решение, оно позволяет делает за тебя подписи, оптимизацию и так далее. Это удобно. У Unity есть свои плюсы и минусы, но, учитывая такие параметры, как время и деньги, мы не стали делать нативно.

Нативное приложение можно лучше оптимизировать под конкретную платформу. Но в Unity общая кодовая база, и он своими средствами решает, что и как лучше оптимизировать в приложении. Основная проблема была в том, что мы напихали в игру множество графических элементов: 300 иконок, 150 видов мира, 15 категорий, бейджи и так далее.

На Android после нажатия на кнопку «играть» ресурсы грузились до десяти секунд, что для подобного рода приложений слишком долго. Все графические элементы хранились в атласах. Их преимущества в том, что при считывании атласа считается один большой файл, и это быстрее с точки зрения input-output операций, чем если считывать более 700 маленьких файлов по отдельности.

Но с другой стороны атлас занимал больше места на жёстком диске, потому что на нём оставались пустые незаполненные области. То есть, ускоряя работу приложения, мы жертвовали его размером. К тому же, со стандартной оптимизацией Unity билд получился в 1,04 Гб на iOS, для Android в 324 Мб с учётом веса проекта в 350 Мб.

С Android наткнулись на то, что если apk больше 100 Мб, то приходится его разбивать на две части: сперва устанавливается первая часть, потом догружаются остатки. Чтобы снизить вес, надо было сильно сжать текстуры.

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

Для пользовательского интерфейса использовали библиотеку NGUI. И с такими оптимальными параметрами в итоге сжали размер для Android до 70 Мб, для iOS — до 236 Мб.

Проект затягивался в том числе из-за постоянного динамического редизайна. Изначально мы рисовали место для скрещивания элементов в виде картриджей и даже сделали анимацию.

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

Неудачный релиз

Спустя полгода 2nd Chance была готова. Далее мы создали аккаунты в мобильных магазинах и ждали подтверждений после загрузки приложений, параллельно с этим готовили релизы. Когда нас одобрили App Store и Google Play, мы написали в дружественные издания и кое-где даже вышли статьи. Но новость не бомбанула, и мы решили двигаться дальше.

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

Дальше — больше. Количество установок росло и иногда мы даже попадали в топ головоломок Google Play. 2nd Chance комментировали на форумах, появились видео с прохождениями. На момент написания текста у игры 300 тысяч установок и 122 видео с прохождением. Для нас это жирный результат, учитывая, что на проект мы не потратили ни рубля.

Мир меняется в зависимости от прогресса

Первое обновление

Мы прочитали все отзывы и выяснили, что люди испытывают затруднения на 20-30 элементе, так как в их уравнении слишком много неизвестных. Игра резко осложняется тем, что метод подбора перестаёт работать из-за роста числа доступных элементов.

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

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

Так он узнает, куда стремиться. Это бесплатно, но подсказки доступны после просмотра короткой рекламы. Еще ввели платные функции: за 99 рублей пользователь разблокирует версию с подсказками без рекламы и увидит все тупиковые элементы, которые не участвуют в будущих реакциях.

Так мы надеемся собрать средства на поддержание этого некоммерческого образовательного проекта. Для этого мы привязали к приложениям университетский счёт для пожертвований.

Планы и идеи

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

Скачать игру 2nd Chance можно в маркетах Google Play и AppStore.

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Timur Fazullin", "author_type": "self", "tags": [], "comments": 6, "likes": 9, "favorites": 1, "is_advertisement": false, "subsite_label": "flood", "id": 31136, "is_wide": false, "is_ugc": true, "date": "Fri, 22 Dec 2017 16:36:00 +0300" }
{ "id": 31136, "author_id": 121768, "diff_limit": 1000, "urls": {"diff":"\/comments\/31136\/get","add":"\/comments\/31136\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/31136"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199791 }

6 комментариев 6 комм.

Популярные

По порядку

Написать комментарий...
2

Можете мне тупому обьяснить как можно сделать игру за 0 рублей? Вам её золотая рыбка наколдовала? Если всё же команда состояла из:
1-2 - два копирайтера
3 - один графический дизайнер
4 - один веб-дизайнер
5 - консультант
6 - переводчик
7-8 - полагаю код не сам себя написал
9 - руководитель

, то над проектом работало 9 человек у которых есть условная цена в час. То что вы никому не платили и все работали на энтузиазме, не означает что потрачено 0 рублей, потому что нужно считать недополученную прибыль каждого человека за время разработки. Потому что время это ресурс, человек делая работу продаёт свой ресурс за деньги.

Представим на секунду что средняя ставка среди вас всех это 30 долларов в час, и что вы в среднем посвящали себя игре на четверть ставки в течении полугода. Тогда это 168 (рабочий месяц) * 0.25 (четверть) * 6 (месяцев) * 30 (баксов) * 9 (рыл) = $68040. Я, понятное дело, цифры взял из воздуха, но по такому же принципу вы и с реальными можете посчитать. Временные инвестиции это тоже инвестиции, не считать их это диллетанство.

А если это всё делалось на работе, в рабочее время, то просто за вашу игру эти же деньги заплатил работодатель.

Ответить
–1

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

Ответить
0

Вы всё верно говорите, Дмитрий. Мы сознательно не считали себестоимость потраченных часов, так как работали над проектом факультативно, без отрыва от основных задач. То есть мы не посвящали себе игре на четверть ставки в течение полугода. И сделать ревью проекта и написать анонс не занимало у людей четверть дня в течение полугода. Точно время мы не засекали, но думаю, будет здорово, если 5% рабочего дня наберётся.

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

Ответить
1

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

Ответить

0

> Надеюсь, удасться зарелизить игру в 2018 году.

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

Ответить
0

:-) Сгорел уже от стыда

Ответить

0
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } } ]
Хакеры смогли обойти двухфакторную
авторизацию с помощью уговоров
Подписаться на push-уведомления
{ "page_type": "default" }