Как стать автором
Обновить

Game Engine 3 — оболочка для визуального программирования игр на Python (от идеи до реализации)

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров5.9K

Разработка приложений стала проще, мощнее и нагляднее


Привет, Хабр! Сегодня я хочу рассказать о своём проекте - "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.

Программа для написания "Hello World!"
Программа для написания "Hello World!"

Созданные проекты

С помощью оболочки Game Engine 3 реализованы несколько простых проектов (Google Dino, Змейка и Платформер), как демонстрация возможностей продукта. Данные примеры опубликованы в отдельном репозитории на github.

Преимущества

  • Возможность создавать игры и приложения без написания текстового кода.

  • Удобный редактор и простой интерфейс, понятные новичкам.

  • Сайт, на котором размещена информации про движок и гайд для создания первого проекта.

Планы на будущее

  • Возможность написания шейдеров.

  • Возможность создавать проекты на Linux, IOS, Android, Web.

  • Новые ноды для увеличения функциональности редактора.

  • Возможность создавать спрайты внутри движка.

Заключение

Game Engine 3 — это не просто инструмент, а экосистема для быстрой разработки 2D‑игр. С его нодовым редактором, мощной физикой и гибкой анимацией, он сокращает время на рутину, позволяя сосредоточиться на творчестве. Попробуйте движок в действии — возможно, это ваш новый фаворит.

Сайт проекта
Github репозиторий
Сообщество на Discord

Платформер с генерацией карты. Сделано в Game Engine 3
Платформер с генерацией карты. Сделано в Game Engine 3

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

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

Теги:
Хабы:
+14
Комментарии3

Публикации

Истории

Работа

Data Scientist
46 вакансий

Ближайшие события

19 марта – 28 апреля
Экспедиция «Рэйдикс»
Нижний НовгородЕкатеринбургНовосибирскВладивостокИжевскКазаньТюменьУфаИркутскЧелябинскСамараХабаровскКрасноярскОмск
24 апреля
VK Go Meetup 2025
Санкт-ПетербургОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань
14 мая
LinkMeetup
Москва
5 июня
Конференция TechRec AI&HR 2025
МоскваОнлайн
20 – 22 июня
Летняя айти-тусовка Summer Merge
Ульяновская область