High-performance frameworks and libraries for building interactive 2D and 3D browser-based games using WebGL.
This project is a WebGL 3D game engine and comprehensive suite of tools for rendering high-performance 3D graphics and interactive scenes in the browser using WebGL and WebGPU. It provides a dedicated WebXR framework for building augmented and virtual reality experiences that run directly in a web browser. The engine includes a specialized Gaussian splatting renderer for displaying 3D point-cloud data to create photorealistic environmental captures. It utilizes a glTF asset pipeline to load and stream compressed 3D models and textures for efficient asset delivery. The system covers real-time rigid body physics simulation, a spatial audio system for 3D positional sound effects, and unified input processing for keyboards, touchscreens, and gamepads. It also provides tools for application logic scripting and state-based animation systems.
This is a comprehensive, high-performance 3D game engine that natively supports WebGL and WebGPU, featuring a full suite of tools including a scene graph, asset pipeline, physics, and audio integration.
PixiJS is a hardware-accelerated 2D rendering engine and HTML5 canvas library. It functions as a web-based graphics engine that utilizes WebGL to draw interactive digital content, shapes, text, and images in the browser. The engine provides a specialized pipeline for high-performance 2D graphics, featuring a scene-graph hierarchy for organizing visual objects and a system for dynamic texture management. It includes capabilities for applying visual effects through masks, filters, and blend modes. The project covers broad functional areas including digital asset loading, user input processing for mouse and multi-touch interactions, and the rendering of scalable vector primitives and typography. Its capabilities extend to web game development, interactive data visualization, and the creation of cross-platform web user interfaces.
PixiJS is a high-performance 2D rendering engine that provides essential game development features like a scene graph, asset loading, and input handling, though it lacks built-in physics and audio systems found in full-stack game engines.
EaselJS is a JavaScript library for creating interactive 2D graphics and animations using the HTML5 Canvas element. It functions as a 2D animation framework, a canvas scene graph manager, and an interaction wrapper for detecting and responding to mouse and touch events. The library features a rendering pipeline that utilizes WebGL to increase the drawing performance of bitmap and cached content. It organizes visual elements into a hierarchical display list, allowing nested groups of 2D graphics objects to be transformed and animated as single units. Its capabilities cover the rendering of vector graphics and text, as well as the management of sprite sheets for frame-based animations. The system coordinates these elements through a centralized tick manager to synchronize time-based updates and animations.
EaselJS is a specialized 2D graphics and animation library that provides a scene graph and interaction handling for browser-based games, though it lacks the built-in physics and audio systems found in full-featured game engines.
Phaser is a comprehensive 2D game engine designed for building high-performance, interactive content that runs directly in web browsers. At its core, the engine utilizes a fixed-timestep simulation loop that decouples game logic from variable browser frame rates, ensuring consistent behavior across diverse hardware. It provides a robust framework for managing asset loading, physics, input, and audio, enabling the creation of complex, responsive visual experiences for both desktop and mobile devices. The engine distinguishes itself through a high-performance graphics pipeline that automatically switches between WebGL and Canvas rendering to maintain compatibility and speed. This pipeline is supported by an efficient sprite batching mechanism that minimizes CPU-to-GPU communication, alongside a hierarchical scene graph that organizes objects for optimized spatial transformations. Developers can extend the engine’s core functionality through a decoupled, component-based plugin architecture, allowing for the integration of custom systems without modifying the underlying source code. Beyond its core rendering and simulation capabilities, the engine includes advanced visual features such as custom shader support, dynamic lighting, and large-scale tilemap rendering. It also provides a unified visual filter system for applying masks and image processing effects. To support the development lifecycle, the engine offers comprehensive TypeScript type definitions for static analysis and a browser-based sandbox environment for rapid iteration.
Phaser is a comprehensive 2D game engine that provides a complete suite of tools including WebGL rendering, scene graph management, asset pipelines, physics, input handling, and audio support, making it a flagship solution for browser-based game development.
Pixi.js is a high-performance 2D graphics engine used to render interactive animations, sprites, and visual effects in web browsers. It functions as a WebGL 2D rendering engine and HTML5 graphics library designed to produce high-performance two-dimensional visuals. The project operates as a 2D sprite framework and a web-based visual effects engine, providing tools to apply filters, blend modes, and masks to real-time graphics. It also serves as an interactive web canvas API for handling multi-touch and mouse input to build responsive graphical user interfaces. The framework covers a broad set of capabilities, including asset management for external media, the rendering of text and geometric shapes, and dynamic texture management. It also provides systems for processing visual effects and handling user input.
This is a high-performance 2D rendering engine that provides a robust scene graph and asset management, making it a capable foundation for web-based game development despite its focus on 2D rather than 3D graphics.
Howler.js is a JavaScript library that provides a unified interface for managing audio playback across web browsers. It functions as a cross-browser audio engine, abstracting complex browser audio APIs into a consistent developer experience while ensuring reliable performance through automatic fallback mechanisms. The library distinguishes itself by offering specialized tools for spatial audio and efficient asset management. It includes a spatial audio framework that maps three-dimensional vectors to audio nodes for immersive sound positioning, alongside an audio sprite manager that allows developers to group multiple clips into a single file to reduce network requests. These features are supported by global state management, which tracks active sound instances to maintain consistent volume control and prevent resource leaks. The project covers a broad range of audio capabilities, including precise playback control, synchronization for interactive media, and support for legacy browser environments via standard media element fallbacks. It is designed to handle the requirements of web-based games and interactive applications that demand responsive, multi-source audio environments.
This is a specialized audio management library rather than a full game engine, serving as a building block you would integrate into a game engine to handle sound playback and spatial audio.
PixiJS is a high-performance 2D rendering engine designed for building interactive visual content and browser-based games. It provides a hardware-accelerated graphics library that leverages WebGL and WebGPU backends to execute complex scenes, utilizing a hierarchical scene graph to manage object transformations and display order. The project distinguishes itself through a sophisticated architecture that decouples rendering logic from hardware APIs, allowing for consistent performance across diverse browser environments. It features a robust, asynchronous asset pipeline that handles loading, caching, and resolution of media resources, alongside a reactive property system that ensures efficient updates within the scene graph. Developers can extend the engine's core functionality through a modular plugin system and custom environment adapters, enabling usage in non-standard contexts like server-side rendering or background web workers. Beyond its core rendering capabilities, the engine includes a comprehensive suite of tools for interaction handling, visual effects, and performance optimization. It supports advanced features such as batch-based GPU rendering, automated culling, and container texture caching to minimize overhead in high-density scenes. The framework also provides built-in support for text rendering, skeletal animations, and declarative UI layouts, making it suitable for both data visualization and complex interactive interfaces. The library is implemented in TypeScript and offers extensive documentation for its API, including support for custom build configurations to optimize final bundle sizes.
PixiJS is a high-performance 2D rendering engine that provides the core graphics, scene management, and asset pipeline required for browser-based game development, though it relies on external libraries for physics and audio integration.
JoltPhysics is a high-performance C++ physics engine designed for multi-threaded simulation of 3D rigid bodies and soft bodies. It serves as a deterministic simulation framework, ensuring identical results across different platforms and architectures to support networked synchronization. The engine distinguishes itself through a focus on concurrent execution across multiple CPU cores to handle large numbers of active bodies. It provides specialized systems for vehicle physics, including wheeled and tracked models, as well as soft body physics for deformable objects and cloth. The simulation surface covers broad collision detection, including ray casting and continuous collision detection to prevent tunneling. It includes complex dynamics such as buoyancy, surface friction, and joint-based constraint modeling for ragdolls and linked bodies. Stability in large environments is maintained through double-precision coordinate offsetting. State management capabilities include physics data serialization and snapshot-based rollbacks for simulation synchronization.
This is a specialized C++ physics simulation library rather than a comprehensive web-based game engine, meaning it lacks the rendering, asset pipeline, and audio systems required for browser-based game development.
Bullet3 is a professional physics simulation engine designed for calculating rigid body, soft body, and collision dynamics within 3D environments and robotics applications. It functions as a computational framework for determining complex geometric intersections and contact manifolds between objects in simulated space. The library distinguishes itself through a distributed rendering framework that scales heavy graphical workloads and scene generation tasks across large clusters of machines. This capability enables the production of massive datasets by distributing complex scene generation across thousands of connected systems to minimize total completion time. Beyond its core simulation capabilities, the project serves as a synthetic data generator for computer vision research. It automates the creation of photo-realistic video scenes and exports detailed metadata, including instance segmentation masks, depth maps, and optical flow data, to provide ground truth for training and validating machine learning models.
This is a specialized C++ physics and simulation engine for robotics and synthetic data generation, rather than a browser-based game engine for JavaScript or TypeScript.
Superpowers is a browser-based game development engine and collaborative integrated development environment. It provides a unified workspace for building two-dimensional interactive experiences, allowing users to manage code, assets, and scene logic directly within a web browser without the need for local compilers or heavy desktop software. The platform distinguishes itself through a modular, component-based scripting architecture where game objects are defined by attached logic and visual properties. It supports real-time synchronization, enabling multiple developers to work on the same project simultaneously. This environment is designed to function as an educational tool, teaching programming concepts through the integrated creation of graphics, audio, and logic. The system includes a comprehensive build pipeline that handles static-site markdown compilation and file-system-based routing. It automates the development workflow by resolving dependencies at build time, injecting reusable UI components, and managing asset pipelines to ensure efficient resource delivery.
Superpowers is a browser-based game engine that provides a complete integrated development environment for building 2D games, though it is more focused on its collaborative IDE workflow than on providing a low-level graphics library for custom engine development.