Руководство по установке

iPhone и iPad

Версии в App Store нет: вы собираете приложение на своём Mac в Xcode и устанавливаете его на свой iPhone или iPad. При первом запуске оно копирует данные игры с вашей собственной копии.

  • iOS и iPadOS 15 или новее
  • Mac с Xcode 26
  • Подойдёт бесплатный Apple ID
  • Около 2 ГБ свободного места на устройстве

1Что понадобится

  • Mac с Xcode 26 или новее из Mac App Store. Откройте Xcode один раз, чтобы он установил свои компоненты.
  • Apple ID, в который выполнен вход в Xcode › Settings › Accounts. Подойдёт и бесплатный, но подписанные им приложения перестают открываться через семь дней, и их нужно собирать заново. Платное участие в Developer Program подписывает приложения на год.
  • iPhone или iPad с iOS или iPadOS 15 или новее и кабель к нему либо сопряжение с Mac по Wi-Fi.
  • Ваша папка Total Annihilation с totala1.hpi: около 1,1 ГБ с обоими дополнениями и музыкой. Где найти её на Mac.

2Установите инструменты

Откройте Терминал и установите инструменты командной строки Xcode, затем CMake и Ninja, например через Homebrew. Python 3 входит в инструменты командной строки.

Terminal
$ xcode-select --install$ brew install cmake ninja
Иллюстрация

3Исходный код

Первая сборка также один раз скачивает и собирает библиотеки, которые нужны игре на iOS.

Terminal
$ git clone https://github.com/open-annihilation/open-annihilation.git$ cd open-annihilation$ python3 tools/bootstrap_text_fonts.py --fonts-only
Иллюстрация

4Создайте проект Xcode

Найдите ID своей команды: в Xcode › Settings › Accounts выберите свой Apple ID 1 и посмотрите ID команды 2.

Accounts
GeneralAccountsBehaviorsNavigationThemes
Apple IDs
you@example.com
TeamRole
Your Name (Personal Team)User
A1B2C3D4E5
Иллюстрация

Затем в папке open-annihilation создайте проект. Он откроется в Xcode:

Terminal
$ platforms/ios/scripts/xcode.sh --device --team A1B2C3D4E5 --open
Иллюстрация

Для тестового устройства команда cmake -B build-ios-xcode -DOA_IOS_BUNDLED_GAME_DIR="$HOME/Games/Total Annihilation" встраивает вашу папку игры в приложение: оно станет примерно на 1,1 ГБ больше, зато будет готово к игре сразу после установки.

5Соберите и установите

  1. Подключите iPhone или iPad и разблокируйте его. В первый раз нажмите Доверять на устройстве.
  2. На панели инструментов Xcode выберите схему oa-game 1 и своё устройство 2.
  3. Если Xcode сообщает, что идентификатор приложения недоступен, измените Bundle Identifier в разделе Signing & Capabilities на свой 4, например net.yourname.open-annihilation.
  4. Выберите Product › Run 3.
▶oa-game›Commander’s iPhoneReady
open-annihilation
oa-game
platforms
src
GeneralSigning & CapabilitiesInfoBuild Settings
Automatically manage signing
Your Name (Personal Team)
net.yourname.open-annihilation
Иллюстрация

6Разрешите приложение на устройстве

В первый раз устройство откажется открывать приложение вашей собственной команды. В iOS и iPadOS 16 и новее включите Режим разработчика: Настройки › Конфиденциальность и безопасность › Режим разработчика 1, включите его 2 и перезагрузите устройство, когда оно попросит.

9:41
‹ НастройкиКонфиденциальность и безопасность
Службы геолокацииВкл.›
Отслеживание›
Локальная сеть›
Безопасность
Режим разработчикаВыкл.›
9:41
‹ НазадРежим разработчика
Режим разработчика
При включении режима разработчика устройство перезагрузится.
Иллюстрация

Затем отметьте свой профиль разработчика как доверенный: Настройки › Основные › VPN и управление устройством, выберите свой Apple ID в разделе Приложение разработчика 1 и нажмите Доверять 2. Теперь откройте Open Annihilation с экрана «Домой».

9:41
‹ ОсновныеVPN и управление устройством
VPNНе подключено›
Приложение разработчика
Apple Development: you@example.com›
9:41
‹ НазадApple Development
Доверять «Apple Development: you@example.com»
Приложения этого разработчика: Open Annihilation
Иллюстрация

7Добавьте файлы игры

При первом запуске экран Файлы игры предлагает три способа перенести файлы Total Annihilation на устройство. Какой бы вы ни выбрали, файлы проверяются, и приложение никогда не закрывается из-за того, что их нет.

The Game files screen on an iPad
Снимок экранаЭкран «Файлы игры» на iPad.
  1. Положите папку Total Annihilation туда, где устройство до неё дотянется: в iCloud Drive, на USB-накопитель, в общую папку компьютера (сначала подключитесь к ней в приложении «Файлы») или на само устройство.
  2. Нажмите ВЫБРАТЬ ПАПКУ, затем Обзор, найдите папку, откройте её и нажмите Открыть. Приложение читает только имена и размеры, поэтому пока ничего не скачивается.
  3. Экран Готово к копированию показывает, что найдено, переключатели для необязательных частей, что не будет скопировано и сколько места нужно для копии. Нажмите КОПИРОВАТЬ.
Ready to copy
Снимок экранаГотово к копированию.
  1. Во время копирования видны ход копирования, оставшееся время и текущий файл. Не закрывайте приложение до конца. Если уйти из него, копирование встанет на паузу и продолжится, когда вы вернётесь. Файлы, которые есть только в iCloud, скачиваются по ходу копирования.
Copying
Снимок экранаКопирование.
  1. Копия проходит собственную проверку игры, затем экран Готово к игре показывает, что именно будет запущено. Нажмите ИГРАТЬ.
Ready to play
Снимок экранаГотово к игре.

8Играйте

Откройте Open Annihilation и поверните устройство горизонтально: игра работает только в альбомной ориентации. Сенсорное управление — это касание для движения, выдвижная панель строительства, колесо приказов долгим нажатием и масштаб щипком. Клавиатура, мышь или трекпад работают как на компьютере.

✓Вы в игре, Командир

Если появилось главное меню, игра нашла ваши файлы. Выберите кампанию, схватку или сетевую игру.

Open Annihilation main menu
Снимок экрана

Управление файлами игры

Откройте настройки кнопкой Настройки с шестерёнками в главном меню и выберите Файлы игры. Там видно, что установлено, сколько это занимает и сколько места свободно, попадают ли файлы в резервные копии устройства (по умолчанию нет, потому что они заняли бы в iCloud около 1,1 ГБ), а кнопка УПРАВЛЕНИЕ… добавляет дополнение, карты или мод, заново проверяет файлы, удаляет или заменяет их. Сохранённые игры и настройки всегда остаются.

Managing the game files on an iPhone
Снимок экранаУправление файлами игры на iPhone.

Сетевые игры

Когда игра впервые обращается к сети, iOS спрашивает, можно ли ей находить устройства в локальной сети и подключаться к ним: нажмите Разрешить или включите это позже в Настройки › Конфиденциальность и безопасность › Локальная сеть. Сборка, подписанная бесплатным Apple ID, не может искать игры широковещательным запросом: присоединяйтесь, вписав адрес хоста на экране TCP/IP (адрес устройства показан в Настройки › Wi-Fi, под кнопкой информации). Платная команда может запросить у Apple разрешение на многоадресную передачу (multicast networking entitlement) и собрать игру с --multicast-entitlement.

Решение проблем

«Ненадежный разработчик»
Отметьте профиль разработчика как доверенный, шаг 6.
Через неделю приложение перестало открываться
Бесплатный Apple ID подписывает приложение на семь дней: соберите и установите его снова, шаг 5.
«В этой папке нет установленной Total Annihilation»
Выберите папку, в которой лежит totala1.hpi.
«Недостаточно места»
Освободите место в Настройки › Основные › Хранилище iPhone или отключите необязательную часть, затем нажмите ПРОВЕРИТЬ СНОВА или ПРОДОЛЖИТЬ. Уже скопированное сохраняется.
«Копирование остановилось»
Пропал накопитель, общая папка или сеть: подключитесь снова и нажмите ПРОДОЛЖИТЬ.
При поиске не появляется ни одной игры
Впишите адрес хоста на экране TCP/IP или соберите игру с разрешением на многоадресную передачу.

Обновление и удаление

Чтобы обновить игру, выполните git pull в папке open-annihilation, затем снова соберите и установите её (шаг 5). Файлы игры, сохранения и настройки остаются на устройстве. Чтобы удалить игру, нажмите и удерживайте её значок и выберите Удалить приложение — вместе с ним удалятся и скопированные в него файлы игры.

Другие платформы

Что-то не так, как описано? Discord · Issues на GitHub