Command & Conquer Generals нативно перенесли на iPhone, iPad и Apple Silicon

Стратегия в реальном времени 2003 года теперь идёт на iPhone без изменений: её вызовы DirectX 8 проходят через четыре графических слоя, прежде чем добраться до Apple Metal. Без эмуляции, без стриминга.

Вкратце

Аммаар Реши взял исходники Generals от EA под GPL v3, оттолкнулся от порта GeneralsX для macOS/Linux и выпустил нативные сборки Zero Hour под ARM64 для iOS и iPadOS с сенсорным управлением для RTS.

Движок не тронут; рендеринг идёт от DirectX 8 к DXVK, потом Vulkan, MoltenVK и Metal — пять слоёв вглубь. Ресурсы в комплект не входят; свою копию из Steam приносишь сам.

Формулировка «сделано с Fable» вызвала огонь: один геймдев насчитал лишь 19 из 2000 коммитов от модели и назвал заголовок кликбейтом.

Пять графических слоёв, чтобы запустить RTS 2003 года на телефоне

Command & Conquer: Generals вышла в 2003 году для Windows. Позже EA открыла её движок под GPL v3, GeneralsX от fbraz3 заставил его собираться на macOS и Linux, а этот форк переносит его на телефоны и планшеты Apple. Аммаар Реши, работая через Claude Code с моделью Fable, добавил нативные сборки Zero Hour под ARM64 для iOS, iPadOS и Apple Silicon, а затем протестировал на реальном железе.

Что работает: полная кампания, схватки и Generals Challenge, сохранения, каждая аудиодорожка и объявления EVA, а также сенсорное управление, сделанное специально под RTS. В симуляции не изменилось ничего. Разработчик, выложивший это, подчеркнул именно это:

«Это настоящий движок: нетронутая игровая логика, скомпилированная под ARM64 … Не эмуляция, не стриминг.» — портировавший, в треде

Довести игру на DirectX 8 до Metal — это эстафета: DirectX 8, DXVK, Vulkan, MoltenVK, Metal. Инженерный журнал читается как археология; баг с чёрной мини-картой свёлся к запасному варианту формата текстур из 2003 года, который съедал альфа-канал. Игровые ресурсы в комплект не входят, поэтому ставишь из своей копии Zero Hour в Steam.

Кто сделал работу: Fable или форк, из которого он вырос

Заголовок приписал заслугу «Fable», а геймдев, прочитавший историю коммитов, назвал это натяжкой:

«Заголовок — кликбейт. Это началось ещё в феврале … Fable сделала лишь малую часть последних коммитов. 19 коммитов из 2000» — называющий себя геймдевом

Собственные заметки проекта указывают вверх по течению:

«Построено на … fbraz3/GeneralsX (который проделал тяжёлую работу порта на macOS/Linux — этот форк добавляет порт на iOS/iPadOS и набор исправлений движка).» — комментатор, поднявший строку об авторстве

Пятиступенчатый путь рендеринга вызвал недоверие, что это вообще работает:

«Он делает вызовы API, которые проходят через 5 разных слоёв, прежде чем что-то отрисуется? Это как-то безумно. Удивлён, что оно работает» — читатель, прослеживающий конвейер

И аппаратная оговорка от того, кто выпускает софт под Apple:

«Одна большая оговорка для iPad и мобильных — расход батареи.» — давний разработчик под платформы Apple

Спор о том, кто заслуживает подписи, и есть настоящая история. Опытный инженер подытожил сдвиг: «Раньше для этого понадобилась бы полноценная команда». Теперь это один человек, форк и модель, делящие заслугу, которую никто не может чисто распределить.

Получайте такие разборы каждый день

Главные истории Hacker News — на email, в Telegram или RSS.

Следующая новость · 18 из 22 Читать дальше
🚀Tech

512-байтовый загрузочный сектор, который сбрасывает вашу RAM на USB-флешку

Заморозь чипы памяти ноутбука до −60 °C, перезагрузись с USB-флешки — и 512-байтовый загрузчик копирует RAM на диск, пока биты не выцвели. Это и есть сценарий холодной перезагрузки, который BareMetal-RAM-Dumper создан проверять.

★ 57 · 💬 39 · github.com · 2 мин