http://habrahabr.ru/post/252421/
Я бы мог читать ей поэзию. Я бы мог забронировать столик в ресторане, устроить ужин при свечах: хорошее вино, услужливый официант, приличные люди вокруг. Нежно касаюсь её руки и шепчу:
— Любимая…
Но когда ко мне подошел коллега и сказал:
— Смотри, что я закодил для своей женщины.…
Я понял, что это — любовь. Это — навеки.
Я тоже хочу так.
Клон
В мобильном приложении девушке предлагалось выбрать из двух совместных фотографий ту, что была снята раньше.
Расчёт был прост:
- Девушки любят вспоминать счастливые моменты вместе;
- Девушки любят, когда мы помним все даты;
- Девушки любят сюрпризы.
Игра точно попадала в целевую аудиторию, и мне, как профессиональному геймдизайнеру, было очевидно — эту идею необходимо склонировать. Но прежде стоило оценить риски.
Мой вопрос |
Его ответ |
Мои мысли |
---|
Сколько времени ушло? |
Часов пять ночью. |
Отлично! Одну ночку посидеть. |
На чем кодил? |
Unity3D. |
У меня за плечами — 12 лет в Game Maker.
С ним управлюсь и того быстрее! |
Ей понравилось? |
Ты что, она была в восторге!
Не думала, что такое возможно.
Она со своим Андройдом на «Вы».
В игры не играет.
Только смски пишет и ВКонтакте сидит. |
F*ck Yeah! |
Последний ответ развеял все сомнения: игра стоила свеч, ещё как стоила! Остались технические нюансы.
Тэп по фотографии выводил текст прямо поверх неё. Если выбрано правильное фото, похвала и воспоминания. Если девушка не угадала, текст в духе: «Солнышко, неужели ты не помнишь?» И, опять же, приятные воспоминания. Никакого негатива. Реиграбельность (интересно ведь, что сказано о других снимках). Интуитивно понятный интерфейс.
Всего двадцать фотографий. По две на экране. Нажал — выбранное фото масштабируется и улетает вниз. Второе фото тут же исчезает. Появляются ещё два. И так далее.
В конце, когда лучшие моменты жизни отобраны, фотографии взмывают ввысь, к самому центру сцены, чтобы там перевернуться, подобно скрижалям, составляя главные слова:
— Стоп, а как ты сделал переворот?
— Просто меняю скейл карточки по иксу.
— Фуф… Отлегло.
Первая кровь
Я принялся за подарок в первую мрачную ночь. Притворился, что есть срочная работа.
Меня ждала адская прорва анимации. Но раз коллега смог, и я смогу. Помнится, он подключал библиотеку
LeanTween для
Unity3D. Я решил ответить на это
TweenGMS в
GameMaker: Studio.
Тут меня, жалкого эпигона, ждал первый подвох: раньше я никогда не анимировал через эту библиотеку. Она подключилась легко, но на изучение нюансов ушло какое-то время. Этой же ночью мне почему-то вспомнилось, что приложение коллеги автоматически адаптировалось под любые размеры экранов.
У моей девушки есть iPhone и iPad mini, а значит, нужно во что бы то ни стало подогнать игру под все разрешения вообще. Вы спросите, где логика? Три ночи. Я ухожу в дебри скейлинга, сажусь на крючок анкоров, привязываюсь к DPI. Впору заревновать. Светает… Первая ошибка Тони Вендиса.
Настоящий детектив
Рабочим днём, да простит меня коллектив, я попытался осознать, что пошло не так, покаялся программисту, поведал о планах. Клон мой он благословил и наставил на путь истинный.
Следующей ночью было уже не до шуток: девушка заподозрила что-то неладное. Близились выходные, а я отчаянно не успевал. Оказалось, что подобрать двадцать фотографии за три года нашей совместной жизни не так-то просто: они разбросаны не только по папкам, но и по устройствам. Ещё сложнее узнать, какая была снята раньше. EXIF-данные отчаянно свистят. «И лампа не горит, и врут календари…» Приходится восстанавливать ход событий по её Инстаграму: нахожу посты в тех же локациях, выписываю даты, сверяюсь. Готово. Я МакКонахи, блин, я —
True Detective.
Выходные. Скрывать сюрприз всё опаснее. Девушка поглядывает на меня, негодуя. Нужно срочно что-то решать. Я решаю, что нельзя просто так взять и добавить фотографии, нужно делать дизайн, чтобы каждый снимок под полароид. Ищу шаблоны Polaroid для Фотошопа, качаю плагин для чтения PSD в
Paint.NET, обновляю Paint.NET. Спокойной ночи, любимая!
В белых домашних тапочках, шаркающей кавалерийской походкой мешая любимой спать, поздней ночью третьего дня разработки я вышел на кухню с ноутом: впопыхах делать подписи к фотографиям. Хочется добавить, что «закат догорал на галёрке китайским веером», но догорали нервы, а сроки сгорели дотла, когда я дописал, наконец, последнюю строчку кода, запустил приложение на своём андройде
FNF iFive mini с экраном iPad mini и…
10 из 10, Господи! 10 из 10!Доброй ночи и удачи
Осталась малость: незаметно установить приложение на её айпад.
VMware, настало твоё время. Виртуальный мак ругается на сертификаты. iPad лежит в её сумке, сумка — рядом с кроватью. Ночь. Тьма. Я пытаюсь достать его, пальцы дрожат, сердце вот-вот выскочит из груди, она вздрогнула, я замер, она повернулась на другой бок. iPad у меня в руках! Я собираю приложение и валюсь с ног.
С утра, когда она собирается на работу, я передаю ей iPad и с гордостью сообщаю, что вот он — её сюрприз. Чтобы хоть как-то оправдаться, добавляю, что именно над ним я корпел последние два дня и три ночи. Милая иконка с сердечком:
Приложение запускается. Звучит наша песня. Сейчас вылетят карточки, такие красивые, совсем как мы. Сейчас… Сейчас… Можно, я покажу на своём планшете?
Перед рассветом
Его вопрос |
Мой ответ |
Мои мысли |
---|
Сколько времени ушло? |
Два дня и три ночи. |
Больше никогда! |
На чем кодил? |
Game Maker: Studio. |
Никогда. |
Ей понравилось? |
Она посмотрела и поблагодарила. |
Никогда… |
Через два дня я услышу, как она говорит сестре:
— Куда ходили? Никуда… Он все выходные просидел за компом, со мной не общался. Что подарил? Ну, он сделал мне игру…
Наши отношения становятся напряженнее. Я не хочу больше думать об этом подарке.
Через неделю, переписав часть кода, я найду, почему игра работала на Android и не работала на iOS (TweenGMS не успевал инициализироваться).
И открою главную причину провала клона: оригинал создавался, исходя из возможностей. Мой коллега правильно оценил сроки, потому что видел в голове не результат и реакцию, но процесс от и до. Все фотографии были в телефоне и легко сортировались по дате. Он использовал LeanTween много раз. Unity UI автоматически адаптирует картинку под любое разрешение. У девушки телефон на Android. Он помнил, что времени мало, и не зацикливался на дизайне. Она знала, что он — программист, но не знала, что он ТАК может. Он не тратил их совместное время на разработку. Они часто выбираются вместе куда-то, а этот подарок был чем-то принципиально новым. Уникальность, момент, маркетинг, аудитория. Всего этого я, конечно, не учёл.
И тут меня осенило! Это и есть разработка игр, совсем как в индустрии. Ты играешь в
Clash of Clans, читаешь о трёх месяцах на прототип, считаешь чужую выручку, и кажется, что клон — это лучшая идея. Спустя год разработки, когда момент выхода упущен, ты понимаешь, что потратил кучу времени и денег, и всё должно было быть по-другому.
Когда я, в конце концов, закинул рабочую версию на iPad девушки, она окинула меня, уставшего, понимающим, ласковым взглядом:
— Мне понравилось… Правда. Так приятно, что ты всё помнишь!
Завтра
8 марта. Я больше не буду учитывать. Стихотворение написано. Столик забронирован. Я ещё не знаю, что подарю ей, но знаю точно: мы заснём этой ночью вдвоём, друг у друга в руках, там, где раньше были планшеты.