Найти тему
Дмитрий Н.

Дневник разработки. 0x03

Вот завершилась разработка над fly bird 2 и я приступил к новой игре.

Я решил заново сделать движок и начал это дело с проектирования в uml диаграммах. Я хотел сделать некоторые удобства и мне сложно было представить как это в коде реализовать, пока я не попробовал диаграммы. Это каркас над библиотеками.

uml игровой движок
uml игровой движок

Я сделал так, чтобы каждый шейдер был отдельным классом и создавался один раз. Каждый такой шейдер умеет работать только с определенным классом, в данном случае он умеет работать с классом Sprite. Такая гибкость дает возможность менять шейдеры для Sprite когда угодно, потому что Sprite не привязан к определенному шейдеру. Звуковую систему ещё не сделал, но как её сделать я знаю, просто пока в этом нет надобности.

Ссылка на github. https://github.com/xverizex/carcas_2d_engine

Загружаем ресурсы не по имени, а по номеру.

-2

А этот номер уже переходит в нужную строку, в зависимости от того для чего компилируется, для android или linux. Ресурс загружается единожды и потом просто передается ссылка на него. Если на сцене множество одинаковых спрайтов, то рисуются они одним и тем же ресурсом, только разные кадры.

Ещё я в этот движок не добавил в tools утилиту для перегона png картинок в ресурсы, но сделаю это позже.

Также сделал мультиязычность. Можно выбирать какой язык отображать, но это всё доступно на github странице, а я завершаю эту часть дневника на сегодня. Пока.