КН: Call of Ocean #3 - Опыт установки библиотек SDL для Android Studio

Всем привет!

[ВСТУПЛЕНИЕ]

Сегодня я вам расскажу свой опыт интеграции библиотек в проект Android Studio. Думаю настоящие профи посмеются над моими злоключениями с подключением этих трех библиотек: SDL, SDL_image, SDL_ttf. Сразу скажу, что эта статья не гайд по установке перечисленных компонентов, поскольку на сайте Lazy Foo представлена исчерпывающая и подробная информация по установке данных инструментов, правда, она на английском языке, но если вам вдруг нужна будет какая-то консультация по установке, вы всегда можете спросить совета в комментариях, я постараюсь ответить.

[SDL & SDL_image]

Основной сложностью установки данных библиотек является малое количество подробных инструкций о том, как правильно интегрировать данные компоненты в среду разработки Android Studio, документация также дает не совсем исчерпывающую информацию. Крайне веселым фактом является то, что гайд, представленный на сайте выше, состоит из достаточно большого перечня ошибок, которые должны встретиться в ходе интеграции библиотек. Также занимательным нюансом была работа с такими файлами как Android.mk и CMakeLists.txt, в моем понимании эти файлы должны выполнять приблизительно одинаковую функцию, однако на практике я работал только с Android.mk (если кто-то внесет ясность по этому поводу в комментариях к посту буду крайне признателен).

[SDL_ttf]

С интеграцией данного компонента я провозился особенно долго, главной причиной этого является зависимость от двух других библиотек freetype и harfbuzz. Поскольку я скачал SDL_ttf непосредственно из репозитория на гитхабе, а не при помощи специальной страницы, где уже присутствуют все нужные компоненты, то мне пришлось скачивать их отдельно и заниматься их интеграцией в проект самостоятельно, что, как оказалось, было абсолютно ненужной работой (хотя и весьма полезной с познавательной стороны, я на более глубоком уровне разобрался с тем, каким образом работают Android.mk-файлы и основательно закрепил это знание). В конце концов, позже я нашел, что на гитхабе в папке external присутствуют ссылки на нужные репозитории, вследствие чего я скачал все оттуда и у меня отлично все встало в проект.

[ВОЗМОЖНОСТИ ДВИЖКА]

Также я говорил о том, что покажу возможности того, что я насобирал с уроков по youtube, к сожалению, моих наработок там совсем немного и они больше касаются адаптации к мобильным устройствам (в видео перемещение реализовывалось на нажатии клавиш, мне же приходилось адаптировать данный функционал под клики, что в целом оказалось не так уж и сложно). Так в текущем состоянии движок имеет игровой цикл, систему анимации, систему перемещения и систему вывода изображения на экран:

[ЗАВЕРШЕНИЕ]

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

Спасибо за внимание!

11
Начать дискуссию