JavaScript game programming can be done with plain JavaScript, but it can be made easier and faster with tools and frameworks. These are libraries or platforms that provide ready-made features and functions for game development. Popular and useful tools and frameworks include Phaser, a framework for creating 2D games using HTML5 and WebGL; Three.js, a library for creating 3D games using WebGL; Pixi.js, a library for creating 2D games using WebGL or Canvas; Babylon.js, a framework for creating 3D games using WebGL; and P5.js, a library for creating artistic and creative games using Canvas. Each of these tools has its own set of features such as physics, animations, audio, input, scenes, meshes, animations, collisions, physics, shapes, colors, images, sounds and more.