Как перенести игру Mac OSX на Linux - PullRequest
1 голос
/ 08 марта 2011

Любой совет эксперта о том, как новичок в портировании может начать такой проект? Какие-либо руководства по портированию или ресурсы, которые могут быть полезны? Часто используемая тактика?

Моя идея состоит в том, чтобы помочь сделать игру кроссплатформенной, совместимой, но я не знаю, как начать делать это. Код с открытым исходным кодом (всем интересно: https://github.com/prophile/xsera). Похоже, он написан на C ++ и использует скрипты Lua.

1 Ответ

2 голосов
/ 08 марта 2011

Я собирался предложить использовать SDL ( Simple DirectMedia Layer ), который является отличной кроссплатформенной библиотекой для разработки игр, которая помогает вам вводить события, графику, аудио и т. Д. Однако это похоже, что игра, которую вы портируете, уже на основе SDL через игровой движок под названием «Apollo», который разработан для кроссплатформенности:

Apollo использует SDL и OpenGL для графической и кросс-платформенной совместимости, что означает, что любая игра, построенная на Apollo, может работать на Windows, Mac OS X и Linux.

Вы пытались связаться с авторами, чтобы спросить о прогрессе порта Linux, и есть ли что-то, над чем вы можете поработать, чтобы помочь? Звучит из часто задаваемых вопросов , как будто уже предпринимаются такие усилия, и вы не хотите дублировать усилия без необходимости.

В гипотетическом более сложном случае, когда у вас есть просто куча исходного кода, который был написан без учета его возможной переносимости, я бы сказал, что перенос игры с одной платформы на другую имеет тенденцию быть итеративным процессом чтение источника и подталкивание к нему, пока оно не сделает то, что вы хотите, включая:

  • Понимание некоторой части кода (решающий бит!)
  • Попытка заставить его скомпилировать
  • #ifdef детали, которые вам сейчас не понадобятся
  • Замена низкоуровневой функциональности из тонкой кроссплатформенной библиотеки
  • регулярно совершать
  • Стараясь не ломать что-либо на существующей поддерживаемой платформе

... и лучше, если вы сначала попытаетесь заставить что-то работать, что означает создание даже базовой системы сборки и т. Д.

Однако, поскольку авторы оригинала намерены перенести эту игру на Linux, она должна быть намного проще - насколько легко во многом зависит ваш опыт и энтузиазм по отношению к системам, которые вы не знаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...