GMP JavaScript Game Engine

GMP is a fast, free, JavaScript game engine, dual licenced under GPLv2 and MIT licenses. It's small, simple, and easy to learn and use.

Getting Started


GMP is great for making sprite-based, 2-D games, and it can easily power most retro-style arcade game designs. It is also well suited to making puzzles such as sudoku or gogopop. Check out the games on this site to see what it can do.

Professional game developers will find GMP useful for making rapid prototypes during their game development cycle. Set up is quick, and changes can be viewed by anyone with a browser.

Game hobbyists will find GMP easy to learn and hack. It's simple enough to use as a learning tool, and powerful enough to run the back-end of production-quality games.

Plus, it's easy to share your games: just put them in a web page.

You'll need to be familiar with JavaScript, HTML and CSS to use GMP. Experience making games is an asset, but is not essential to getting started.

GMP features

GMP builds upon the architecture used by your web browser to build and manage dynamic HTML pages. Many game coding tasks are quite similar to making a dynamic web page.

The API also provides a wrapper around many web page architecture features. This changes the way events and UI rendering are handled, and makes them more game-engine oriented.

GMP provides the following:

Sadly, there are some things that GMP doesn't do:


GMP began in December, 2006, as the back-end code for my browser-based pinball game puckerball, and quickly developed into a standalone engine.

The engine changed frequently in its first two years, becoming simpler and more streamlined, focusing on using readily available, free and open resources: HTML, JavaScript, and CSS.