- PVSM.RU - https://www.pvsm.ru -

Энтузиаст портировал Doom 3 и другие игры id Software на iOS, но так просто их не запустить

В 2009 году id Software выпустила Wolfenstein 3D и Doom на iOS, когда операционная система была 32 битной. Сейчас она 64 битная и начиная с версии iOS 10.3, которая вышла в 2017 году, 32 битные приложения не поддерживаются. Поскольку id Software давно перестала обновлять мобильные релизы, на новых девайсах игры уже не запустить. Но мобильный разработчик Том Кидд решил это исправить. А после портировал на платформу и другие шутеры компании.

Тем не менее, купить их в App Store и просто так поиграть не получится.

В апреле прошлого года Кидд рассказал [1], как адаптировал 32 битные приложения под новые версии iOS. По его словам, в чем-то работа оказалась проще, в чем-то сложнее, чем он ожидал.

Wolfenstein 3D разрабатывали с помощью SDK для iPhone OS 2 (то есть, iOS 2, если бы ее тогда так называли). Некоторые странные на первый взгляд решения, с которыми я столкнулся, думаю можно объяснить тем, что общепринятые методы были неправильными или просто не существовали в 2009.

Кидд рассчитывал, что просто перекомпилирует проект, исправит пару ошибок и воспользуется опытом тех, кто уже пробовал сделать это раньше. Но процесс оказался долгим и сложным.

В работе он использовал исходный код, который id Software выкладывает на своей странице в Github [2]. C 1995 компания начала распространять исходники своих проектов в образовательных целях. Результаты работы с ними нельзя продавать, к тому же в проектах отсутствуют многие файлы, например, звуковые библиотеки, которые защищены авторским правом, графика и уровни. Без них исходники не получится скомпилировать.

После того, как Кидд адаптировал игры под 64-битные системы, он потратил следующий год на портирование почти всех старых шутеров id Software на iOS, и ему это удалось [3].

Для порта Quake Кидд взял за основу версию игры для Google Cardboard, затем приступил к Quake III Arena, поскольку у нее тоже была старая портированная версия. Quake II Кидд портировал полностью сам, с нуля, как и Doom 3. Ее порт, как признается Кидд, был самой сумасшедшей задачей.

Я взял SDL из порта Quake II и использовал как основу для Doom 3. Но это было трудно увязать с OpenGL кодом, пока я не нашел чью-то версию для WebAssembly, откуда удалось взять то, что мне нужно.

Чтобы запустить игры на своем устройстве нужно скачать проект, собрать его на Маке с установленным Xcode и аккаунтом разработчика. Но как и в исходниках от id Software, в проектах Кидда нет графики и звуки. Файлы для запуска придется доставать самостоятельно из оригинальных версий.

Автор: arttom

Источник [4]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/ios/316408

Ссылки в тексте:

[1] рассказал: http://schnapple.com/wolfenstein-3d-and-doom-on-ios-11/

[2] странице в Github: https://github.com/id-Software

[3] и ему это удалось: https://schnapple.com/idtech/

[4] Источник: https://habr.com/ru/post/450328/?utm_campaign=450328