LittleJS теперь смешивает 2D и 3D на одном canvas и умеет редактировать уровни
Браузерный игровой движок LittleJS выпустил крупное обновление. В нём появились собственный трёхмерный рендерер, встроенные редакторы уровней для двухмерных и трёхмерных сцен, а также инструменты для работы с нейросетями. Новая система рендеринга умеет совмещать 2D и 3D на одном canvas.
Трёхмерные объекты работают в общем игровом цикле и используют те же механизмы физики, дочерних объектов и таймеров, что и двухмерные. Поверх трёхмерных сцен можно размещать двухмерные интерфейсы. Движок поддерживает модели в форматах OBJ и glTF, рельеф по картам высот, карты теней, отражения, пользовательские шейдеры и цветное освещение.
Это позволяет создавать достаточно сложные сцены без перехода на отдельный WebGL-конвейер. В двухмерной части добавили динамическое освещение, параллаксные фоны и платформы, сквозь которые персонаж может прыгать снизу и приземляться сверху. Такие платформы полезны для классических платформеров и аркад.
Для сцен с большим количеством объектов ускорили обнаружение коллизий. Это важно, когда на экране одновременно находится много врагов, пуль или элементов окружения. Для разработки с помощью нейросетей появился LittleJS AI Toolkit.
Он включает шаблоны, инструкции для агентов и плагины для Claude Code и ChatGPT. Благодаря этому модели могут быстрее подключаться к задачам движка и генерировать подходящие фрагменты кода Расширение ChatGPT в Chrome теперь видит ваши вкладки и выполняет поручения прямо в браузере. Редактор уровней работает в отладочной сборке игры.
Можно приостановить игру, отредактировать сцену и тут же продолжить. Это удобно для быстрой итерации над дизайном. Поддерживаются отмена действий, префабы и автоматические сохранения.
Разработчик не потеряет изменения при случайном закрытии вкладки. Редактор можно дополнять собственными инструментами и типами объектов. Это делает его гибким для разных жанров и проектов.
Двухмерные карты сохраняются в формате Tiled JSON. Такой подход упрощает обмен данными с другими редакторами и инструментами. Код LittleJS открыт и распространяется по лицензии MIT.
Движок можно свободно использовать в коммерческих и личных проектах. В итоге LittleJS становится более универсальной средой для быстрых браузерных игр: можно совмещать плоские и объёмные сцены, редактировать уровни прямо во время запуска и подключать нейросетевые инструменты, не покидая canvas.