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

в 11:02, , рубрики: DOOM, doom 3, id software, iOS, quake, Wolfenstein 3D, Игры и игровые приставки, разработка игр, разработка под iOS

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

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

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

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

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

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

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

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

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

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

Автор: arttom

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js