ImpactJS – how classes work

As you know, in Javascript there is no traditional class structure as on classical OOP languages.

So, how does ImpactJS structures its code? Well, it has a pseudo-class  object, which is the basis for every class we create on the game.

This is based on John Resig’s simple JavaScript inheritance code

Here is an example of how it looks like:

// Create a new class "Player"
var Player = ig.Class.extend({
 name: '',
 init: function( name ) { = name;

// Instantiate an object of the Player class
var e = new Person('Nuno');
console.log(; // logs Nuno

All classes that are created with .extend() will also have an .extend() method that can be used to create other subclasses.

Inside of extended classes, we can use .this and .parent for scope. And very shortly, this is how ImpactJS structures its code in classes almost as a traditional OOP language.

Impactjs a JavaScript Game Engine

Hi all,

My new adventure is development of HTML5 and Javascript games.

After reading a lot about HTML5 and Javascript games I understood that the best thing would be to use a game engine framework.

The question is which one would be the best choice? With the proliferation of Javascript game engines this is not an easy task. So I started with CraftyJS. I think this is a good choice for someone that is starting with game development but, I felt that it lacks a few things. So I kept with my research and testing and I opt for ImpactJS. Even though it is not free, I felt it was better for me. Why did I choose it:

  • Good support
  • Lot of open source games
  • Includes a game level editor
  • Includes a publishing tool for iOS App Store with native-like performance
  • Books with source code
  • Well maintained and updated
  • Good community

And for these reason it was my choice for future game development. I will keep posting whenever I have news on this.