Я собирался предложить использовать SDL ( Simple DirectMedia Layer ), который является отличной кроссплатформенной библиотекой для разработки игр, которая помогает вам вводить события, графику, аудио и т. Д. Однако это похоже, что игра, которую вы портируете, уже на основе SDL через игровой движок под названием «Apollo», который разработан для кроссплатформенности:
Apollo использует SDL и OpenGL для графической и кросс-платформенной совместимости, что означает, что любая игра, построенная на Apollo, может работать на Windows, Mac OS X и Linux.
Вы пытались связаться с авторами, чтобы спросить о прогрессе порта Linux, и есть ли что-то, над чем вы можете поработать, чтобы помочь? Звучит из часто задаваемых вопросов , как будто уже предпринимаются такие усилия, и вы не хотите дублировать усилия без необходимости.
В гипотетическом более сложном случае, когда у вас есть просто куча исходного кода, который был написан без учета его возможной переносимости, я бы сказал, что перенос игры с одной платформы на другую имеет тенденцию быть итеративным процессом чтение источника и подталкивание к нему, пока оно не сделает то, что вы хотите, включая:
- Понимание некоторой части кода (решающий бит!)
- Попытка заставить его скомпилировать
#ifdef
детали, которые вам сейчас не понадобятся
- Замена низкоуровневой функциональности из тонкой кроссплатформенной библиотеки
- регулярно совершать
- Стараясь не ломать что-либо на существующей поддерживаемой платформе
... и лучше, если вы сначала попытаетесь заставить что-то работать, что означает создание даже базовой системы сборки и т. Д.
Однако, поскольку авторы оригинала намерены перенести эту игру на Linux, она должна быть намного проще - насколько легко во многом зависит ваш опыт и энтузиазм по отношению к системам, которые вы не знаете.