Перевод статьи Deki Engine – ESP32 gets an open source Unity-style editor and C++ 2D game engine — Jean-Luc Aufranc, CNX Software.

Deki Engine — открытый модульный движок на C++ с визуальным редактором в духе Unity, рассчитанный на встраиваемые устройства. Пока он оптимизирован именно под платы на ESP32: LilyGO T-Deck Plus, T-Display S3 AMOLED, а скоро и Elecrow CrowPanel Advanced 7″ на ESP32-P4.

Редактор работает под Windows и Linux и включает компилятор для 2D-графики, весь код опубликован под лицензией Apache 2.0 на GitHub. На время разработки проект можно запускать и на десктопе через SDL3 — это заметно удобнее, чем прошивать плату после каждого изменения.

Рабочий процесс#

Схема максимально простая:

  • собираете сцены визуально: спрайты, текст, частицы, тайлмапы, машины состояний, tween-анимации;
  • выбираете плату в панели Build редактора;
  • прошиваете её.

Тот же проект запускается на десктопе через SDL3 или вовсе headless, без рендера — например, для тестов. Заявленная производительность — 60 FPS на ESP32-S3: демо записано на плате LilyGO T-Display S3 Touch (она же на обложке поста). Есть и видео с демонстрацией самого редактора.

Пакеты и поддержка железа#

Deki Engine построен вокруг пакетов. Аппаратные пакеты:

  • LilyGO T-Deck Plus — поддержка дисплея, тачскрина, клавиатуры, трекбола, SD-карты, GPS и LoRa (SX1262);
  • T-Display S3 AMOLED (и, судя по демо, также T-Display S3 Touch);
  • CrowPanel Advanced 7″ ESP32-P4 — поддержка в пути. На ESP32-P4 сейчас появляется всё больше любительских проектов — например, мы недавно разбирали самодельную метеостанцию с 10,1-дюймовым экраном на этом чипе.

Из остальных пакетов: программный 3D-проход рендера, IMU, RTC, звук через I2S, Wi-Fi, BLE и импортёр карт из редактора Tiled. Игры, кроме того, могут запускаться под Tactility OS для ESP32.

Редактор и детали реализации#

Окно визуального редактора Deki Engine со сценой

Deki Editor — сцены собираются мышью, как в Unity

Поля инспектора в редакторе генерируются с помощью статической рефлексии C++26. Сам редактор, документация и сайт доступны на английском, упрощённом китайском, японском и корейском языках.

Подробности описаны в документации, но, признаётся автор CNX Software, по ней сложно ориентироваться — всё разбросано. Deki Engine написал Хайро Бальдан (Jai), геймдевелопер из Испании, в качестве побочного проекта. Судя по репозиториям на GitHub, все или почти все коммиты сделаны в соавторстве с Claude — проект сильно опирается на ИИ, но он рабочий: автоматический анализ кода оценивает его качество как высокое, особенно для хобби-проекта одного человека.

Стоит ли пробовать#

Для 2D-разработки игр на платах с ESP32 движок выглядит любопытно — игр на микроконтроллерах мы видим не так много: в прошлый раз это был интерфейс ЭЭГ на ESP32, которым управляют в игре, а не сама игра. Deki Engine вдобавок поддерживает программную растеризацию 3D-графики, но насколько плавно она пойдёт именно на ESP32 — вопрос открытый.

Если собственная игра — не ваша тема, на тех же платах нормально живёт и обычная разработка: например, прошивки на ESP-IDF удобно писать прямо в VS Code.