The core of JackyJS consists of one large GAME object with a ton of properties and methods. In a nutshell, GAME is the root global namespace everything in JackyJS operates from. This means everything is self-contained and will not pollute the global window object, also preventing any interference with already existing objects on your site. Obviously the GAME object is responsible for the game engine loop, and it contains many high level properties, methods, and events.


The global Entity object is a property of GAME, with all the nuts and bolts that make Sprites, Backgrounds, Text, etc.. do all the cool things you expect. Some classes such as Sprite, Background, and Text share the same properties, methods, and events from the Entity object. The Entity object is never directly accessed, but it's worth noting that virtually every object in the game - capable of instantiation in a Room - is derived from Entity.