Разработка мобильной игры для iPhone: из чего складываются сроки и смета
Перед заказом игры для iPhone важно понять две вещи: сколько она будет стоить и когда будет готова. Ответ зависит не столько от числа экранов, сколько от того, что происходит внутри игры: сколько в ней механик, откуда берутся уровни, кто рисует графику и нужен ли сервер. Разбираем это на трёх наших играх: «Час пик», «Орбита» и «Котаклизм».
Сколько стоит и сколько делается игра для iPhone
Цену и срок игры мы называем после брифа: отдельной строки для игр в прайсе нет, потому что две игры с одинаковым числом экранов могут требовать совсем разного объёма работы.
В прайсе есть тариф «Мобильное приложение» — от 200 000 ₽ и от 2 недель, но это не цена игры. Тариф описывает приложение другого типа: до 6–8 экранов с онбордингом, аккаунтами, профилем и настройками. Там же сказано, что сложная бизнес-логика оценивается отдельно, а у игры основная работа — как раз логика: правила, физика, уровни, противник. Поэтому смету игры считаем под конкретную механику.
Условия те же, что и у остальных проектов:
- Смета до старта. Сначала бриф и расчёт, потом договор.
- Цена и срок в договоре. Цена не меняется в процессе, объём меняется только по соглашению сторон отдельным документом.
- 50% предоплата и 50% по акту. Предоплата — в течение 3 рабочих дней с подписания договора; срок считается с поступления предоплаты и получения от вас исходных материалов. Вторая половина — в течение 3 рабочих дней с подписания акта, когда работа принята.
Типовой договор на мобильное приложение можно прочитать заранее в разделе «Документы».
Из чего складывается смета игры
Смета игры складывается из пяти частей: правил, содержимого, графики и звука, платформ и всего, что работает за пределами телефона.
- Правила и механика. Сколько действий у игрока, есть ли физика и компьютерный противник.
- Содержимое. Сколько уровней, собираются ли они вручную или генерируются, сколько языков. У «Котаклизма», например, 12 уровней кампании и 119 ключей интерфейса на русском и английском.
- Графика и звук. Рисует художник, покупаются готовые наборы или всё создаётся кодом.
- Платформы. Только iPhone или ещё iPad, нужна ли веб-версия. Все три наши игры работают на iOS 17+ на iPhone и iPad, у «Час пик» и «Орбиты» есть веб-версии.
- Всё за пределами телефона. Сервер для сетевой игры, встроенные покупки, аккаунты игроков.
Для примера — объём своего кода в наших играх. В аркаде «Орбита» — 3 008 строк. В головоломке «Час пик» — 6 646 строк, из них 3 787 на Swift для iOS и 2 322 на JavaScript для браузера: правила там реализованы дважды. В артиллерии «Котаклизм» с разрушаемой землёй, своей физикой, противником и игрой вдвоём — 8 853 строки на Swift, и это только версия для iOS.
«Час пик»: как гарантировать, что каждый уровень можно пройти
В «Час пик» каждый уровень проходим: игрок получает его, только если наш решатель сам дошёл до победы, поэтому непроходимая раскладка исключена.
Суть игры: сверху очередь пассажиров, снизу забитая парковка автобусов, и нужно выводить автобусы так, чтобы развезти всех. Решатель перебирает ходы с отсечением повторов — до 200 000 состояний в приложении и 120 000 в браузере. Для этого правила вынесены в отдельную структуру без ссылок на интерфейс. На том же решателе построены три вещи:
- Подсказка — не «любой доступный ход», а первый ход ветки, которая ведёт к победе.
- Метрика сложности. Считаем долю первых ходов, ведущих в тупик, и требуем, чтобы она росла по уровням: от нуля на первых шести до 0,45 после двадцатого.
- Плавное упрощение. Если решатель не находит проход, генератор снимает сложность по одной ступени: сначала чемоданы, потом замки и шлагбаумы, теснота и лишь в последнюю очередь возвращает третье место на платформе.
Свой детерминированный генератор случайных чисел даёт одинаковый «уровень дня» на всех устройствах. Веб-версия — не обёртка вокруг приложения, а вторая самостоятельная реализация тех же правил: она ставится на домашний экран, работает офлайн после первого открытия, и поиграть можно по ссылке, без магазина приложений. Сторонних зависимостей в проекте ноль.
«Орбита»: как обойтись без спрайтов и звуковых файлов
В «Орбите» вся графика и весь звук создаются кодом при запуске: спрайтов и звуковых файлов в проекте нет, а три PNG — это иконки.
Это аркада на реакцию: корабль летит вокруг планеты по одной из двух орбит, касание разворачивает его, смахивание перебрасывает на соседнюю. Туманность, звёзды, планета, корабль и камни — 30 текстур, которые рисуются кодом и пересобираются только при смене размера экрана: на iPad работает то же приложение. Восемь звуков синтезируются формулами при старте.
Физического движка тоже нет: движение считается в полярных координатах — угол и радиус, а попадание проверяется допуском по углу и по орбите, а не столкновением тел. Красные дуги заранее показывают, где астероид пересечёт орбиту, поэтому игрок проигрывает из-за своей ошибки, а не из-за внезапного камня. Сложность растёт ступенями: быстрые мелкие астероиды — с третьего уровня, крупные разваливающиеся — с шестого, второй камень в залпе — с девятого.
«Котаклизм»: разрушаемая земля и противник без физического движка
В «Котаклизме» и земля, которая разрушается от каждого взрыва, и противник, который целится всерьёз, написаны своим кодом — физического движка в игре нет.
Это пошаговая артиллерия: два отряда котов стреляют друг в друга через карту, выстрел задаётся тягой пальца назад, как у рогатки. Земля — не картинка, а растровая маска: отдельный буфер для физики и отдельный холст для экрана. Взрыв вырезает круг с рваным краем, и перерисовывается только задетый участок.
- Своя физика. Гравитация с четырьмя подшагами на кадр, ветер, ходьба по склону, урон от падения, отскоки. Физических тел в проекте ноль.
- Противник. Компьютер перебирает траектории тем же кодом физики: грубая сетка из 66 прогонов, затем уточнение — 108 траекторий на каждую пару «оружие и цель».
- Сложность как дрожание руки. План компьютера портится на заданный разброс — 7,0°, 3,2° или 1,1° по углу, поэтому на лёгкой сложности он ошибается предсказуемо.
- Игра вдвоём рядом. Матч на двух устройствах поблизости — без интернета и без сервера.
Карты трёх типов строит свой генератор, и одно зерно даёт ту же карту, расстановку и ветер. В кампании 12 уровней, и каждый учит одной механике. 58 текстур рисуются кодом, файлов ресурсов, кроме иконок, нет.
Какие решения удешевляют игру
Удешевляют игру решения, которые убирают ручную и повторяющуюся работу: одна ясная механика на старте, уровни из генератора с автоматической проверкой, графика кодом и отказ от сервера там, где он не нужен.
- Меньше систем к запуску. Каждая дополнительная система — своя физика, компьютерный противник, игра вдвоём — это отдельный блок работы; в «Котаклизме» есть все три. Всё, без чего игра работает, можно добавить после запуска.
- Уровни из генератора. Уровень, собранный вручную, кто-то придумывает и проверяет. Генератор с решателем, как в «Час пик», сам собирает уровни и отсекает непроходимые, поэтому новые уровни не нужно придумывать и проверять вручную.
- Графика кодом вместо закупки ассетов. Если стиль игры это позволяет, графика и звук создаются кодом, как в «Орбите» и «Котаклизме», и покупать наборы картинок не нужно. Промежуточный вариант — как в «Час пик»: спрайты собираются из слоёв SVG одним скриптом сразу для iOS и для браузера. Если нужен рисованный стиль, работа художника увеличит смету — это обсуждаем на брифе.
- Без сервера, если игре он не нужен. Игра вдвоём в «Котаклизме» обходится без сервера. А долгосрочная поддержка серверов и платные сторонние сервисы в тариф мобильного приложения не входят и оплачиваются отдельно.
Нужна ли веб-версия и можно ли начать с неё
Веб-версия нужна, если игру хочется показывать по ссылке, без магазина приложений, а начать с неё можно, если App Store на старте не обязателен.
В прайсе мобильного приложения есть вариант «Или PWA — быстрее и дешевле»: это веб-приложение вместо сборок для магазинов. Веб-версии «Час пик» и «Орбиты» ставятся на домашний экран как обычное приложение. На iPhone это делается вручную: в Safari «Поделиться» → «На экран „Домой“» → «Добавить»; в iOS 26 перед этим включите «Открыть как веб‑приложение», и игра будет открываться как приложение. Две оговорки:
- Если нужны и веб-версия, и App Store, это две работы. В «Час пик» веб-версия — не обёртка, а вторая самостоятельная реализация тех же правил.
- Сайт в оболочке приложения — рискованный путь в App Store. По правилу 4.2 приложение должно быть больше, чем переупакованный сайт.
Что подготовить до брифа
До брифа достаточно описать механику в двух-трёх фразах и решить несколько вопросов: отличие от похожих игр, объём к запуску, деньги в игре, аккаунты игроков и аккаунт разработчика.
- Механика своими словами. Что игрок делает пальцем и как выигрывает — например, «выстрел задаётся тягой пальца назад, как у рогатки».
- Отличие от похожих игр. Правило 4.3 App Store запрещает подавать приложения, неотличимые от уже широко доступных.
- Объём к запуску. Сколько уровней, режимов и языков нужно в первой версии. Остальное можно добавить после запуска: «Поддержка и развитие» — абонентом от 7 900 ₽ в месяц или разово по задачам.
- Деньги в игре. По общему правилу 3.1.1 внутриигровая валюта, уровни, подписки и полная версия в App Store открываются через встроенные покупки Apple; исключения перечислены в пунктах 3.1.1(a) и 3.1.3. Купленная валюта не должна сгорать, а для покупок, которые можно восстановить, нужен механизм восстановления.
- Аккаунты игроков. Если в игре есть вход в аккаунт, российская компания или гражданин РФ как владелец приложения должны проводить авторизацию пользователей, находящихся в России, одним из разрешённых способов — например, по номеру мобильного телефона или через Госуслуги (ч. 10 ст. 8 149-ФЗ). За неисполнение этой обязанности 199-ФЗ ввёл штраф по статье 13.55 КоАП: для юрлиц — от 500 до 700 тыс. ₽.
- Аккаунт разработчика Apple. Он оформляется на вас, годовой взнос Apple Developer Program — 99 USD (Apple предупреждает, что цена в местной валюте может отличаться по регионам). Компании нужен номер D-U-N-S. По словам Apple, в некоторых регионах регистрация может быть недоступна, например из-за санкций, — это стоит проверить до старта.
Подготовка влияет и на срок: по типовому договору он отсчитывается с момента поступления предоплаты и предоставления заказчиком исходных материалов.
Как проходят разработка и сдача
Игру делаем по тем же пяти этапам, что и мобильное приложение в прайсе: бриф и ТЗ, прототип и согласование, разработка, тестирование на реальных устройствах со сборкой релизов, публикация и передача проекта.
Тестирование до релиза важно и для проверки в App Store: по данным Apple, в среднем 90% заявок проверяются меньше чем за 24 часа, а больше 40% нерешённых замечаний связаны с правилом 2.1 — вылетами, заглушками и неполной информацией. После приёмки вы подписываете акт и оплачиваете вторую половину, а исключительные права по типовому договору переходят к вам после полной оплаты.
Практический вывод
Игра для iPhone обходится дешевле и делается быстрее, когда к запуску выбрана одна ясная механика, уровни собирает и проверяет код, графика создаётся программно и сервер не нужен. А цена фиксируется в договоре до старта и в процессе не меняется.
Другие наши проекты — в портфолио. Если нужна не игра, а приложение для iOS и Android, посмотрите кейс Twin и раздел заказной разработки.
Короткие ответы на частые вопросы
Сколько будет стоить моя игра и когда она будет готова?
Цену и срок назовём после брифа: отдельной строки для игр в прайсе нет, потому что объём зависит от механики, уровней, графики и того, нужен ли сервер. После расчёта цена и срок фиксируются в договоре до старта, оплата — 50% предоплаты и 50% по акту. Срок по договору отсчитывается с момента поступления предоплаты и получения от вас исходных материалов.
Можно сначала запустить игру в браузере, а в App Store выйти потом?
Можно, если магазин на старте не обязателен. Веб-версии «Час пик» и «Орбиты» открываются по ссылке и ставятся на домашний экран, а «Час пик» ещё и работает офлайн после первого открытия. Но для App Store веб-игру лучше не заворачивать в оболочку: по правилу 4.2 приложение должно быть больше, чем переупакованный сайт. Если нужны и веб-версия, и приложение для iOS, это две работы: в «Час пик» веб-версия — вторая самостоятельная реализация тех же правил.
Обязательно нанимать художника или покупать картинки?
Не обязательно, если стиль игры позволяет рисовать графику кодом. В «Орбите» 30 текстур и 8 звуков создаются кодом, а три PNG в проекте — это иконки. В «Котаклизме» 58 текстур рисуются кодом, файлов ресурсов, кроме иконок, нет. Если нужен рисованный стиль, работа художника увеличит смету — это обсуждаем на брифе.
Можно сделать игру на двоих, чтобы не держать сервер?
Да, если игроки находятся рядом. В «Котаклизме» матч идёт на двух устройствах поблизости — без интернета и без сервера, по прямой связи между телефонами. Для игры через интернет обычно нужен сервер, а долгосрочная поддержка серверов и хостинг в тариф мобильного приложения не входят и оплачиваются отдельно.
На кого оформляется аккаунт в App Store и кому достанется код?
Аккаунт разработчика Apple оформляется на вас, годовой взнос Apple Developer Program — 99 USD (Apple предупреждает, что цена в местной валюте может отличаться по регионам). По тарифу мобильного приложения исходный код передаётся в ваш репозиторий, а по типовому договору исключительные права переходят к вам в полном объёме после полной оплаты. Если аккаунт оформляется на компанию, Apple потребует номер D-U-N-S.
Услуги и кейсы по теме: кейс «Час пик» · кейс «Орбита» · кейс «Котаклизм» · цены и сроки
Опишите механику игры в двух-трёх фразах — после брифа посчитаем смету и зафиксируем цену и срок в договоре.
Рассчитать проект →