Продолжаем делать игры
Начнем с основных требований, это кратко: небольшие легковесные 2D проекты (на самом деле не только 2D, но напишем так), а также кроссплатформенность, как минимум Win и MacOS.
Чтож, приступим. Немного "архитектуры". У нас с фантазией все в порядке, поэтому базовый класс назовем GAME. Он будет принимать параметры игры, отслеживать её состояние и рендерить. Немного кода для тех, кому интересно (ну и заметка от этого коуче выглядит):
Но надо же что-то рисовать! Скажете Вы, и это верно. Следующей гранью нашего бриллианта станет класс SPRITE. Он будет базовым и его функционал будет сводиться к загрузке изображений, проигрыванию анимации, размещении в конкретном месте на экране и масштабировании. Ещё немного кода для крутости:
В общем в основу нашего рендера лягут 3 базовых слоя: фон, который не будет реагировать на коллизии, акторы, в число которых войдут все подвижные и интерактивные игровые объекты, а сверху все накроется кнопками и текстом (UI). Не возможно без картинки, так что вот:
Собираем наше чудо и получаем прелестного котика из интернета на романтично-синем фоне:
а, может, лучше больше котиков?
Дальше - больше: запустим анимацию и перейдем к созданию стандартных классов для конструирования игры)
Я правильно понимаю, что будут только картинки, а шейдеров не будет?
Вообще никакой пост обработки изображений на GPU, как во времена Бориса Годунова, или когда там такие игры делали?
Сори, как-то я промазал мимо кнопки ответить, ответ на коммент ниже)
Привет, я не слышал про шейдеры в PyGame - сама библиотека для максимально простых проектов, по крайнем мере мне так кажется. Тут скорее мезозой, но это позволяет без особых навыков потестировать разные идеи. Закончу веселье тут, попробую OpenGL - но это явно больше времени потребует)
Ненене, не лезь туда. Лучше ищи надстройку над OpenGL.
Эта либа - она для создания тулов. А тулы для создания игр. Хочешь игры, ищи ченить выше уровнем.