Портируем игру на Mac при помощи Cider

24 сентября 2009 - 12:14

cider_logo_small.pngДень всем добрый! Решил написать сюда маленькую статейку для тех, кому интересна эта тема. Итак, у вас Mac или Хакинтош. Одним словом вы работаете под Mac OS X. Да, согласен, эта система почти совершенна. Есть только одно обстоятельство, которое всегда омрачает радость от использования Mac OS X — отсутствие разлекательных программ в должном количестве. Да, Mac создан не для игр, но иногда так хочется.

С появлением на рынке компьютеров Mac на базе Intel процессоров появилась возможность транслировать код виндовых игрушек прямо в mac os x – фактически эмулировать Win32 среду для программы. И команда Transgaming Inc взялась разрабатывать эту тему с большим энтузиазмом. Взяв за основу популярный в Linux сообществе проект WINE (который бесплатен и имеет открытый исходный код) Transgaming принялась работать над более удобной, но коммерческой программой-транслятором кода.

Есть адаптированная технология Crossover – посмотрите в соседней теме. В принципе она вполне удобна, но ведь так хочется просто иметь отдельную программу-игру, одним файлом с красивой иконкой.

В этом нам поможет Cider. Это закрытая разработка Transgaming Inc., предназначавшаяся для разработчиков игр. EA, крупнейший мировой издатель игрушек для всевозможных платформ в свое время заключил эксклюзивное соглашение, благодаря которому можно было сильно сократить затраты на портирование Win игр для Mac платформы. Так на свет появились Spore и Sims 3 для Mac.

Технология Cider оказалась настолько простой, что многие энтузиасты взялись за портирование своими силами. И добились немалого успеха. По моим прикидкам доля неофициальных портов игр под Mac сейчас более 50% от того, что выходит вообще. Это значит, что почти каждая вторая игрушка, которую можно найти в интернете сделана любителем. Это, на мой взгляд – потрясающе.

Теперь перейдем к делу.

Cider — в его обычном виде представляет собой приложение для мака, запускающее необходимые Win игре библиотеки и позволяющее Win приложению нормально работать под Mac OS X.

То есть для портирования нам понадобится собственно сам билд Cider, Win версия игрушки (крайне желательно, чтобы игра не была защищена от копирования технологиями типа Starforce) компьютер Mac на базе Intel процессора и время.

Предположим что у вас есть диск с Win игрой и есть Intel Mac. Для того, чтобы работать с Cider вам понадобится Win игру установить и взять для работы папку с установленной игрой. Сделать это можно несколькими способами:

  1. поставить на Boot Camp раздел Windows, установить игру туда, а потом перетащить папку с установленной игрой в Mac OS X;
  2. поставить Crossover Games (или Crossover Pro) и установить игрушку через него, а потом вытащить установленную папку;
  3. поставить Parallels Desktop или VMWare, инсталлировать Windows в виртуальную машину, а в ней уже установить игру. В этом случае предпочтительнее пользоваться Parallels ибо он отлично поддерживает Drag and Drop между окошком виртуальной и окошком реальной системы.

Вобщем установили. Убедились, что нет защиты диска.

Теперь надо достать Cider. Сделать это можно опять-таки несколькими способами:
1) найти билд Cider в интернете. Весить он будет не очень много 100-300 мегобайт.
Взять уже готовую официальную игру для Mac, которую портировали по такой технологии. На вскидку: Sims 3, Heroes of Might and Magic V, Spore, Need for Speed Carbon. Внутри App файлов игры лежит обычная Win версия игрушки, нам нужна лишь ее оболочка. Для того, чтобы не попортить уже установленную игру, копируйте файл с такой игрой на рабочий стол, используя контекстное меню (не перенести на рабочий стол, а сделать копию!!!)

Итак, мы достали Cider бандл – оболочку для игры.

Кликаем по нему правой клавишей мышки (у кого настройка мыши на одну кнопку – Alt и клик мышкой).
Выбираем «Показать содержание пакета».

Снимок экрана 2009-09-24 в 16.06.45.png
Видим окошко Finder с папочкой Contents, заходим в нее.
Внутри может быть разное, в зависимости от версии Cider, но основное – четыре обьекта: Папки Frameworks, MacOS и Resourses и файл info.plist. Два последних нам и нужны.

Снимок экрана 2009-09-24 в 16.07.41.png
Идем в папку Resourses. В ней – в папку Trangaming.
Перед нами открывается виртуальная файловая система Windows. Папка с именем c_drive – это виртуальный диск C. Внутри нее как минимум должна быть папка windows и папка Documents and Settings. Еще как вариант может быть папка Program files – если она есть, то в ней обычно и хранится win версия игрушки. А если ее нет – то игру кладут в директорию c_drive, в корень виртуального диска. Кладем папочку с нашей игрушкой в соотвествии с полученной информацией.
Возвращаемся назад в папку Contents, к файлу info.plist.

Файл этот можно открыть штатным тектовым редактором Mac OS X – TextEdit.

Внутри мы видим код настроек Cider. Нам необходимо изменить настройки так, чтобы Cider понимал, что он запускает и откуда.

3.jpg
Ищем параметр CedegaGameDir. Он указывает на дирректорию, в которой лежит игра. Строчкой ниже между опциями – вводим путь до папки с игрой, считая за с: нашу папку c_drive. Не забудьте поставить косую линию после имени папки с игрой.
Пример:c:\Program Files\Game Folder\
Дальше нам надо указать на исполняемый файл с которого игра запускается.
Ищем параметр CedegaGameNameи прописываем строкой ниже полный путь до исполняемого файла игры, указываем сам файл и его расширение.
Пример:c:\Program Files\Game Folder\game.exe.
Если исполняемый файл лежит не в корне папки с игрой, а, например, в папке bin – ничего страшного, укажите эту папку.
Пример:c:\Program Files\Game Folder\bin\game.exe
Дальше очень важно проставить в параметрах PrefsFolderName название папки настроек для игры – например, мы портируем Silent Hill 2, значит в следующей за названием параметра строке указываем SH 2 для краткости. Можно указывать и полное имя.

Базовая часть готова. Сохраняем файл, выходим из всех папок.
Пробуем запустить.

Несмотря на кажущуюся простоту, далеко не каждая игра пойдет без более тонкой настройки. Описанный мною способ хорошо работает с мелкими казуальными играми типа Zuma. Для более серьезных игр обычно требуется серьезная настройка параметров Cider.

И в конце золотые правила, соблюдая которые, вы повысите шанс того, что игра у вас запустится:
1)У вас должен быть Intel Mac. На PPC Cider работать не будет.
2)Старайтесь запустить игру сразу после установки и скинуть все настройки (особенно графики) на минимум.
3)Старайтесь ко всем файлам, которые вы изменяете, сохранять резервные копии. На всякий случай.
4)Внимательно проверяйте на правильность написания все, что изменяете в файлах настройки.
5)Не расстраивайтесь, если не получилось запустить игру сразу – возможно поковырявшись в настройках вы добьетесь результатов.

Подробные настройки файла, установку своей иконки и еще кое-что я опишу позднее, если у меня будет время.
Удачи вам!!