Разработчик Banished рассказал о трудностях портирования игр с Windows на OS X

Средневековый градостроительный симулятор Banished – игра, целиком созданная усилиями одного человека. Последнюю неделю ее автор, Люк Ходорович, провел за портированием своей игры на OS X, о чем он и рассказал в своем блоге.

реклама

анонсы и реклама

Итак, в данный момент игра все еще работает с фреймрейтом, не превышающим один кадр в секунду, и не умеет корректно «отрисовывать» воду. Кроме того, в MacOS-версии Banished пока что не работают звук и управление, а про интеграцию со Steam говорить и вовсе рано.

Люк признался, что до этого момента никогда не работал с OS X, но как только он смог найти терминал и запустить текстовый редактор vi, дела сразу пошли в гору. Спустя неделю он уже мог использовать среду разработки Xcode и потихоньку писать на языке Objective-C (впрочем, ему все-таки пришлось приобрести книгу, чтобы в нем разобраться).

реклама

Несмотря на то, что Banished была написана на C++, а сам разработчик старался достичь максимальной «портабельности» кода, сейчас ему приходится переписывать свои библиотеки для работы с памятью, потоками, вводом-выводом и файлами. В будущем для портирования на Linux этого шага уже не потребуется – все-таки различия между OS X и Linux менее радикальны, чем между Windows и Unix. Существенно помогло сэкономить время то, что Люк изначально внедрил собственный язык шейдеров и хранил весь текст в кодировке UTF8.

Разработчик недоволен тем, что все вспомогательные утилиты для работы с ресурсами (текстурами, звуками) до сих пор работают только под Windows, поэтому ему приходится постоянно переключаться между рабочими машинами и переносить данные туда и обратно, а это съедает немало времени.

реклама

Поскольку под Windows игра может работать в режимах DirectX9/DirectX11/OpenGL, под OS X достаточно было взять и запустить готовый OpenGL-рендерер. Это ожидаемо не составило особого труда – раз Banished не использует никаких популярных кросс-платформенных библиотек для работы с графикой вроде SDL, отдавая предпочтение скорости работы «чистого» OpenGL, то разработчику пришлось лишь дописать небольшой кусок кода в самом начале (процесс инициализации OpenGL под Windows и OS X немного отличается). После этого изменения весь проект скомпилировался без единой ошибки.

Однако Люк все еще не может объяснить столь низкую частоту кадров – если под Windows игра не тормозит на встроенных видеокартах уровня Intel Iris Pro 5000, то на Macbook Pro аналогичной конфигурации играть в нее физически невозможно. Так что теперь разработчику предстоит погрузиться в изучение работы графической подсистемы OS X, поскольку с остальными проблемами вроде звука и управления по его словам разобраться не составит особого труда.

реклама

Ждать релиза Banished под OS X стоит не раньше декабря.

Оценитe материал
рейтинг: 4.4 из 5
голосов: 24

Теги

Комментарии Правила

Возможно вас заинтересует

Сейчас обсуждают