Інструкція

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

Знайди свій Team 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
Знімок екрана

Керування ігровими файлами

Відкрий налаштування кнопкою Налаштування з шестернями в головному меню й обери Ігрові файли: що встановлено, скільки воно займає і скільки місця вільно, чи потрапляють файли в резервні копії пристрою (типово ні, бо вони зайняли б близько 1,1 ГБ в iCloud), і КЕРУВАТИ… — щоб додати доповнення, мапи чи мод, ще раз перевірити файли або видалити чи замінити їх. Збереження й налаштування завжди лишаються.

Managing the game files on an iPhone
Знімок екранаКерування ігровими файлами на iPhone.

Мережеві ігри

Коли гра вперше звертається до мережі, iOS запитує, чи може вона знаходити пристрої у твоїй локальній мережі й підʼєднуватися до них: торкнися Дозволити або ввімкни це пізніше в Параметри › Приватність і безпека › Локальна мережа. Збірка, підписана безкоштовним Apple ID, не може шукати ігри широкомовленням: приєднуйся, ввівши адресу хоста на екрані TCP/IP (адреса пристрою — у Параметри › Wi-Fi, під кнопкою інформації). Платна команда може запросити в Apple entitlement для multicast-мережі й зібрати гру з --multicast-entitlement.

Розвʼязання проблем

«Ненадійний розробник»
Довірся своєму профілю розробника, крок 6.
Програма перестала відкриватися через тиждень
Безкоштовний Apple ID підписує на сім днів: збери й встанови знову, крок 5.
«У цій папці немає встановленої гри Total Annihilation»
Обери папку, де лежить totala1.hpi.
«Недостатньо місця»
Звільни місце в Параметри › Загальні › Сховище iPhone або вимкни необовʼязкову частину, а потім торкнися ПЕРЕВІРИТИ ЩЕ РАЗ чи ПРОДОВЖИТИ; уже скопійоване зберігається.
«Копіювання зупинилося»
Зник накопичувач, спільна папка або мережа: підʼєднайся знову й торкнися ПРОДОВЖИТИ.
Під час пошуку не зʼявляється жодної гри
Введи адресу хоста на екрані TCP/IP або збери гру з entitlement для multicast-мережі.

Оновлення й видалення

Щоб оновити, виконай git pull у папці open-annihilation, а потім знову збери й встанови гру (крок 5); ігрові файли, збереження й налаштування лишаються на пристрої. Щоб видалити гру, натисни й утримуй її значок і обери Видалити програму — разом з нею видаляться й скопійовані в неї ігрові файли.

Інші платформи

Щось не так, як описано? Discord · Issues на GitHub