Об этом проекте
LittleJS — это легковесный HTML5-игровой движок с открытым исходным кодом, ориентированный на простоту и производительность. Он поставляется в виде небольшой JavaScript-библиотеки без зависимостей и включает широкий набор функций для разработки 2D-игр.
Основные возможности, описанные в README:
- Графика: гибридный рендеринг WebGL2 и Canvas2D, пост-обработка шейдеров в стиле Shadertoy, система частиц с визуальным редактором эффектов, текстурные листы спрайтов/анимаций во время выполнения, поддержка атласов TexturePacker и Aseprite, а также опциональный 3D-рендеринг через плагин Three.js.
- Аудио: воспроизведение файлов mp3, ogg и wave, процедурная генерация звука ZzFX без файлов ассетов, пространственное стерео-панорамирование.
- Ввод: обработка мыши, клавиатуры, геймпада и касаний, плюс настраиваемый экранный геймпад для мобильных устройств.
- Физика: аркадная физика с обработкой столкновений, коллизии тайловых карт и рейкастинг, опциональная интеграция Box2D v2.3.1 wasm, а также плагин поиска пути A* на основе сетки с опциональным сглаживанием.
- Гибкость: работает в современных браузерах и на мобильных устройствах, поддерживает TypeScript и ES-модули, предоставляет стартовый шаблон Vite и подходит для событий по написанию кода с ограничением размера, таких как JS13kGames. Лицензия MIT.
- Инструменты разработчика: живой браузер примеров с редактируемым исходным кодом, импорт уровней Tiled/JSON, отладочный оверлей и примитивный рендеринг, отслеживание медалей с поддержкой Newgrounds, а также система сборки на Node.js.
- Дружелюбность к ИИ: небольшой документированный API, предназначенный для хорошей работы с LLM, плюс отдельные шаблоны/подсказки для ИИ и игровой конструктор на основе ChatGPT.
Варианты начала работы включают установку npm-пакета `littlejsengine` или использование `degit` для создания стартового шаблона Vite. Минимальный пример показывает инициализацию движка с колбэками gameInit, gameUpdate, gameUpdatePost, gameRender и gameRenderPost.
Проект предоставляет несколько сборок (debug/release, module/non-module, минифицированные варианты), учебные пособия, включая прохождение Breakout и учебник по лыжной игре, краткую справочную таблицу и FAQ. Примеры включают живой браузер примеров, LittleJS Arcade с более чем 50 играми, более 60 однострочных демонстраций функций, а также конкретные демо для Breakout, головоломки match-3, платформера, Box2D, Three.js сайд-скроллера и платформера, стресс-теста и дизайнера системы частиц. В README также перечислены многочисленные игры сообщества, созданные с помощью движка, и ссылки на результаты игровых джемов.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.