Сайт использует файлы cookie — для входа в кабинет и обезличенной статистики. Подробности — в политике обработки данных.
Игра для iOS · пошаговая артиллерия

«Котаклизм»

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

Роль: игра «под ключ»iOS, iPhone и iPadРусский и английский
«Котаклизм»
СтекSwift 5SpriteKitCore GraphicsMultipeerConnectivityiOS 17+

О проекте

Выстрел задаётся тягой пальца назад, как рогатка: длина — сила, направление — угол. Мешает ветер, помогает рельеф, а рельеф всё время меняется, потому что каждый взрыв его выедает.

Земля — не картинка и не набор тел, а растровая маска: отдельный байтовый буфер для физики и отдельный холст для экрана. Взрыв вырезает круг с рваным краем, обугливает кромку и метит задетый кусок грязным — перерисовывается только он, а не вся карта. Есть и обратная операция: землю можно насыпать.

Физического движка нет вовсе — ни одного физического тела на весь проект. Руками написаны гравитация с четырьмя подшагами на кадр, снос ветром, ходьба по склону со ступенькой, урон от падения по пиковой скорости, отскок клубка по нормали к поверхности (нормаль опрашивается шестнадцатью лучами, потому что точной геометрии у маски нет).

Возможности

01

Полностью разрушаемая земля

Два буфера: маска для физики и холст для экрана. Взрыв выедает круг с рваным краем по шуму, обугливает зев, подсвечивает верхнюю губу кратера цветом неба. Перерисовывается только задетый участок.

02

Своя физика вместо движка

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

03

Противник, который целится всерьёз

Компьютер перебирает траектории тем же кодом физики, что и игрок: грубая сетка 66 прогонов, затем уточнение — 108 траекторий на каждую пару «оружие и цель». Попадание по своим штрафуется так, что вариант отпадает.

04

Сложность — это дрожание руки

Компьютер не мажет случайно: готовый план портится ровно на столько, сколько разрешает сложность — 7,0°, 3,2° или 1,1° по углу. На высокой он почти не промахивается, на лёгкой ошибается предсказуемо.

05

Три типа карт из одного зерна

Берег с гротами и обрывами, парящие острова, каньон с пропастью. Генератор свой: шум с четырьмя октавами, обрыв через сигмоиду, чтобы край остался проходимым. Одно зерно даёт ту же карту, расстановку и ветер.

06

Игра вдвоём рядом

Матч на двух устройствах поблизости — без интернета и без сервера, по прямой связи между телефонами.

Экраны игры

Стек технологий

iOS
Swift 5SpriteKit (сцена и эффекты)Core Graphics (58 процедурных текстур)MultipeerConnectivity (игра рядом)iOS 17+, iPhone и iPadЛандшафтная ориентация
Своя реализация
Растровая маска земли: физика и отрисовка раздельноФизика снаряда, ходьбы и отскоковГенератор карт (шум fBm, 3 типа рельефа)Компьютерный противник на переборе траекторийДетерминированный генератор случайных чисел
Содержимое
12 уровней кампании, каждый учит одной механике10 позиций арсенала119 ключей интерфейса, русский и английскийФайлов ресурсов, кроме иконок: 0

Результат

8 853
строки своего кода на Swift
108
траекторий перебирает противник на ход
12
уровней кампании
0
физических тел и файлов ресурсов

Хотите так же?

Соберём сайт, платформу или мобильное приложение под вашу задачу — быстро, под ключ и с личным кабинетом. Бесплатная оценка сроков и цены — обычно отвечаем в течение часа в рабочее время.

Обсудить проект
Такую же задачу закрываем услугой