Разработка приложений стала проще, мощнее и нагляднее
Привет, Хабр! Сегодня я хочу рассказать о своём проекте - "Game Engine 3", программной оболочке для создания двумерных игр и приложений.
Введение
Game Engine 3 - это инструмент для создания 2D-игр с физикой и анимацией. С открытым исходным кодом, интуитивным редактором визуального программирования на основе нодов и возможностями работы с графикой, физикой и анимацией, он подходит как для новичков, так и для профессионалов. Она позволяет писать приложения без написания кода с удобным и понятным интерфейсом. В этой статье разберем, что делает эту оболочку уникальной.
Техническая часть проекта
Для создания оболочки Game Engine 3 использовался язык программирования Python, а также язык Cython (который даёт возможность работать с python-подобным языком, при этом имея строго типизированные переменные, вследствие чего более высокую производительность).
Архитектура:
Игровой движок, который обеспечивает рендеринг спрайтов, обработку коллизий, физики и анимаций.
Оболочка, позволяющая создовать проекты.
Сайт, в котором находится документация по использованию оболочки.
Игровые движки — это сердце любой современной игры. Они определяют, насколько быстро и удобно разработчики смогут воплотить свои идеи в жизнь. Оболочка Game Engine 3 имеет собственный физический движок, в котором реализована проверка коллизий (соприкосновение) объектов, взаимодействие объектов между собой (возможность одним объектом передвигать другие). Система рендеринга использует возможности Pygame для отрисовки графики на экране. Спрайты и текстуры реализованы с помощью возможностей Pillow.
Оболочка имеет свой редактор объектов (изменение их параметров), сцен (возможность добавлять объекты и добавлять им определённые свойства) и функций (позволяет писать программы с помощью нодов).
На сайте поддержки проекта https://artyom7774.github.io можно найти информацию по оболочке, описание нодов и функций.
Загрузка и запуск программы
Оболочка предназначена для написания приложений на Windows (в эксплуатации) и Linux (в бета тесте). Скачать программу можно на сайте: https://artyom7774.github.io. Для установки распакуйте архив и запустите Game Engine 3.exe, при первом запуске установится Python и необходимые библиотеки.

Создание первого проекта
На начальном экране программы есть 3 вкладки меню: Файл, Проект и Помощь. Во вкладке файл можно создать и открыть проект, также создать проект из шаблона.

Настройка проекта и коллизий
После открытия проекта слева нас встречает вкладка с каталогом проекта. В файле project.cfg находятся основные настройки проекта: размер, название и иконка окна, установить. максимальное fps и tps, полноэкранный режим и начальную сцену. В файле collision.cfg можно установить коллизии разных групп объектов.

Файлы, объекты, сцены, функции
Программа позволяет создавать объекты, сцены и функции. В объектах можно изменять их параметры, настраивать хитбоксы, спрайты, анимации. Сцена позволяет добавлять объекты и установить объект, на котором будет привязана камера. Также функции - это редактор, написанный на нодах, позволяющий создавать различные алгоритмы.

Физика
Существует 2 типа объектов: статический и динамический. В параметрах динамических объектах есть скорость, сила прыжка, гравитация и сила торможения. Также у каждого объекта есть масса, которая используется для взаимодействия объектов между собой. Данные свойства позволяют делать хорошую физику и интересные игры.
Предполагается, что статические объекты не будут передвигаться и участвовать в физике

Анимация
Остановимся на анимации. В меню для редактирования анимации можно создавать группы. В каждой группе есть свои спрайты, которые будут проигрываться при анимации. А также есть настройки данной группы анимации: будет ли она повторяться, её скорость и будет ли анимация запускаться сразу же при запуске сцены.

Редактор на нодах
Остановимся на функциях, которые представлены в качестве редактора, где можно создавать ноды (узлы) и соединять их входы и выходы для написания различных алгоритмов. Например, можно сделать, чтобы при начале игры выводился в консоль текст "Hello World!". Ноды разделены на категории: события, циклы, работа с текстом, числами, логика, объекты, анимации, другое, работа со списками и словарями. На данный момент реализовано более 50 нодов. Также следует отметить нод, позволящий писать код на Python.

Созданные проекты
С помощью оболочки Game Engine 3 реализованы несколько простых проектов (Google Dino, Змейка и Платформер), как демонстрация возможностей продукта. Данные примеры опубликованы в отдельном репозитории на github.
Преимущества
Возможность создавать игры и приложения без написания текстового кода.
Удобный редактор и простой интерфейс, понятные новичкам.
Сайт, на котором размещена информации про движок и гайд для создания первого проекта.
Планы на будущее
Возможность написания шейдеров.
Возможность создавать проекты на Linux, IOS, Android, Web.
Новые ноды для увеличения функциональности редактора.
Возможность создавать спрайты внутри движка.
Заключение
Game Engine 3 — это не просто инструмент, а экосистема для быстрой разработки 2D‑игр. С его нодовым редактором, мощной физикой и гибкой анимацией, он сокращает время на рутину, позволяя сосредоточиться на творчестве. Попробуйте движок в действии — возможно, это ваш новый фаворит.
Сайт проекта
Github репозиторий
Сообщество на Discord

Спасибо за внимание!
Если у вас есть вопросы — делитесь ими в комментариях!