Году так в 2019-ом супруга говорит мне «А что ты, родной, как лох без высшего образования живёшь?». А я как-то не задумывался над этим моментом, профильное у меня бухгалтерское плюс патологическая склонность к программированию привели меня в адинэс и не отпускали уже лет двадцать. Внутренний червячок, конечно, грыз про бездуховность адинэса и забвение в конце этого славного пути, но кому в нашем малом городке нужны программисты как не на 1С. Ну, вот это и был мой хлеб. Параллельно для себя что-то писал на C#, Dart, PHP, но это больше в стол, без коммерческого успеха. А тут жена мне с этим верхним образованием. Одним словом – поступил на очное что-то там «информационные технологии и вот это вот всё». Даже стипуху повышенную получал, иногда. Но это всё присказка.
Курсе на третьем началась дисциплина «Мобильная разработка» и вот тут я задал себе главный вопрос «А какого собственно члена, родной, ты не пишешь под мобилы? Используешь Dart и Flutter, но не реализуешь их потенциал полностью?». А тут как раз все карты сошлись: надо закрыть предмет, есть андроид под рукой, и есть заготовка с предыдущего курса на C# с реализацией криптографического модуля. Самое время забацать игру.
Пошёл смотреть готовые реализации в магазине и что-то как-то не впечатлило меня. Все игры в серии «криптограмма» были однотипными от слова совсем с небольшими вариациями в плане монетизации. Монетизация у большинства решалась топорно: показом неотключаемой рекламы с блокировкой игры каждую минуту, ну, или каждые 20 секунд, от чего жостко полыхало в отзывах на маркете. Механика и интерфейс игры у всех были едины, и у меня есть смутное предположение, что где-то в сети лежит исходник, который они все взяли за основу.
Вот эталонная картинка и у меня сразу были к ней вопросы:
- Почему у вас есть число «3» (три) и вы не можете сразу проставить букву «Е» во все ячейки с числом «3»? Почему каждый раз это надо делать отдельно?
- Почему вы упарываетесь этими цитатами, если у вас есть прекрасная возможность использовать большие куски текста?
- Почему вы пишите число ниже ячейки, если можно писать прямо в ячейке? Вот в этот момент картинка в голове у меня и проявилась:
Дальше всё было просто и привычно: прописать структуры данных, игровую логику, пользовательский интерфейс и набить это всё неограниченным контентом.
Требования мои по интерфейсу были просты:
- Если пользователь тапнул на число (условно 58), то все 58, что есть на поле, тоже должны выделиться.
- Если в тексте нет буквы Ё, то блокируем букву на клавиатуре. Буква Ё это одна большая жопная боль, потому что современные издатели её категорически игнорируют. Некоторые не игнорируют, но у них буква Ё в тексте произвольно, здесь она есть, а тут её нет.
- Тексты большими портянками минимум на пару тысяч символов. Что бы у игрока была возможность прокрутить и зацепиться за какой-то паттерн.
- Последние нераскрытые числа должны подсвечиваться красным, что бы выделяться на общем фоне текста.
- Никаких блокирующих рекламных показов во время игры, только рекламная плашка сверху и полноэкранная реклама для получения бустеров.
- Автономность. При первом запуске держать в себе 250 уровней.
В результате получилось то, что получилось:
С контентом для игры идея была максимально тупая, но рабочая. Зачем заморачиваться с поиском текстов, если ты можешь взять их официально у издателя. Самый большой кит в нашем издательском море конечно ЛитРес, тем более предоставляет API для партнёров, что уже избавляет меня от ручного труда. Хотя я кажется написал и позвонил всем доступным, но надежды у меня были только на ЛитРес.
Небольшая ремарка. Разработку первой игры я могу сравнить только с бегом по полю, на котором лежат сотни граблей. И вот ты такой бежишь, а грабли тебя хреначат в лоб одна за другой, и нет им конца. Конец ремарки.
Литрес не отвечал. От слова совсем. Ну, я человек простой, я начал звонить в издательство. А у них так не принято, но общались вежливо. По итогу мне сказали, что в целом я предлагаю какую-то дичь, и что они работают с блогерами или около того. Собственно моё письмо по этой причине и футболили от одного сотрудника к другому, никто не хотел брать на себя ответственность с партнёркой. Но, по итогу нашёлся смелый человек и партнёрку подписали, так что я могу вполне себе официально использовать демонстрационный контент издательства, предоставляя при завершении уровня ссылку на ЛитРес с реферальной ссылкой. Остальные издатели так и не ответили, но это было уже не важно.
Публикация на RuStore была очень простой, даже не стоит об этом упоминать. Там не было никаких душных соглашений как в Google.Play, достаточно оформить страницу, накидать скринов, описание игры и добавить видосик. По видосикам вышла проблема (поле граблей, не забывайте про него) – только горизонтальное видео. А игра у меня вертикальная. Но я же человек простой, тупо повернул видос на 90 градусов и отправил. На удивление прокатило. Хотя через пять-шесть релизов после мне отклонили публикацию по причине несоответствия видео, вот как-то так всё это работает в RuStore. Но это всё неважно, потому что публикация состоялась:
https://www.rustore.ru/catalog/app/ru.id164506007810.decipher
Не знаю с чем сравнить, какое-то воодушевление, когда выкладываешь своё творение в публичное поле и тебе в целом не стыдно за свою разработку. Получил свою заслуженную пятёрку от препода, который потратил десятки часов на тестирование.
Дальше по плану уже была публикация в Google.Play, но это уже отдельный сорт граблей, который я постараюсь описать в следующем посте.