Sobre o projeto
LittleJS é um motor de jogos HTML5 leve e de código aberto, focado em simplicidade e desempenho. Ele é distribuído como uma pequena biblioteca JavaScript sem dependências e inclui um amplo conjunto de recursos para desenvolvimento de jogos 2D.
Recursos principais descritos no README:
- Gráficos: renderização híbrida WebGL2 e Canvas2D, shaders de pós-processamento no estilo Shadertoy, sistema de partículas com designer de efeitos visuais, folhas de textura/animação de sprites em tempo de execução, suporte a atlas TexturePacker e Aseprite, e renderização 3D opcional por meio de um plugin Three.js.
- Áudio: reprodução de arquivos mp3, ogg e wave, geração procedural de som ZzFX sem arquivos de assets e panning estéreo espacial.
- Entrada: manipulação de mouse, teclado, gamepad e toque, além de um gamepad na tela personalizável para dispositivos móveis.
- Física: física arcade com tratamento de colisões, colisão de tilemap e raycasting, integração opcional com Box2D v2.3.1 via wasm e plugin de pathfinding A* baseado em grade com suavização opcional.
- Flexibilidade: funciona em navegadores modernos e em dispositivos móveis, suporta TypeScript e módulos ES, fornece um modelo inicial Vite e é adequado para eventos de size-coding como o JS13kGames. É licenciado sob MIT.
- Ferramentas de desenvolvedor: navegador de exemplos ao vivo com código-fonte editável, importação de níveis Tiled/JSON, overlay de depuração e renderização primitiva, rastreamento de medalhas com suporte ao Newgrounds e sistema de build em Node.js.
- Amigável para IA: uma API pequena e documentada, projetada para funcionar bem com LLMs, além de modelos/prompts de IA separados e um criador de jogos baseado em ChatGPT.
As opções de introdução incluem instalar o pacote npm `littlejsengine` ou usar `degit` para criar o projeto inicial Vite. Um exemplo mínimo mostra a inicialização do motor com os callbacks gameInit, gameUpdate, gameUpdatePost, gameRender e gameRenderPost.
O projeto fornece múltiplas builds (debug/release, módulo/não-módulo, variantes minificadas), tutoriais incluindo um passo a passo de Breakout e um tutorial de jogo de esqui, uma folha de referência rápida e um FAQ. Os exemplos incluem um navegador de exemplos ao vivo, o LittleJS Arcade com mais de 50 jogos, mais de 60 demos de recursos em arquivo único e demos específicas para Breakout, um quebra-cabeça match-3, um jogo de plataforma, Box2D, side-scroller e plataforma com Three.js, um teste de estresse e um designer de sistema de partículas. O README também lista vários jogos da comunidade feitos com o motor e links para resultados de game jams.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.