Phaser supports HTML Canvas, WebGL, desktop, and mobile development. Based on browser support, Phaser has the ability to automatically shift between canvas and WebGL depending on platform support. It uses the Pixi.js library for rendering and allows games to be compiled to iOS, Android, or native desktop apps.
Phaser is developed specifically to work well with TypeScript and also comes with the support of three main physics engines. It includes particle effects, WebGL shaders, and has an incredible amount of learning resources such as tutorials, code examples, and open-source projects through which one can find assistance.
Babylon is billed as a web-rendering engine but comes complete with all the features one would expect from a full-fledged game engine. Such features as WebGL support, lights, cameras, mesh support, animations, etc. are standard issues with BabylonJS. Building on top of oimo.js, ammo.js, and cannon.js, BabylonJS features a robust physics engine to drive the demands of modern gameplay.
PixiJS is billed as one of the fastest HTML5 visualization frameworks on the market today. It’s free, open-source, and lightweight—all the hallmarks of a framework with deep industry support. Fortune 500 companies rely on the power of PixiJS to create the stunning 2D web graphics one would expect from bottomless marketing budgets and R&D efforts.
PixiJS supports multiple platforms, provides high-level APIs to the WebGL API, supports HTML canvas as a fallback, and caters to a wide range of devices and platforms. PixiJS is a render engine only and, as such, should not be expected to drive a full-fledged modern gaming application. Other frameworks—such as Phaser—use PixiJS as their inbuilt render engine.
Three has plenty of example code floating around the Internet—a product of its massive scale of support. It features Physical Based Rendering (PBR) materials, comes with a ton of excellent documentation, and is generally regarded as “high performance.” Three falls short when it comes to having a robust rendering pipeline, being compared against full-blown game engines, or having its APIs compared to more granular and complex systems.
PlayCanvas seeks to offer to browser-based development what Unreal Engine and Unity have offered to PC and Mobile gaming: a robust engine with robust developer and device support. PlayCanvas is billed as a “Web first game engine” and provides users with an in-browser IDE and game development experience. It’s best to think of PlayCanvas as a development application rather than a simple framework.
For those coming from a non-web development background, such as 3D artists, PlayCanvas will seem very familiar. One might mistake it for the user interface of a 3DS Max, Maya, or Cinema4D type program. It offers plenty of developer-focused features such as real-time collaboration and device-specific testing technology. Overall PlayCanvas is a relatively new game engine but stands to be one of the first all-around enterprise-grade browser-based game engines.