Процесс портирования инди-игры на Android OS

В далёком 2011 году был такой малоизвестный конкурс для гиков, который назывался RIOT Tag-Team Coding Competition. Целью мероприятия было увеличение количества Homebrew-игр на различных карманных игровых устройствах на базе ядра Linux: Caanoo. GP2X Wiz. Pandora и Dingoo A320. Отличительной особенностью этого конкурса являлось то, что игру необходимо было разрабатывать командой, а игры от «одиночек» не принимались. Именно поэтому двое российских программистов «старой школы»: Don Miguel и Quasist решили объединить свои усилия и начали работать над эксклюзивным игровым проектом для актуальных на тот момент времени консолей от фирмы GPH: GP2X Wiz и Caanoo.

На мероприятии авторы представили 3D-игру под названием Adamant Armor Affection Adventure. которая была выполнена в популярной тогда стилистике Minecraft’а, но имела кучу отличий от него. Всего за три месяца (sic!) ребятам удалось сделать очень многое: разработать достаточно производительный и отлаженный 3D-движок для embedded-устройств, создать десяток разнообразных карт и монстров, записать звуки и музыку, сделать несколько режимов игры, собрать всё это воедино и достойно выступить на упомянутом выше конкурсе, заняв почётное и призовое второе место.

Вдохновившись как самой игрой, так и успехом и самоотверженным трудом её авторов, я решил «воздать славу» нашей отечественной Linux-тусовке и, в свободное от работы время, попивая чаёк, начал портировать её на Android OS.

На скриншоте я представил окружение, в котором выполнил эту работу. На старом ноутбуке, который удобно везде с собой таскать и не страшно потерять, стоит Arch Linux c KDE Plasma 5. Я люблю дефолт, поэтому ничего особо не кастомизировал. Разве что в KWin добавил сокрытие декораций у максимизированного окна. На втором скриншоте Eclipse IDE и портируемая игрушка, которая запущена в эмуляторе устройства. Основная работа проводилась именно в Eclipse. К сожалению, в Android Studio поддержка NDK-проектов до сих пор оставляет желать лучшего. Кроме того, для внесения правок в код движка я использовал Qt Creator IDE: [Скриншот]. На переднем плане окно игры, которая собрана нативно под GNU/Linux.