GMP Game Engine Downloads

Welcome to the GMP javascript game engine download page. The engine code is provided under the MIT and GPLv2 licenses.

If you have a suggestion for a bug fix or code improvement, please send me the details via the contact form. Your feedback is appreciated!

Code is available in uncompressed and compressed formats. Use the uncompressed version for development, and the compressed (min.js) version for use in production.

The uncompressed code file is written to be readable, but doesn’t contain in-line documentation. Use the API Documentation as a companion to the code, as it contains a complete description and explanation of all GMP objects, variables and functions.

Version: 1.7.4 (Current) Released: 2010.10.31

Download Links

Release Notes

This release is minor. Several missing variable declarations have been added, fixing the scope of those variables. As well, G.makeGob() has been changed, and a new variable G.medialURL has been added.

G.makeGob() behaviour has been changed to destroy and replace any existing Gob with the same ID. Previously, G.makeGob() did nothing if the ID was already in use (the function simply returned if it detected the id). This change allows developers to replace Gobs without the need to run deleteGob() first.

The new variable G.mediaURL provides a standard way to provide the URL path to media files like images. See the updated G documentation for details on how to use it. G.mediaURL is not required for use in games, and is for convenience only.

Version: 1.7.3 Released: 2009.07.28

Download Links

Release Notes

This release adds the G.deleteGob(id) method. This function will safely delete ‘simple’ Gobs, so that the id can be reused. Simple Gobs are those which:

  • Have no events attached to the Gob tag (you would have added them manually, GMP never adds events to Gobs directly). If you added events (eg, onclick, onmousedown, etc.) to the Gob’s tag, then you must set them to NULL before calling G.deleteGob(id).
  • Have no child Gobs. If you want to delete a Gob with child Gobs (eg, a viewport, layer or composite sprite), then delete the child Gobs first (go ahead and use G.deleteGob(id) to delete the children). The reason G.deleteGob(id) doesn’t to this automatically, is that there are many ways for Gobs to be interconnected by the developer, many more ways than the function could reasonably anticipate!
  • Have only standard references. All Gob references must be deleted for the browser to perform garbage collection. G.deleteGob(id) deletes references to Gobs inside G.O, G.CO, G.B[].O, G.O[].CO (empty parentheses means the entire set is searched for references). If you have other references to the Gob, it is highly recommended that you delete them as well after/before you run G.deleteGob(id).

Thanks to Ray for noticing this method was missing!

Version 1.7.2 Released: 2009.05.09

Download Links

Release Notes

Version 1.7.2 is the first public release of the GMP game engine source code. There is no change list for this release.