ABChess

Денис Тимоненков

July 10, 2020
6 мин

Задача

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

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

Итак, устанавливаем флажок для контроля сроков, запускаем наши часы, делаем первый ход...

Дебют

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

В основу, как наиболее свежий язык программирования под iOS, лег Swift. Самой сложной задачей на этом этапе — как ни странно — стала разработка доски. Мы изучили уже существующие шахматные движки, и самым популярным оказался Stockfish. К сожалению, применить его мы не могли: для интеграции этого движка пришлось бы писать кодовую прослойку на древнем objective-C, а это заняло бы слишком много времени. Посоветовавшись с заказчиком, мы решили временно применить другой движок. Пускай он менее функционален, зато — его инструментов вполне хватало для MVP.

Когда основная часть приложения готова, пора выкладывать его в App Store. Однако оказалось, что за публикацию надо было еще немного побороться.


Миттельшпиль

Первым препятствием стало то, что модераторов Apple смутил недоработанный функционал Личного кабинета. Отказ, конечно, обоснованный, однако — эта часть не была у нас в приоритете. Чтобы устранить проблему, наши программисты поставили заглушки в тех разделах, которые будут дорабатываться — сработало.

Далее, у модераторов из Apple возникли проблемы с авторизацией. Как мы скоро поняли, проблема была вызвана не нарушением функционала, а техническими трудностями у модераторов, поэтому — решали ее менеджеры в переписке.

По просьбе Apple мы также добавили вход в приложение по Apple ID.


Эндшпиль

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

Оставалось разработать Игровой модуль. Начали мы с замены шахматного движка на тот, что хотели изначально — на Stockfish. Попутно дописали логику игры (например, распознавание ничьи).

Когда приложение готово, осталось внедрить внутренние покупки (in-apps). Покупок было два вида: разовые покупки (курсы) и подписки (пакет курсов на ограниченный период времени). Совместно с backend-разработчиком мы создали систему формирования покупок в App Store, готовую к масштабированию — так заказчик мог создавать новые товары в приложении самостоятельно.

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

Еще о наших проектах

Sixhands GPT Alpha